Bug 110721
Summary: | IPv6 Autoconfiguration configures wrong interface. | ||
---|---|---|---|
Product: | Networking | Reporter: | Stefan J. Betz (info) |
Component: | IPV6 | Assignee: | Hideaki YOSHIFUJI (yoshfuji) |
Status: | NEW --- | ||
Severity: | normal | CC: | flokli, hannes, info, martin, mh+kernel-bugzilla, szg00000, teg |
Priority: | P1 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | 4.3.3 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Stefan J. Betz
2016-01-12 20:39:48 UTC
Can confirm that issue with a slightly different setup. Tested on: - 4.1.16-1 - 4.3.3-3 both affected I have a VPN setup that runs batman-adv in a bridge with en1, where the radv arrive. The other phys. if (en0) gets the ip6 addresses, even though there are no radv packets on that interface (confirmed by tcpdump, ip6tables logging) 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: en0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 00:25:90:xx:xx:00 brd ff:ff:ff:ff:ff:ff 3: en1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master xxx-bat0 state UP mode DEFAULT group default qlen 1000 link/ether 00:25:90:xx:xx:01 brd ff:ff:ff:ff:ff:ff 16: foo-vpn: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc noqueue master xxx-bat0 state UNKNOWN mode DEFAULT group default qlen 500 link/ether 56:a3:b3:8b:aa:e4 brd ff:ff:ff:ff:ff:ff 17: foo-bat0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master xxx-br state UNKNOWN mode DEFAULT group default qlen 1000 link/ether 2a:a9:cb:dd:79:4e brd ff:ff:ff:ff:ff:ff 18: foo-br: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 2a:a9:cb:dd:79:4e brd ff:ff:ff:ff:ff:ff # brctl show bridge name bridge id STP enabled interfaces foo-br 8000.2aa9cbdd794e no foo-bat0 # batctl -m xxx-bat0 if en1: active foo-vpn: active radv on `foo-bat0` and `foo-br` gets no ip6 addresses - accept_ra, autoconfig = 0 - forwarding = 0 en0 gets ip6 adresses and routes from those radv, even though there are _no_ matching radv on that if. - accept_ra, autoconfig = 1 - forwarding = 0 Mixed up the anonymization, `xxx-*` equals `foo-*`, sorry! Can you have a look at report https://bugzilla.kernel.org/show_bug.cgi?id=112751 and check if that applies to you, too? I couldn't reproduce your problem. What system are you seeing this issue on? One with systemd 229, maybe? Starting with this version of systemd? For me this happens on an Archlinux with Kernel 4.1.17-1-lts with systemd 228-4. Recent systemd versions (I always thought this started with 229) process incoming router announcements themselves. Can you try stracing the systemd or the networkd process to see whether it is actually acting on the route announcement? Too bad that systemd upstream doesn't seem to publish a changelog. Tom, could you have a look at this issue? Any idea if systemd could be the issue here? Thanks, Hannes @Hannes: I'm pretty sure systemd is the issue. In one setup here (systemd 229), everything worked fine, until I added a dummy interface, and configured a static ipv6 address via systemd-networkd on it. Suddenly ip addresses from eth0 started to appear on the dummy interface. Seems like systemd is messing up which interface the RA came from. |