]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r263779
authorasomers <asomers@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 6 Jun 2014 17:42:55 +0000 (17:42 +0000)
committerasomers <asomers@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 6 Jun 2014 17:42:55 +0000 (17:42 +0000)
commit7859b5e0c119647ab495b9ba17adc8ee31294e69
treebca9e734b3894cb019136e52fb43262294aee20a
parent9416536e5a10319196223a11d44d750110dee1a9
MFC r263779

Correct ARP update handling when the routes for network interfaces are
restricted to a single FIB in a multifib system.

Restricting an interface's routes to the FIB to which it is assigned (by
setting net.add_addr_allfibs=0) causes ARP updates to fail with "arpresolve:
can't allocate llinfo for x.x.x.x".  This is due to the ARP update code hard
coding it's lookup for existing routing entries to FIB 0.

sys/netinet/in.c:
When dealing with RTM_ADD (add route) requests for an interface, use
the interface's assigned FIB instead of the default (FIB 0).

sys/netinet/if_ether.c:
In arpresolve(), enhance error message generated when an
lla_lookup() fails so that the interface causing the error is
visible in logs.

tests/sys/netinet/fibs_test.sh
Clear ATF expected error.

git-svn-id: svn://svn.freebsd.org/base/stable/10@267175 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/netinet/if_ether.c
sys/netinet/in.c
tests/sys/netinet/fibs_test.sh