diff options
| -rw-r--r-- | interface-definitions/include/interface/vif-s.xml.i | 2 | ||||
| -rw-r--r-- | interface-definitions/include/interface/vif.xml.i | 1 | ||||
| -rw-r--r-- | python/vyos/configverify.py | 19 | ||||
| -rwxr-xr-x | python/vyos/ifconfig/interface.py | 3 | 
4 files changed, 16 insertions, 9 deletions
| diff --git a/interface-definitions/include/interface/vif-s.xml.i b/interface-definitions/include/interface/vif-s.xml.i index 59a47b5ff..40a87e3d3 100644 --- a/interface-definitions/include/interface/vif-s.xml.i +++ b/interface-definitions/include/interface/vif-s.xml.i @@ -44,6 +44,7 @@      #include <include/interface/ipv4-options.xml.i>      #include <include/interface/ipv6-options.xml.i>      #include <include/interface/mac.xml.i> +    #include <include/interface/mirror.xml.i>      #include <include/interface/mtu-68-16000.xml.i>      <tagNode name="vif-c">        <properties> @@ -63,6 +64,7 @@          #include <include/interface/ipv4-options.xml.i>          #include <include/interface/ipv6-options.xml.i>          #include <include/interface/mac.xml.i> +        #include <include/interface/mirror.xml.i>          #include <include/interface/mtu-68-16000.xml.i>          #include <include/interface/redirect.xml.i>          #include <include/interface/traffic-policy.xml.i> diff --git a/interface-definitions/include/interface/vif.xml.i b/interface-definitions/include/interface/vif.xml.i index 8a1475711..615101664 100644 --- a/interface-definitions/include/interface/vif.xml.i +++ b/interface-definitions/include/interface/vif.xml.i @@ -49,6 +49,7 @@      #include <include/interface/ipv4-options.xml.i>      #include <include/interface/ipv6-options.xml.i>      #include <include/interface/mac.xml.i> +    #include <include/interface/mirror.xml.i>      #include <include/interface/mtu-68-16000.xml.i>      #include <include/interface/redirect.xml.i>      #include <include/interface/traffic-policy.xml.i> diff --git a/python/vyos/configverify.py b/python/vyos/configverify.py index df2c5775a..9f2771854 100644 --- a/python/vyos/configverify.py +++ b/python/vyos/configverify.py @@ -317,9 +317,12 @@ def verify_vlan_config(config):          if duplicate:              raise ConfigError(f'Duplicate VLAN id "{duplicate[0]}" used for vif and vif-s interfaces!') +    parent_ifname = config['ifname']      # 802.1q VLANs -    for vlan in config.get('vif', {}): -        vlan = config['vif'][vlan] +    for vlan_id in config.get('vif', {}): +        vlan = config['vif'][vlan_id] +        vlan['ifname'] = f'{parent_ifname}.{vlan_id}' +          verify_dhcpv6(vlan)          verify_address(vlan)          verify_vrf(vlan) @@ -327,16 +330,20 @@ def verify_vlan_config(config):          verify_mtu_parent(vlan, config)      # 802.1ad (Q-in-Q) VLANs -    for s_vlan in config.get('vif_s', {}): -        s_vlan = config['vif_s'][s_vlan] +    for s_vlan_id in config.get('vif_s', {}): +        s_vlan = config['vif_s'][s_vlan_id] +        s_vlan['ifname'] = f'{parent_ifname}.{s_vlan_id}' +          verify_dhcpv6(s_vlan)          verify_address(s_vlan)          verify_vrf(s_vlan)          verify_mirror_redirect(s_vlan)          verify_mtu_parent(s_vlan, config) -        for c_vlan in s_vlan.get('vif_c', {}): -            c_vlan = s_vlan['vif_c'][c_vlan] +        for c_vlan_id in s_vlan.get('vif_c', {}): +            c_vlan = s_vlan['vif_c'][c_vlan_id] +            c_vlan['ifname'] = f'{parent_ifname}.{s_vlan_id}.{c_vlan_id}' +              verify_dhcpv6(c_vlan)              verify_address(c_vlan)              verify_vrf(c_vlan) diff --git a/python/vyos/ifconfig/interface.py b/python/vyos/ifconfig/interface.py index 76164ca32..1464b2969 100755 --- a/python/vyos/ifconfig/interface.py +++ b/python/vyos/ifconfig/interface.py @@ -1734,6 +1734,3 @@ class VLANIf(Interface):              return None          return super().set_admin_state(state) - -    def set_mirror_redirect(self): -        return | 
