ipv6: Fix RTM_GETROUTE's interpretation of RTA_IIF to be consistent with ipv4
commit72331bc0cd072c3f4b670cd1256e47681fc53b80
authorShmulik Ladkani <shmulik.ladkani@gmail.com>
Sun, 1 Apr 2012 04:03:45 +0000 (1 04:03 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Apr 2012 21:29:40 +0000 (1 17:29 -0400)
tree46665ad2830342d94b4d784c5aa397e3a6f0045b
parentcdaf0b835df04177397b90214f8b457fd23b67e0
ipv6: Fix RTM_GETROUTE's interpretation of RTA_IIF to be consistent with ipv4

In IPv4, if an RTA_IIF attribute is specified within an RTM_GETROUTE
message, then a route is searched as if a packet was received on the
specified 'iif' interface.

However in IPv6, RTA_IIF is not interpreted in the same way:
'inet6_rtm_getroute()' always calls 'ip6_route_output()', regardless the
RTA_IIF attribute.

As a result, in IPv6 there's no way to use RTM_GETROUTE in order to look
for a route as if a packet was received on a specific interface.

Fix 'inet6_rtm_getroute()' so that RTA_IIF is interpreted as "lookup a
route as if a packet was received on the specified interface", similar
to IPv4's 'inet_rtm_getroute()' interpretation.

Reported-by: Ami Koren <amikoren@yahoo.com>
Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c