diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/defaults.py | 2 | ||||
| -rw-r--r-- | python/vyos/ifconfig/bridge.py | 20 | 
2 files changed, 19 insertions, 3 deletions
| diff --git a/python/vyos/defaults.py b/python/vyos/defaults.py index 09ae73eac..6894fc4da 100644 --- a/python/vyos/defaults.py +++ b/python/vyos/defaults.py @@ -26,7 +26,7 @@ directories = {    "templates": "/usr/share/vyos/templates/",    "certbot": "/config/auth/letsencrypt",    "api_schema": "/usr/libexec/vyos/services/api/graphql/graphql/schema/", -  "api_templates": "/usr/libexec/vyos/services/api/graphql/recipes/templates/", +  "api_templates": "/usr/libexec/vyos/services/api/graphql/session/templates/",    "vyos_udev_dir": "/run/udev/vyos"  } diff --git a/python/vyos/ifconfig/bridge.py b/python/vyos/ifconfig/bridge.py index 758967fbc..aa818bc5f 100644 --- a/python/vyos/ifconfig/bridge.py +++ b/python/vyos/ifconfig/bridge.py @@ -295,8 +295,24 @@ class BridgeIf(Interface):                  self.del_port(member)          # enable/disable Vlan Filter -        vlan_filter = '1' if 'enable_vlan' in config else '0' -        self.set_vlan_filter(vlan_filter) +        tmp = '1' if 'enable_vlan' in config else '0' +        self.set_vlan_filter(tmp) + +        # add VLAN interfaces to local 'parent' bridge to allow forwarding +        if 'enable_vlan' in config: +            for vlan in config.get('vif_remove', {}): +                # Remove old VLANs from the bridge +                cmd = f'bridge vlan del dev {self.ifname} vid {vlan} self' +                self._cmd(cmd) + +            for vlan in config.get('vif', {}): +                cmd = f'bridge vlan add dev {self.ifname} vid {vlan} self' +                self._cmd(cmd) + +            # VLAN of bridge parent interface is always 1. VLAN 1 is the default +            # VLAN for all unlabeled packets +            cmd = f'bridge vlan add dev {self.ifname} vid 1 pvid untagged self' +            self._cmd(cmd)          tmp = dict_search('member.interface', config)          if tmp: | 
