diff options
| author | Christian Poessinger <christian@poessinger.com> | 2020-05-19 17:23:12 +0200 | 
|---|---|---|
| committer | Christian Poessinger <christian@poessinger.com> | 2020-05-19 17:23:12 +0200 | 
| commit | 3e76f032c22fd3d3f51bffbb5c956c8a6f68d35f (patch) | |
| tree | d71af1000c29e120aef765d6aa99c1ed23668d0b /python | |
| parent | 77eaf77f4fde463192f7c29a9492ab958d75eaaf (diff) | |
| download | vyos-1x-3e76f032c22fd3d3f51bffbb5c956c8a6f68d35f.tar.gz vyos-1x-3e76f032c22fd3d3f51bffbb5c956c8a6f68d35f.zip  | |
configdict: T2372: use list over string
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/configdict.py | 86 | 
1 files changed, 41 insertions, 45 deletions
diff --git a/python/vyos/configdict.py b/python/vyos/configdict.py index a2a1d911f..35c7ad1fc 100644 --- a/python/vyos/configdict.py +++ b/python/vyos/configdict.py @@ -206,117 +206,114 @@ def intf_to_dict(conf, default):      intf['intf'] = ifname_from_config(conf)      # retrieve interface description -    if conf.exists('description'): -        intf['description'] = conf.return_value('description') +    if conf.exists(['description']): +        intf['description'] = conf.return_value(['description'])      # get DHCP client identifier -    if conf.exists('dhcp-options client-id'): -        intf['dhcp_client_id'] = conf.return_value('dhcp-options client-id') +    if conf.exists(['dhcp-options', 'client-id']): +        intf['dhcp_client_id'] = conf.return_value(['dhcp-options', 'client-id'])      # DHCP client host name (overrides the system host name) -    if conf.exists('dhcp-options host-name'): -        intf['dhcp_hostname'] = conf.return_value('dhcp-options host-name') +    if conf.exists(['dhcp-options', 'host-name']): +        intf['dhcp_hostname'] = conf.return_value(['dhcp-options', 'host-name'])      # DHCP client vendor identifier -    if conf.exists('dhcp-options vendor-class-id'): +    if conf.exists(['dhcp-options', 'vendor-class-id']):          intf['dhcp_vendor_class_id'] = conf.return_value( -            'dhcp-options vendor-class-id') +            ['dhcp-options', 'vendor-class-id'])      # DHCPv6 only acquire config parameters, no address -    if conf.exists('dhcpv6-options parameters-only'): +    if conf.exists(['dhcpv6-options', 'parameters-only']):          intf['dhcpv6_prm_only'] = True      # DHCPv6 temporary IPv6 address -    if conf.exists('dhcpv6-options temporary'): +    if conf.exists(['dhcpv6-options', 'temporary']):          intf['dhcpv6_temporary'] = True      # ignore link state changes -    if conf.exists('disable-link-detect'): +    if conf.exists(['disable-link-detect']):          intf['disable_link_detect'] = 2      # ARP filter configuration -    if conf.exists('ip disable-arp-filter'): +    if conf.exists(['ip', 'disable-arp-filter']):          intf['ip_disable_arp_filter'] = 0      # ARP enable accept -    if conf.exists('ip enable-arp-accept'): +    if conf.exists(['ip', 'enable-arp-accept']):          intf['ip_enable_arp_accept'] = 1      # ARP enable announce -    if conf.exists('ip enable-arp-announce'): +    if conf.exists(['ip', 'enable-arp-announce']):          intf['ip_enable_arp_announce'] = 1      # ARP enable ignore -    if conf.exists('ip enable-arp-ignore'): +    if conf.exists(['ip', 'enable-arp-ignore']):          intf['ip_enable_arp_ignore'] = 1      # Enable Proxy ARP -    if conf.exists('ip enable-proxy-arp'): +    if conf.exists(['ip', 'enable-proxy-arp']):          intf['ip_proxy_arp'] = 1      # Enable acquisition of IPv6 address using stateless autoconfig (SLAAC) -    if conf.exists('ipv6 address autoconf'): +    if conf.exists(['ipv6', 'address', 'autoconf']):          intf['ipv6_autoconf'] = 1      # Disable IPv6 forwarding on this interface -    if conf.exists('ipv6 disable-forwarding'): +    if conf.exists(['ipv6', 'disable-forwarding']):          intf['ipv6_forwarding'] = 0      # check if interface is member of a bridge      intf['is_bridge_member'] = is_member(conf, intf['intf'], 'bridge')      # IPv6 Duplicate Address Detection (DAD) tries -    if conf.exists('ipv6 dup-addr-detect-transmits'): +    if conf.exists(['ipv6', 'dup-addr-detect-transmits']):          intf['ipv6_dup_addr_detect'] = int( -            conf.return_value('ipv6 dup-addr-detect-transmits')) +            conf.return_value(['ipv6', 'dup-addr-detect-transmits']))      # Media Access Control (MAC) address -    if conf.exists('mac'): -        intf['mac'] = conf.return_value('mac') +    if conf.exists(['mac']): +        intf['mac'] = conf.return_value(['mac'])      # Maximum Transmission Unit (MTU) -    if conf.exists('mtu'): -        intf['mtu'] = int(conf.return_value('mtu')) +    if conf.exists(['mtu']): +        intf['mtu'] = int(conf.return_value(['mtu']))      # retrieve VRF instance -    if conf.exists('vrf'): -        intf['vrf'] = conf.return_value('vrf') +    if conf.exists(['vrf']): +        intf['vrf'] = conf.return_value(['vrf'])      #  egress QoS -    if conf.exists('egress-qos'): -        intf['egress_qos'] = conf.return_value('egress-qos') +    if conf.exists(['egress-qos']): +        intf['egress_qos'] = conf.return_value(['egress-qos'])      # egress changes QoS require VLAN interface recreation -    if conf.return_effective_value('egress-qos'): -        if intf['egress_qos'] != conf.return_effective_value('egress-qos'): +    if conf.return_effective_value(['egress-qos']): +        if intf['egress_qos'] != conf.return_effective_value(['egress-qos']):              intf['egress_qos_changed'] = True      # ingress QoS -    if conf.exists('ingress-qos'): -        intf['ingress_qos'] = conf.return_value('ingress-qos') +    if conf.exists(['ingress-qos']): +        intf['ingress_qos'] = conf.return_value(['ingress-qos'])      # ingress changes QoS require VLAN interface recreation -    if conf.return_effective_value('ingress-qos'): -        if intf['ingress_qos'] != conf.return_effective_value('ingress-qos'): +    if conf.return_effective_value(['ingress-qos']): +        if intf['ingress_qos'] != conf.return_effective_value(['ingress-qos']):              intf['ingress_qos_changed'] = True      # Get the interface addresses -    intf['address'] = conf.return_values('address') +    intf['address'] = conf.return_values(['address'])      # addresses to remove - difference between effective and working config      intf['address_remove'] = list_diff( -            conf.return_effective_values('address'), -            intf['address'] -            ) +            conf.return_effective_values(['address']), intf['address'])      # Get prefixes for IPv6 addressing based on MAC address (EUI-64) -    intf['ipv6_eui64_prefix'] = conf.return_values('ipv6 address eui64') +    intf['ipv6_eui64_prefix'] = conf.return_values(['ipv6', 'address', 'eui64'])      # EUI64 to remove - difference between effective and working config      intf['ipv6_eui64_prefix_remove'] = list_diff( -            conf.return_effective_values('ipv6 address eui64'), -            intf['ipv6_eui64_prefix'] -            ) +            conf.return_effective_values(['ipv6', 'address', 'eui64']), +            intf['ipv6_eui64_prefix'])      # Determine if the interface should be disabled      disabled = disable_state(conf) @@ -335,9 +332,8 @@ def intf_to_dict(conf, default):      # Remove the default link-local address if no-default-link-local is set,      # if member of a bridge or if disabled (it may not have a MAC if it's down) -    if ( conf.exists('ipv6 address no-default-link-local') -            or intf.get('is_bridge_member') -            or intf['disable'] ): +    if ( conf.exists(['ipv6', 'address', 'no-default-link-local']) +            or intf.get('is_bridge_member') or intf['disable'] ):          intf['ipv6_eui64_prefix_remove'].append('fe80::/64')      else:          # add the link-local by default to make IPv6 work  | 
