sk_bound_dev_if
s->sk->sk_bound_dev_if = dev->netdev->ifindex;
s->sk->sk_bound_dev_if = ndev->ifindex;
s->sk->sk_bound_dev_if = ndev->ifindex;
fl4->flowi4_oif = sk->sk_bound_dev_if;
fl6->flowi6_oif = sk->sk_bound_dev_if;
flowi4_init_output(fl4, sk->sk_bound_dev_if, sk->sk_mark, 0,
ifindex = sock4->sk->sk_bound_dev_if;
ifindex = sock6->sk->sk_bound_dev_if;
vs->sk->sk_bound_dev_if == ifindex)
return inet_sk_bound_dev_eq(net, READ_ONCE(sk->sk_bound_dev_if), dif,
return inet_sk_bound_dev_eq(net, READ_ONCE(sk->sk_bound_dev_if), dif,
int bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
sk->sk_bound_dev_if);
ipcm->oif = READ_ONCE(inet->sk.sk_bound_dev_if);
flowi4_init_output(fl4, sk->sk_bound_dev_if, READ_ONCE(sk->sk_mark),
flowi4_update_output(fl4, sk->sk_bound_dev_if, fl4->daddr,
int bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
BUILD_BUG_ON(sizeof_field(struct sock, sk_bound_dev_if) != 4);
offsetof(struct sock, sk_bound_dev_if));
offsetof(struct sock, sk_bound_dev_if));
if (sk->sk_bound_dev_if)
oif = sk->sk_bound_dev_if;
v.val = READ_ONCE(sk->sk_bound_dev_if);
if (sk->sk_bound_dev_if && !ns_capable(net->user_ns, CAP_NET_RAW))
WRITE_ONCE(sk->sk_bound_dev_if, ifindex);
int bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
if (sk->sk_bound_dev_if)
dev = dev_get_by_index(net, sk->sk_bound_dev_if);
sk->sk_bound_dev_if = dev->ifindex;
if (!sk->sk_bound_dev_if)
dev = dev_get_by_index(sock_net(sk), sk->sk_bound_dev_if);
if (!sk->sk_bound_dev_if ||
sk->sk_bound_dev_if == dev->ifindex) {
rt = ip_route_connect(fl4, daddr, 0, sk->sk_bound_dev_if,
tb_id = l3mdev_fib_table_by_index(net, sk->sk_bound_dev_if) ? : tb_id;
oif = sk->sk_bound_dev_if;
sk->sk_bound_dev_if != udp_cfg->bind_ifindex)
nla_put_s32(msg, FOU_ATTR_IFINDEX, sk->sk_bound_dev_if))
newsk->sk_bound_dev_if = ireq->ir_iif;
bound_dev_if2 = READ_ONCE(sk2->sk_bound_dev_if);
if (!sk->sk_bound_dev_if || !bound_dev_if2 ||
sk->sk_bound_dev_if == bound_dev_if2) {
entry.ifindex = READ_ONCE(sk->sk_bound_dev_if);
r->id.idiag_if = READ_ONCE(sk->sk_bound_dev_if);
if (!inet_sk_bound_dev_eq(net, sk->sk_bound_dev_if, dif, sdif))
score = sk->sk_bound_dev_if ? 2 : 1;
int dif = sk->sk_bound_dev_if;
const int sdif = sk->sk_bound_dev_if;
const int dif = sk->sk_bound_dev_if;
sk2->sk_bound_dev_if == sk->sk_bound_dev_if &&
tw->tw_bound_dev_if = sk->sk_bound_dev_if;
(!sk->sk_bound_dev_if ||
sk->sk_bound_dev_if == dev->ifindex)) {
sk->sk_bound_dev_if = arg->bound_dev_if;
if (sk->sk_bound_dev_if && midx != sk->sk_bound_dev_if)
if (sk->sk_bound_dev_if &&
mreq.imr_ifindex != sk->sk_bound_dev_if &&
midx != sk->sk_bound_dev_if)
fl4.flowi4_oif = sk ? sk->sk_bound_dev_if : 0;
bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
tb_id = l3mdev_fib_table_by_index(net, sk->sk_bound_dev_if) ? : tb_id;
if (!dev && sk->sk_bound_dev_if) {
dev = dev_get_by_index_rcu(net, sk->sk_bound_dev_if);
sk->sk_bound_dev_if = addr->sin6_scope_id;
int dif = sk->sk_bound_dev_if;
sk->sk_bound_dev_if = dif;
sk->sk_bound_dev_if);
return raw_sk_bound_dev_eq(net, READ_ONCE(sk->sk_bound_dev_if),
if (sk->sk_bound_dev_if)
sk->sk_bound_dev_if) ? : tb_id;
oif = sk->sk_bound_dev_if;
flowi4_init_output(fl4, sk->sk_bound_dev_if, READ_ONCE(sk->sk_mark),
sk->sk_bound_dev_if);
newsk->sk_bound_dev_if);
int bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
addr_sk->sk_bound_dev_if);
addr_sk->sk_bound_dev_if);
sk->sk_bound_dev_if, IPPROTO_TCP, orig_sport,
arg.bound_dev_if = sk->sk_bound_dev_if;
BUILD_BUG_ON(offsetof(struct sock, sk_bound_dev_if) !=
(!sk2->sk_bound_dev_if || !sk->sk_bound_dev_if ||
sk2->sk_bound_dev_if == sk->sk_bound_dev_if) &&
(!sk2->sk_bound_dev_if || !sk->sk_bound_dev_if ||
sk2->sk_bound_dev_if == sk->sk_bound_dev_if) &&
(sk2->sk_bound_dev_if == sk->sk_bound_dev_if) &&
sk->sk_bound_dev_if = 0;
dev_match = udp_sk_bound_dev_eq(net, sk->sk_bound_dev_if,
if (sk->sk_bound_dev_if)
!udp_sk_bound_dev_eq(net, sk->sk_bound_dev_if, dif, sdif))
if (!sk->sk_dport && !sk->sk_bound_dev_if && sk_saddr_any(sk) &&
if (sk->sk_bound_dev_if) {
dev = dev_get_by_index_rcu(net, sk->sk_bound_dev_if);
sk->sk_bound_dev_if = addr->sin6_scope_id;
if (!sk->sk_bound_dev_if) {
if (sk->sk_bound_dev_if) {
dev = dev_get_by_index_rcu(net, sk->sk_bound_dev_if);
sk->sk_bound_dev_if);
fl6->flowi6_oif = sk->sk_bound_dev_if;
WRITE_ONCE(sk->sk_bound_dev_if, usin->sin6_scope_id);
if (!sk->sk_bound_dev_if && (addr_type & IPV6_ADDR_MULTICAST))
WRITE_ONCE(sk->sk_bound_dev_if, READ_ONCE(np->mcast_oif));
if (!sk->sk_bound_dev_if) {
int oif = sk->sk_bound_dev_if;
(READ_ONCE(sk->sk_bound_dev_if) != fl6->flowi6_oif ||
fl6->flowi6_oif = sk->sk_bound_dev_if;
if (!inet_sk_bound_dev_eq(net, sk->sk_bound_dev_if, dif, sdif))
score = sk->sk_bound_dev_if ? 2 : 1;
const int dif = sk->sk_bound_dev_if;
(!sk->sk_bound_dev_if ||
sk->sk_bound_dev_if == skb->dev->ifindex)) {
bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
if (READ_ONCE(sk->sk_bound_dev_if))
fl6.flowi6_oif = sk->sk_bound_dev_if;
if (sk && sk->sk_bound_dev_if)
fl6.flowi6_oif = sk->sk_bound_dev_if;
.sk.sk_bound_dev_if = 1,
oif = sk->sk_bound_dev_if;
(oif && sk->sk_bound_dev_if && oif != sk->sk_bound_dev_if &&
l3mdev_master_ifindex_by_index(sock_net(sk), oif) != sk->sk_bound_dev_if))
sk->sk_bound_dev_if = addr->sin6_scope_id;
if (!sk->sk_bound_dev_if)
if (sk->sk_bound_dev_if) {
sk->sk_bound_dev_if);
!raw_sk_bound_dev_eq(net, sk->sk_bound_dev_if,
fl6.flowi6_oif = sk->sk_bound_dev_if;
if ((sk && sk->sk_bound_dev_if) || rt6_need_strict(&fl6->daddr) ||
int oif = sk->sk_bound_dev_if;
ip6_redirect(skb, sock_net(sk), sk->sk_bound_dev_if,
if (!sk->sk_bound_dev_if &&
addr_sk->sk_bound_dev_if);
oif = sk->sk_bound_dev_if;
req->ts_recent, sk->sk_bound_dev_if,
sk->sk_bound_dev_if = usin->sin6_scope_id;
if (!sk->sk_bound_dev_if)
fl6->flowi6_oif = sk->sk_bound_dev_if;
addr_sk->sk_bound_dev_if);
if ((!sk_listener->sk_bound_dev_if || l3_slave) &&
fl6->flowi6_oif = READ_ONCE(sk->sk_bound_dev_if);
bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
!udp_sk_bound_dev_eq(net, READ_ONCE(sk->sk_bound_dev_if), dif, sdif) ||
fl6.flowi6_oif = sk->sk_bound_dev_if;
nsk->sk_bound_dev_if = sk->sk_bound_dev_if;
sk->sk_bound_dev_if = 0;
sk->sk_bound_dev_if = dev->ifindex;
sk->sk_bound_dev_if, addr->l2tp_conn_id)) {
bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
bound_dev_if = sk->sk_bound_dev_if;
sk->sk_bound_dev_if = bound_dev_if;
lsa->l2tp_scope_id = READ_ONCE(sk->sk_bound_dev_if);
fl6.flowi6_oif = READ_ONCE(sk->sk_bound_dev_if);
bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
if (sk->sk_bound_dev_if) {
dev = dev_get_by_index(&init_net, sk->sk_bound_dev_if);
if (sk->sk_bound_dev_if) {
dev = dev_get_by_index_rcu(&init_net, sk->sk_bound_dev_if);
if (ssk->sk_bound_dev_if &&
nla_put_s32(skb, MPTCP_ATTR_IF_IDX, ssk->sk_bound_dev_if))
ssk->sk_bound_dev_if = sk->sk_bound_dev_if;
sk->sk_bound_dev_if = ssk->sk_bound_dev_if;
sk->sk_bound_dev_if = ssk->sk_bound_dev_if;
ssk->sk_bound_dev_if = local->ifindex;
if (sk->sk_bound_dev_if && dev->ifindex != sk->sk_bound_dev_if)
if (sk->sk_bound_dev_if && dev->ifindex != sk->sk_bound_dev_if)
if (sk->sk_bound_dev_if && dev->ifindex != sk->sk_bound_dev_if)
sock->sk->sk_bound_dev_if = dev->ifindex;
bound_dev_if = sk->sk_bound_dev_if;
if (sk->sk_bound_dev_if)
dev = dev_get_by_index(net, sk->sk_bound_dev_if);
if (sk->sk_bound_dev_if)
sk->sk_bound_dev_if);
dev_if = new_sock->sk->sk_bound_dev_if;
dst->value = skb->sk->sk_bound_dev_if;
bound_dev_if = READ_ONCE(skb->sk->sk_bound_dev_if);
int bound_dev_if = READ_ONCE(ep->base.sk->sk_bound_dev_if);
int bound_dev_if = READ_ONCE(ep->base.sk->sk_bound_dev_if);
bound_dev_if = READ_ONCE(t->asoc->base.sk->sk_bound_dev_if);
fl6->flowi6_oif = asoc->base.sk->sk_bound_dev_if;
bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
tb_id = l3mdev_fib_table_by_index(net, sk->sk_bound_dev_if) ?: tb_id;
fl4->flowi4_oif = asoc->base.sk->sk_bound_dev_if;
flowi4_update_output(fl4, asoc->base.sk->sk_bound_dev_if,
int bound_dev_if2 = READ_ONCE(sk2->sk_bound_dev_if);
if ((!sk->sk_bound_dev_if || !bound_dev_if2 ||
sk->sk_bound_dev_if == bound_dev_if2) &&
nsk->sk_bound_dev_if = osk->sk_bound_dev_if;
r->id.idiag_if = smc->clcsock->sk->sk_bound_dev_if;
bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);