summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-03-22 21:56:23 -0700
committerDavid S. Miller <davem@davemloft.net>2011-03-23 12:16:15 -0700
commit406b6f974dae76a5b795d5c251d11c979a4e509b (patch)
tree0e197be8a5239c8b0c414f7ef3cf91a844a4271c /arch
parentf6152737a95bd6c22f0c664b20831aefd48085a8 (diff)
downloadop-kernel-dev-406b6f974dae76a5b795d5c251d11c979a4e509b.zip
op-kernel-dev-406b6f974dae76a5b795d5c251d11c979a4e509b.tar.gz
ipv4: Fallback to FIB local table in __ip_dev_find().
In commit 9435eb1cf0b76b323019cebf8d16762a50a12a19 ("ipv4: Implement __ip_dev_find using new interface address hash.") we reimplemented __ip_dev_find() so that it doesn't have to do a full FIB table lookup. Instead, it consults a hash table of addresses configured to interfaces. This works identically to the old code in all except one case, and that is for loopback subnets. The old code would match the loopback device for any IP address that falls within a subnet configured to the loopback device. Handle this corner case by doing the FIB lookup. We could implement this via inet_addr_onlink() but: 1) Someone could configure many addresses to loopback and inet_addr_onlink() is a simple list traversal. 2) We know the old code works. Reported-by: Julian Anastasov <ja@ssi.bg> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud