Project

General

Profile

Actions

Bug #8429

closed

radvd/IPv6 broken in 2.4.3 when using a LAN bridge

Added by Spencer Hakim almost 6 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
IPv6 Router Advertisements (radvd/rtsold)
Target version:
Start date:
04/03/2018
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
2.4.3
Affected Architecture:

Description

Due to the fix for #6974 included in 2.4.3 (commits 1, 2, 3), radvd no longer works when using a bridge as the LAN interface due to bridges not actually having any media. Without radvd, IPv6 routes aren't sent to clients and IPv6 connectivity is non-existent (outside of link-local).

Sample logs:

Apr 3 19:20:09    radvd    53166    ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
Apr 3 19:19:58    radvd    53166    ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
Apr 3 19:19:48    radvd    53166    ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
Apr 3 19:19:38    radvd    53166    ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
Apr 3 19:19:28    radvd    53166    ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
[...]

My setup, for reference (works without issue in 2.4.2):

WAN -> em0
LAN -> bridge0 (opt1 opt2; Enabled IPv6 auto linklocal for SLAAC)
opt1 -> em1
opt2 -> ovpns1 (tap)

net.link.bridge.pfil_member=0
net.link.bridge.pfil_bridge=1

Since this is a fairly major regression, is there any chance of the original fix being reverted and a patch release issued, with an updated fix for #6974 appearing in 2.4.4?

Actions #1

Updated by Jason Smith almost 6 years ago

Agreed, I'm facing the same issue. Please fix this in the next Dev & Rel version. Thanks.

====================================================================================
My setup, for reference:

  • Welcome to pfSense 2.4.4-DEVELOPMENT (amd64) on pfSense ***

    WAN (wan) -> em0 -> v4/DHCP4: ip
    v6/DHCP6: ip
    LAN (lan) -> bridge0 -> v4: ip
    v6/t6: ip
    OPT1 (opt1) -> igb0 ->
    OPT2 (opt2) -> igb2 ->
    OPT3 (opt3) -> igb3 ->
    OPT4 (opt4) -> igb1 ->

Actions #2

Updated by Mat Clarke almost 6 years ago

Same issue for me too ....

Netgate SG-4860 - Serial: *** - Netgate Device ID: ***

  • Welcome to pfSense 2.4.3-RELEASE (amd64) on cn-inf-fw-01 ***

    WAN (wan) -> igb1 -> v4/DHCP4: ipv4
    LAN (lan) -> bridge0 -> v4: ipv4
    v6: ipv6
    OPT1 (opt1) -> igb2 ->
    OPT2 (opt2) -> igb3 ->
    OPT3 (opt3) -> igb4 ->
    OPT4 (opt4) -> igb5 ->
    VLAN50 (opt5) -> igb0.50 -> v4: ipv4
    v6: ipv6
    VLAN107 (opt6) -> igb0.107 -> v4: ipv4
    VLAN106 (opt7) -> igb0.106 -> v4: ipv4
    VLAN108 (opt9) -> igb0.108 -> v4: ipv4
    HENETV6 (opt10) -> gif0 -> v6: ipv6
    VLAN101 (opt11) -> igb0.101 -> v4: ipv4
    VLAN102 (opt12) -> igb0.102 -> v4: ipv4
    VLAN103 (opt13) -> igb0.103 -> v4: ipv4
    LAN_PORT (opt14) -> igb0 ->
    VLAN104 (opt15) -> igb0.104 -> v4: ipv4
    v6: ipv6
    VLAN105 (opt16) -> igb0.105 -> v4: ipv4
    v6: ipv6

Actions #3

Updated by neti netwalker almost 6 years ago

Same Problem:
RADVD regression on 2.4.3 / radvd can not run on bridge Interface anymore...
https://forum.pfsense.org/index.php?topic=146413.0

LOG:

Apr 1 23:46:28   radvd   81728   ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
Apr 1 23:46:44   radvd   81728   ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
Apr 1 23:47:00   radvd   81728   ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument

Small debug log with bridge0:

