[Differential] D9451: Constrain IPv6 interface routes to each FIB

jhujhiti_adjectivism.org (Erick Turnquist) phabric-noreply at FreeBSD.org
Tue Mar 7 05:56:12 UTC 2017


jhujhiti_adjectivism.org added a comment.


  Forgot to change the other tests - this ought to do it.
  
  One annoying detail: while running these tests, I noticed intermittent failures on the SLAAC test. I was reminded of a similar intermittent issue I had while developing this: for reasons I can not explain, the epair0a interface (in this example) oftentimes gets correctly configured, but the IFDISABLED flag is never removed, like so:
  
    epair0a: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
            options=8<VLAN_MTU>
            ether 02:ff:e0:00:04:0a
            inet6 2001:db8::2 prefixlen 64 tentative 
            inet6 fe80::ff:e0ff:fe00:40a%epair0a prefixlen 64 tentative scopeid 0x4 
            nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
            media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
            status: active
            fib: 1
            groups: epair
  
  Inserting a sleep between creation of the epair and configuration solves it. The good news is that this behaves identically on my system without the patch, so it's not a new regression.

INLINE COMMENTS

> jhujhiti_adjectivism.org wrote in icmp6.c:2147
> > At line 2159, do we know the fib of the receiving interface?
> 
> It looks like the mbuf passed to icmp6_reflect() will always have the FIB set based on the receiving interface, so we can just use that! Can a more experienced set of eyes confirm?

@asomers, can you confirm that M_GETFIB(m) is always correctly set to the FIB of the receiving interface?

REPOSITORY
  rS FreeBSD src repository

REVISION DETAIL
  https://reviews.freebsd.org/D9451

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: jhujhiti_adjectivism.org, #network, bz, asomers
Cc: jch, bz, imp, ae, freebsd-net-list


More information about the freebsd-net mailing list