[Bug 196361] New: IPv6 routes leak between FIBs

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Dec 29 18:06:00 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196361

            Bug ID: 196361
           Summary: IPv6 routes leak between FIBs
           Product: Base System
           Version: 10.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: jhealy at logn.net

When configuring multiple FIBs, IPv4 routes are properly constrained to each
FIB, but IPv6 routes leak between FIBs.

Steps to reproduce:

loader.conf: set net.fibs=3

Turn off default of adding new interfaces routes to all FIBs:

# sysctl net.add_addr_allfibs=0

Create two new interfaces, with IPv4 and IPv6 addresses on each, with each
assigned to its own FIB:

# ifconfig em1 inet 192.0.2.1/24 fib 1
# ifconfig em1 inet6 2001:db8:dead:beef::1/64 fib 1
# ifconfig em2 inet 203.0.113.1/24 fib 2
# ifconfig em2 inet6 2001:db8:cafe:babe::1/64 fib 2

Consult the routing table for each FIB:

# setfib -F 1 netstat -rn

Routing tables (fib: 1)

Internet:
Destination        Gateway            Flags      Netif Expire
192.0.2.0/24       link#2             U           em1
192.0.2.1          link#2             UHS         lo0

Internet6:
Destination                       Gateway                       Flags     
Netif Expire
2001:db8:cafe:babe::/64           link#3                        U           em2
2001:db8:dead:beef::/64           link#2                        U           em1
2001:db8:dead:beef::1             link#2                        UHS         lo0
fe80::%em1/64                     link#2                        U           em1
fe80::a00:27ff:fef6:162a%em1      link#2                        UHS         lo0
fe80::%em2/64                     link#3                        U           em2
fe80::%lo0/64                     link#5                        U           lo0


# setfib -F 2 netstat -rn

Routing tables (fib: 2)

Internet:
Destination        Gateway            Flags      Netif Expire
203.0.113.0/24     link#3             U           em2
203.0.113.1        link#3             UHS         lo0

Internet6:
Destination                       Gateway                       Flags     
Netif Expire
2001:db8:cafe:babe::/64           link#3                        U           em2
2001:db8:cafe:babe::1             link#3                        UHS         lo0
2001:db8:dead:beef::/64           link#2                        U           em1
fe80::%em1/64                     link#2                        U           em1
fe80::%em2/64                     link#3                        U           em2
fe80::a00:27ff:fe62:d267%em2      link#3                        UHS         lo0
fe80::%lo0/64                     link#5                        U           lo0


Note that as expected, the IPv4 routes are constrained to their FIB (192.0.2.0
to FIB 1 and 203.0.113.0 to FIB 2). However, the IPv6 routes (deadbeef and
cafebabe) leak between the FIBs; both prefixes that I add are listed in both
FIBs (as well as the link-local stuff).

Posted to freebsd-net and bz@ said this is a regression and to file this PR.

Thanks,

Jason

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list