CFR: FIB handling improvements

Andre Oppermann andre at freebsd.org
Wed Aug 21 16:50:06 UTC 2013


On 21.08.2013 17:42, Will Andrews wrote:
> Hi,
>
> I'm working to port forward to FreeBSD/head, improvements made to FIB
> handling by my colleagues Alan Somers and Justin Gibbs.
>
> Please review: http://people.freebsd.org/~will/fix-fib-issues.1.diff
>
> This patch includes fixes for several issues relating to FIBs:
>
> * Use of dhclient with non-zero FIBs.  With this patch, it is possible
> to use DHCP on a specific interface with a non-zero FIB and have it
> work correctly with this rc.conf snippet:
>
> ifconfig_em1="SYNCDHCP"
> dhclient_fib_em1=1
>
> This part of the patch includes a XXX, because I am not sure whether
> the dhclient rc.d script should manually set the FIB on the given
> interface, or if it should be inferred via some other mechanism.
>
> * Always add loopback routes for non-zero FIBs, for both IPv4 and
> IPv6.  Arguably, this could be a policy issue, but it is currently
> less-than-trivial to specify (in rc.conf) that a route needs to be
> applied to every FIB.
 >
> * Having two or more FIBs whose interfaces share the same prefix and
> netmask.  This involves adding fibnum arguments to ifa_ifwithnet() and
> ifa_ifwithdstaddr(), and checking it within.
 >
> * Setting the FIB on a network interface.  rtinit1() looks it up via
> the current process context, so we must be calling setfib(2) from
> within ifconfig.
>
> * Creating & deleting loopback routes now works correctly for
> non-default FIBs, by using the interface's FIB instead of always 0.
>
> Commits would be made on each of these issues separately, but since
> they are all related, I thought it would be easier for others to
> evaluate them with context.

Fine with me and no objections.

-- 
Andre



More information about the freebsd-net mailing list