Page MenuHomeVyOS Platform

Cannot add wlan0 to bridge via configure
Closed, ResolvedPublicBUG

Description

Originally reported vis forum https://forum.vyos.io/t/1-3-epa-cannot-add-wlan0-to-bridge-via-configure/7881/5

vyos@vyos:~$ configure
[edit]
vyos@vyos# set interfaces bridge br0 member interface wlan0
[edit]
vyos@vyos# commit
[ interfaces bridge br0 ]
VyOS had an issue completing a command.

We are sorry that you encountered a problem while using VyOS.
There are a few things you can do to help us (and yourself):
- Contact us using the online help desk if you have a subscription:
  https://support.vyos.io/
- Make sure you are running the latest version of VyOS available at:
  https://vyos.net/get/
- Consult the community forum to see how to handle this issue:
  https://forum.vyos.io
- Join us on Slack where our users exchange help and advice:
  https://vyos.slack.com

When reporting problems, please include as much information as possible:
- do not obfuscate any data (feel free to contact us privately if your
  business policy requires it)
- and include all the information presented below

Report time:      2021-10-15 23:06:02
Image version:    VyOS 1.3.0-epa2
Release train:    equuleus

Built by:         root
Built on:         Fri 15 Oct 2021 17:11 UTC
Build UUID:       1caaac80-b99b-4570-b03b-0225ee260f3e
Build commit ID:  35fdd4f8cd4d36

Architecture:     x86_64
Boot via:         installed image
System type:      bare metal

Hardware vendor:  PC Engines
Hardware model:   apu1
Hardware S/N:     123456
Hardware UUID:    Unknown

Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/interfaces-bridge.py", line 172, in <module>
    apply(c)
  File "/usr/libexec/vyos/conf_mode/interfaces-bridge.py", line 163, in apply
    br.update(bridge)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/bridge.py", line 322, in update
    lower.set_port_isolation(value)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 854, in set_port_isolation
    self.set_interface('bridge_port_isolation', on_or_off)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 183, in set_interface
    return self._set_command(self.config, name, value)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 110, in _set_command
    return self._command_set[name].get('format', lambda _: _)(self._cmd(cmd))
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 52, in _cmd
    return cmd(command, self.debug)
  File "/usr/lib/python3/dist-packages/vyos/util.py", line 161, in cmd
    raise OSError(code, feedback)
OSError: [Errno 255] failed to run command: bridge link set dev wlan0 isolated off
returned:
exit code: 255

noteworthy:
cmd 'bridge link set dev wlan0 isolated off'
returned (out):

returned (err):
RTNETLINK answers: Operation not supported

[[interfaces bridge br0]] failed
Commit failed
[edit]
vyos@vyos# discard

  Changes have been discarded

[edit]
vyos@vyos# exit
exit

Notice the above claims “Operation not supported” – however, observe the following results when executing commands by hand:

vyos@vyos:~$ sudo ip link set wlan0 master br0
vyos@vyos:~$ bridge link
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
7: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
vyos@vyos:~$ sudo bridge link set dev wlan0 isolated off
vyos@vyos:~$ bridge link
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
7: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100

Why am I receiving the error when I attempt to add wlan0 to my bridge in VyOS ?

interfaces {
    bridge br0 {
        address 192.168.0.1/24
        member {
            interface eth2 {
            }
        }
    }
    ethernet eth2 {
        description INSIDE
        duplex auto
        hw-id 01:23:45:67:89:ab
        offload {
            gro
        }
        speed auto
    }
    wireless wlan0 {
        capabilities {
            ht {
                channel-set-width ht40+
            }
        }
        channel 1
        country-code us
        hw-id 01:23:45:67:89:ac
        mgmt-frame-protection disabled
        mode n
        policy {
        }
        security {
            wpa {
                cipher CCMP
                mode wpa+wpa2
                passphrase ****************
            }
        }
        ssid redacted
        type access-point
    }
}

As a workaround for now, I am manually adding the wlan0 interface to the bridge like so:

vyos@vyos:~$ cat /config/scripts/vyos-postconfig-bootup.script
#!/bin/sh
# This script is executed at boot time after VyOS configuration is fully applied.
# Any modifications required to work around unfixed bugs
# or use services not available through the VyOS CLI system can be placed here.

sudo ip link set dev wlan0 master br0
sudo bridge link set dev wlan0 isolated off

vyos@vyos:~$
This is working around the bug:

noteworthy:
cmd 'bridge link set dev wlan0 isolated off'
returned (out):

returned (err):
RTNETLINK answers: Operation not supported

I’d love to see it fixed eventually :slight_smile:

Details

Difficulty level
Hard (possibly days)
Version
1.3.0
Why the issue appeared?
Design mistake
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Related Objects

Mentioned In
1.3.3
1.3.1

Event Timeline

c-po created this task.
c-po changed the task status from Open to Needs testing.Feb 16 2022, 8:53 PM
c-po triaged this task as Normal priority.
c-po added a project: VyOS 1.4 Sagitta.
c-po changed Why the issue appeared? from Will be filled on close to Design mistake.

@c-po Thank you for the work on this.

c-po moved this task from Need Triage to Finished on the VyOS 1.3 Equuleus ( 1.3.1) board.