[Apr 08 14:15:20] radvd (90823): version 2.17 started
[Apr 08 14:15:20] radvd (90823): bridge0 interface definition ok
[Apr 08 14:15:20] radvd (90823): config file, /var/etc/radvd.conf, syntax ok
[Apr 08 14:15:20] radvd (90823): checking ipv6 forwarding not supported
[Apr 08 14:15:20] radvd (90823): radvd startup PID is 90823
[Apr 08 14:15:20] radvd (90823): opened pid file /var/run/radvd.pid
[Apr 08 14:15:20] radvd (90823): locked pid file /var/run/radvd.pid
[Apr 08 14:15:20] radvd (90823): opened pid file /var/run/radvd.pid
[Apr 08 14:15:20] radvd (90823): radvd PID is 90823
[Apr 08 14:15:20] radvd (90823): wrote pid 90823 to pid file: /var/run/radvd.pid
[Apr 08 14:15:20] radvd (90823): validated pid file, /var/run/radvd.pid: 90823
[Apr 08 14:15:20] radvd (90823): bridge0 if_index changed from 0 to 10
[Apr 08 14:15:20] radvd (90823): ioctl(SIOCGIFFLAGS) succeeded on bridge0
[Apr 08 14:15:20] radvd (90823): bridge0 is up
[Apr 08 14:15:20] radvd (90823): bridge0 is running
[Apr 08 14:15:20] radvd (90823): bridge0 supports multicast
[Apr 08 14:15:20] radvd (90823): ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
[Apr 08 14:15:20] radvd (90823): interface bridge0 does not exist or is not set up properly, ignoring the interface
[Apr 08 14:15:20] radvd (90823): polling for 0 second(s), next iface is bridge0
[Apr 08 14:15:20] radvd (90823): timer_handler called for bridge0
[Apr 08 14:15:20] radvd (90823): ioctl(SIOCGIFFLAGS) succeeded on bridge0
[Apr 08 14:15:20] radvd (90823): bridge0 is up
[Apr 08 14:15:20] radvd (90823): bridge0 is running
[Apr 08 14:15:20] radvd (90823): bridge0 supports multicast
[Apr 08 14:15:20] radvd (90823): ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
[Apr 08 14:15:20] radvd (90823): not sending RA for bridge0, interface is not ready
[Apr 08 14:15:20] radvd (90823): send_ra_forall failed on interface bridge0
[Apr 08 14:15:20] radvd (90823): bridge0 next scheduled RA in 16 second(s)
[Apr 08 14:15:20] radvd (90823): polling for 16 second(s), next iface is bridge0
[Apr 08 14:15:36] radvd (90823): timer_handler called for bridge0
[Apr 08 14:15:36] radvd (90823): ioctl(SIOCGIFFLAGS) succeeded on bridge0
[Apr 08 14:15:36] radvd (90823): bridge0 is up
[Apr 08 14:15:36] radvd (90823): bridge0 is running
[Apr 08 14:15:36] radvd (90823): bridge0 supports multicast
[Apr 08 14:15:36] radvd (90823): ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
[Apr 08 14:15:36] radvd (90823): not sending RA for bridge0, interface is not ready
[Apr 08 14:15:36] radvd (90823): send_ra_forall failed on interface bridge0
[Apr 08 14:15:36] radvd (90823): bridge0 next scheduled RA in 16 second(s)
[Apr 08 14:15:36] radvd (90823): polling for 16 second(s), next iface is bridge0

Actions #4

Updated by Johannes Ullrich almost 6 years ago

just to confirm. Having the same problem.

[Apr 12 11:43:32] radvd (88189): polling for 0 second(s), next iface is bridge0
[Apr 12 11:43:32] radvd (88189): timer_handler called for bridge0
[Apr 12 11:43:32] radvd (88189): ioctl(SIOCGIFFLAGS) succeeded on bridge0
[Apr 12 11:43:32] radvd (88189): bridge0 is up
[Apr 12 11:43:32] radvd (88189): bridge0 is running
[Apr 12 11:43:32] radvd (88189): bridge0 supports multicast
[Apr 12 11:43:32] radvd (88189): ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument
[Apr 12 11:43:32] radvd (88189): not sending RA for bridge0, interface is not ready
[Apr 12 11:43:32] radvd (88189): send_ra_forall failed on interface bridge0
[Apr 12 11:43:32] radvd (88189): bridge0 next scheduled RA in 16 second(s)

