]> git.baikalelectronics.ru Git - kernel.git/commit
ipv4: Fix raw socket lookup for local traffic
authorDavid Ahern <dsahern@gmail.com>
Wed, 8 May 2019 03:44:59 +0000 (20:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 May 2019 16:38:30 +0000 (09:38 -0700)
commit5d86c05fda7a994db7fe16094e9f3209e0d46503
tree693ae44cd5a3ecbd326293bcad8ac2fff0b2a407
parent0ad688c4903bcd771cf900c47f768c18bc6fe876
ipv4: Fix raw socket lookup for local traffic

inet_iif should be used for the raw socket lookup. inet_iif considers
rt_iif which handles the case of local traffic.

As it stands, ping to a local address with the '-I <dev>' option fails
ever since ping was changed to use SO_BINDTODEVICE instead of
cmsg + IP_PKTINFO.

IPv6 works fine.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/raw.c