summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJernej Jakob <jernej.jakob@gmail.com>2020-05-11 17:45:56 +0200
committerJernej Jakob <jernej.jakob@gmail.com>2020-05-11 17:45:56 +0200
commit115e6d152a72d1b9fe25838abda3d4ab639788a5 (patch)
treec63d15814372070e1bc294d79eac0ff1139e9e2d
parent57024619284c8fc8b5c4a1c20c19d97b0d58a161 (diff)
downloadvyos-1x-115e6d152a72d1b9fe25838abda3d4ab639788a5.tar.gz
vyos-1x-115e6d152a72d1b9fe25838abda3d4ab639788a5.zip
l2tpv3: T2449: set accept_ra=2 if ipv6 address autoconf or dhcpv6 is set
To make SLAAC and DHCPv6 work when forwarding=1, accept_ra must be 2 (default for accept_ra is 1).
-rwxr-xr-xsrc/conf_mode/interfaces-l2tpv3.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces-l2tpv3.py b/src/conf_mode/interfaces-l2tpv3.py
index 26bb537e5..cdfc6ea84 100755
--- a/src/conf_mode/interfaces-l2tpv3.py
+++ b/src/conf_mode/interfaces-l2tpv3.py
@@ -35,6 +35,7 @@ default_config_data = {
'local_address': '',
'local_port': 5000,
'intf': '',
+ 'ipv6_accept_ra': 1,
'ipv6_autoconf': 0,
'ipv6_eui64_prefix': [],
'ipv6_forwarding': 1,
@@ -132,6 +133,11 @@ def get_config():
if conf.exists('ipv6 dup-addr-detect-transmits'):
l2tpv3['ipv6_dup_addr_detect'] = int(conf.return_value('ipv6 dup-addr-detect-transmits'))
+ # to make IPv6 SLAAC and DHCPv6 work with forwarding=1,
+ # accept_ra must be 2
+ if l2tpv3['ipv6_autoconf'] or 'dhcpv6' in l2tpv3['address']:
+ l2tpv3['ipv6_accept_ra'] = 2
+
# Maximum Transmission Unit (MTU)
if conf.exists('mtu'):
l2tpv3['mtu'] = int(conf.return_value('mtu'))
@@ -241,6 +247,8 @@ def apply(l2tpv3):
l.set_alias(l2tpv3['description'])
# Maximum Transfer Unit (MTU)
l.set_mtu(l2tpv3['mtu'])
+ # IPv6 accept RA
+ l.set_ipv6_accept_ra(l2tpv3['ipv6_accept_ra'])
# IPv6 address autoconfiguration
l.set_ipv6_autoconf(l2tpv3['ipv6_autoconf'])
# IPv6 forwarding