aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2015-03-13 18:51:10 -0400
committerDavid S. Miller <davem@davemloft.net>2015-03-14 15:05:10 -0400
commit16f86165bd0a94a96ab99629828cc9057db50221 (patch)
treeabb1a7c6f69f2f424dd08e035091945d252dd141 /net/dccp
parenta3795208b9a9801a66b305395e9ebaae850eee03 (diff)
inet: fill request sock ir_iif for IPv4
Once request socks will be in ehash table, they will need to have a valid ir_iff field. This is currently true only for IPv6. This patch extends support for IPv4 as well. This means inet_diag_fill_req() can now properly use ir_iif, which is better for IPv6 link locals anyway, as request sockets and established sockets will propagate consistent netlink idiag_if. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r--net/dccp/ipv4.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c
index 8f6f4004daac..7f6456afbaec 100644
--- a/net/dccp/ipv4.c
+++ b/net/dccp/ipv4.c
@@ -643,6 +643,7 @@ int dccp_v4_conn_request(struct sock *sk, struct sk_buff *skb)
643 ireq->ir_rmt_addr = ip_hdr(skb)->saddr; 643 ireq->ir_rmt_addr = ip_hdr(skb)->saddr;
644 write_pnet(&ireq->ireq_net, sock_net(sk)); 644 write_pnet(&ireq->ireq_net, sock_net(sk));
645 ireq->ireq_family = AF_INET; 645 ireq->ireq_family = AF_INET;
646 ireq->ir_iif = sk->sk_bound_dev_if;
646 647
647 /* 648 /*
648 * Step 3: Process LISTEN state 649 * Step 3: Process LISTEN state