Actions #5

Updated by TJ Synkral almost 6 years ago

I'm seeing a similar issue, but I am using a USB ethernet device for the LAN connection:
ioctl(SIOCGIFMEDIA) failed on ue0: Invalid argument

I assume it is related to this bug.

Actions #6

Updated by Raku Smith almost 6 years ago

Jason Smith wrote:

Agreed, I'm facing the same issue. Please fix this in the next Dev & Rel version. Thanks.

====================================================================================
My setup, for reference:

  • Welcome to pfSense 2.4.4-DEVELOPMENT (amd64) on pfSense ***

WAN (wan) -> em0 -> v4/DHCP4: ip
v6/DHCP6: ip
LAN (lan) -> bridge0 -> v4: ip
v6/t6: ip
OPT1 (opt1) -> igb0 ->
OPT2 (opt2) -> igb2 ->
OPT3 (opt3) -> igb3 ->
OPT4 (opt4) -> igb1 ->

Same setup here, also encountering this.

Actions #7

Updated by William Haworth almost 6 years ago

I have the same issue with LAN bridged over 3 ethernet interfaces. The following error is logged every 16 seconds:

May 6 18:38:08 radvd 72833 ioctl(SIOCGIFMEDIA) failed on bridge0: Invalid argument

Actions #8

Updated by Jim Pingle almost 6 years ago

  • Target version set to 2.4.4
Actions #9

Updated by Michael Duller almost 6 years ago

Same here:

pfSense - Serial: Default string - Netgate Device ID: ***

*** Welcome to pfSense 2.4.3-RELEASE-p1 (amd64) on gateway ***

 WAN (wan)       -> igb0       -> v4/DHCP4: ip
                                  v6/DHCP6: ip6
 LAN (lan)       -> bridge0    -> v4: ip
                                  v6/t6: ip6
 LANP3 (opt1)    -> igb2       ->
 LANP4 (opt2)    -> igb3       ->
 LANP5 (opt3)    -> igb4       ->
 LANP2 (opt4)    -> igb1       ->

opt1 through opt4 are members of bridge0 (lan)

Actions #10

Updated by Nicolas Vollmar almost 6 years ago

Same here

Actions #11

Updated by Luiz Souza almost 6 years ago

  • Status changed from New to Feedback

Should be fixed with radvd-2.17_5. Please check with the next 2.4.4 snapshot.

Sorry for the breakage.

Actions #12

Updated by Constantine Kormashev over 5 years ago

setup bridge from LAN, OPT1 and OPT2
setup stateless RA on LAN
connected to vswitch which is used by LAN
obtained address from pfsense
pinged LAN interface successfully

Do not observe errors in logs excepting:
invalid all-zeros prefix in /var/etc/radvd.conf, line 9

file line 9 is prefix fd80::/64 {... so that fd80:: is fd80:0000 ... :0000 this is not related to original issue

Actions #13

Updated by Constantine Kormashev over 5 years ago

Tried again with 4 ifaces, do not observe the issue

Actions #14

Updated by Jim Pingle over 5 years ago

  • Status changed from Feedback to Resolved
Actions #15

Updated by TJ Synkral over 5 years ago

This is still happening with 2.4.4 when using ue0 (USB ethernet) as the LAN interface.
ioctl(SIOCGIFMEDIA) failed on ue0: Invalid argument

Actions #16

Updated by Kyle Klouzal over 5 years ago

I am receiving this error in the logs about once every 10-15 seconds
radvd invalid all-zeros prefix in /var/etc/radvd.conf, line 9

Actions #17

Updated by Edwin T almost 4 years ago

Hello,
this problem still persists. PRTG Syslog is being spammed with:

                       Source     Message                                                 Hostname    Timestamp (Device)    Severity         Tag    Facility
15.06.2020 21:54:39    192.168.1.1    (SIOCGIFMEDIA) failed on ue0: Invalid argument    radvd[93562]:    06-15 21:54:39         3           ioctl       3

every 10secs

What to do to remove/fix this?

Thanks in advance.

Actions

Also available in: Atom PDF