diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/configdict.py | 5 | ||||
| -rw-r--r-- | python/vyos/ifconfig/interface.py | 11 | ||||
| -rw-r--r-- | python/vyos/ifconfig_vlan.py | 4 | 
3 files changed, 19 insertions, 1 deletions
| diff --git a/python/vyos/configdict.py b/python/vyos/configdict.py index b0214ded4..66da52ff3 100644 --- a/python/vyos/configdict.py +++ b/python/vyos/configdict.py @@ -123,6 +123,7 @@ def vlan_to_dict(conf):          'ip_enable_arp_accept': 0,          'ip_enable_arp_announce': 0,          'ip_enable_arp_ignore': 0, +        'ipv6_autoconf': 0,          'ipv6_forwarding': 1,          'ipv6_dup_addr_detect': 1,          'ingress_qos': '', @@ -189,6 +190,10 @@ def vlan_to_dict(conf):      if conf.exists('ip enable-arp-ignore'):          vlan['ip_enable_arp_ignore'] = 1 +    # Enable acquisition of IPv6 address using stateless autoconfig (SLAAC) +    if conf.exists('ipv6 address autoconf'): +        vlan['ipv6_autoconf'] = 1 +      # Disable IPv6 forwarding on this interface      if conf.exists('ipv6 disable-forwarding'):          vlan['ipv6_forwarding'] = 0 diff --git a/python/vyos/ifconfig/interface.py b/python/vyos/ifconfig/interface.py index da6b54e69..a2d202466 100644 --- a/python/vyos/ifconfig/interface.py +++ b/python/vyos/ifconfig/interface.py @@ -115,6 +115,10 @@ class Interface(DHCP):              'validate': assert_boolean,              'location': '/proc/sys/net/ipv4/conf/{ifname}/arp_ignore',          }, +        'ipv6_autoconf': { +            'validate': lambda fwd: assert_range(fwd,0,2), +            'location': '/proc/sys/net/ipv6/conf/{ifname}/autoconf', +        },          'ipv6_forwarding': {              'validate': lambda fwd: assert_range(fwd,0,2),              'location': '/proc/sys/net/ipv6/conf/{ifname}/forwarding', @@ -382,6 +386,13 @@ class Interface(DHCP):          """          return self.set_interface('arp_ignore', arp_ignore) +    def set_ipv6_autoconf(self, autoconf): +        """ +        Autoconfigure addresses using Prefix Information in Router +        Advertisements. +        """ +        return self.set_interface('ipv6_autoconf', autoconf) +      def set_ipv6_forwarding(self, forwarding):          """          Configure IPv6 interface-specific Host/Router behaviour. diff --git a/python/vyos/ifconfig_vlan.py b/python/vyos/ifconfig_vlan.py index b3c5f3b76..00270cf58 100644 --- a/python/vyos/ifconfig_vlan.py +++ b/python/vyos/ifconfig_vlan.py @@ -64,7 +64,9 @@ def apply_vlan_config(vlan, config):      vlan.set_arp_announce(config['ip_enable_arp_announce'])      # configure ARP ignore      vlan.set_arp_ignore(config['ip_enable_arp_ignore']) -    # Disable IPv6 forwarding on this interface +    # IPv6 address autoconfiguration +    vlan.set_ipv6_autoconf(config['ipv6_autoconf']) +    # IPv6 forwarding      vlan.set_ipv6_forwarding(config['ipv6_forwarding'])      # IPv6 Duplicate Address Detection (DAD) tries      vlan.set_ipv6_dad_messages(config['ipv6_dup_addr_detect']) | 
