Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Mar 2017 23:25:17 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-net@FreeBSD.org
Subject:   [Bug 217871] SLAAC on a newly created epair sometimes fails to add routes
Message-ID:  <bug-217871-2472-AUDZPWsbi5@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-217871-2472@https.bugs.freebsd.org/bugzilla/>
References:  <bug-217871-2472@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D217871

--- Comment #1 from Alan Somers <asomers@FreeBSD.org> ---
The problem seems to be that if you destroy an epair and then recreate it
within about 60s, the SLAAC address from the previous (destroyed) interface
gets assigned to the newly created interface.  I don't yet know why, but I =
can
demonstrate it by running the fibs_test:slaac_on_nondefault_fib6 twice in a=
 row
with attached patch applied.  The patch randomizes the addresses for each
iteration.  Note how the second run's failure messaged shows
2001:db8:3325:4cc5:ff:c0ff:fe00:60b assigned to epair0b.  This matches the
prefix from the first run, not the prefix from the second run.

$ sudo kyua debug fibs_test:slaac_on_nondefault_fib6 && sudo kyua debug
fibs_test:slaac_on_nondefault_fib6
fib is 2
fib is 3
net.inet6.ip6.forwarding: 1 -> 1
net.inet6.ip6.rfc6204w3: 1 -> 1
PREFIX is 2001:db8:3325:4cc5
setfib 2 ifconfig epair0a inet6 2001:db8:3325:4cc5::2/64 fib 2
setfib 3 ifconfig epair0b inet6 -ifdisabled accept_rtadv fib 3 up
Executing command [ ifconfig epair0b ]
Executing command [ netstat -rnf inet6 -F 3 ]
Executing command [ netstat -rnf inet6 -F 3 ]
Executing command [ netstat -rnf inet6 -F 3 ]
Executing command [ netstat -rnf inet6 -F 0 ]
Executing command [ netstat -rnf inet6 -F 0 ]
Executing command [ netstat -rnf inet6 -F 0 ]
Executing command [ netstat -rnf inet6 -F 1 ]
Executing command [ netstat -rnf inet6 -F 1 ]
Executing command [ netstat -rnf inet6 -F 1 ]
ifconfig epair0a destroy
net.inet6.ip6.rfc6204w3: 1 -> 1
net.inet6.ip6.forwarding: 1 -> 1
fibs_test:slaac_on_nondefault_fib6  ->  passed
fib is 2
fib is 3
net.inet6.ip6.forwarding: 1 -> 1
net.inet6.ip6.rfc6204w3: 1 -> 1
PREFIX is 2001:db8:78e6:5bce
setfib 2 ifconfig epair0a inet6 2001:db8:78e6:5bce::2/64 fib 2
setfib 3 ifconfig epair0b inet6 -ifdisabled accept_rtadv fib 3 up
Executing command [ ifconfig epair0b ]
ifconfig epair0a destroy
net.inet6.ip6.rfc6204w3: 1 -> 1
net.inet6.ip6.forwarding: 1 -> 1
Fail: regexp inet6 2001:db8:78e6:5bce:.*prefixlen 64.*autoconf not in stdout
epair0b: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu =
1500
        options=3D8<VLAN_MTU>
        ether 02:ff:c0:00:06:0b
        inet6 fe80::ff:c0ff:fe00:60b%epair0b prefixlen 64 scopeid 0x6=20
        inet6 2001:db8:3325:4cc5:ff:c0ff:fe00:60b prefixlen 64 tentative
detached autoconf=20
        nd6 options=3D23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
        media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
        status: active
        fib: 3
        groups: epair=20
Files left in work directory after failure: forwarding.state,
ifaces_to_cleanup, rfc6204w3.state, rtadvd.pid, rtadvd.sock
fibs_test:slaac_on_nondefault_fib6  ->  failed: atf-check failed; see the
output of the test for details

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-217871-2472-AUDZPWsbi5>