bin/187699: Nondefault FIBs don't get loopback addresses

Alan Somers asomers at freebsd.org
Tue Mar 18 15:50:00 UTC 2014


>Number:         187699
>Category:       bin
>Synopsis:       Nondefault FIBs don't get  loopback addresses
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 18 15:50:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Alan Somers
>Release:        11.0 CURRENT
>Organization:
Spectra Logic
>Environment:
FreeBSD alans-fbsd-head 11.0-CURRENT FreeBSD 11.0-CURRENT #40 r263266: Mon Mar 17 13:07:35 MDT 2014     alans at ns1.eng.sldomain.com:/vmpool/obj/usr/home/alans/freebsd/head/sys/GENERIC  amd64
>Description:
"ping 127.0.0.1" and "ping6 ::1" should always work, regardless of which FIB is in use.  However, they don't.  ipv4_up() in network.subr ensures adds the 127.0.0.1 address to lo0 in the default fib, which causes the kernel to add it to the default fib's routing table.  But nothing adds that address to alternate fibs.  Nor does anything add ::1 to the inet6 routing tables for alternate FIBs.

IMHO, the best way to solve this bug would be to add 127.0.0.1 and ::1 static routes in /etc/rc.d/routing in the functions static_inet() and static_inet6().
>How-To-Repeat:
In /boot/loader.conf.local:
net.fibs="4"
net.add_addr_allfibs="0"

setfib 1 ping localhost    # This will fail, but it should succeed
setfib 1 ping6 ::1         # This will fail, but it should succeed.
>Fix:
Working on a patch now ...

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list