diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-06-23 18:43:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-23 18:43:15 +0200 |
commit | 48ee777481e4dedf645c6b618ce94597bbcd20d4 (patch) | |
tree | 2822edd550a613e21ecb50fea6cd971d11cc681b | |
parent | 7e4bd9459dc7a319604922dc4df4549163b82fcb (diff) | |
parent | f4ed92200cda5fbc25be3195e7e8f21b3ada2e24 (diff) | |
download | vyos-1x-48ee777481e4dedf645c6b618ce94597bbcd20d4.tar.gz vyos-1x-48ee777481e4dedf645c6b618ce94597bbcd20d4.zip |
Merge pull request #472 from thomas-mangin/T2633
tunnel: T2633: add support for ip (arp) commands
-rw-r--r-- | interface-definitions/include/interface-ipv4.xml.i | 11 | ||||
-rw-r--r-- | interface-definitions/include/interface-ipv6.xml.i | 10 | ||||
-rw-r--r-- | interface-definitions/interfaces-tunnel.xml.in | 9 | ||||
-rwxr-xr-x | src/conf_mode/interfaces-tunnel.py | 11 |
4 files changed, 34 insertions, 7 deletions
diff --git a/interface-definitions/include/interface-ipv4.xml.i b/interface-definitions/include/interface-ipv4.xml.i new file mode 100644 index 000000000..15932a9d3 --- /dev/null +++ b/interface-definitions/include/interface-ipv4.xml.i @@ -0,0 +1,11 @@ +<node name="ip"> + <properties> + <help>IPv4 routing parameters</help> + </properties> + <children> + #include <include/interface-disable-arp-filter.xml.i> + #include <include/interface-enable-arp-accept.xml.i> + #include <include/interface-enable-arp-announce.xml.i> + #include <include/interface-enable-arp-ignore.xml.i> + </children> +</node> diff --git a/interface-definitions/include/interface-ipv6.xml.i b/interface-definitions/include/interface-ipv6.xml.i new file mode 100644 index 000000000..23362f75a --- /dev/null +++ b/interface-definitions/include/interface-ipv6.xml.i @@ -0,0 +1,10 @@ +<node name="ipv6"> + <properties> + <help>IPv6 routing parameters</help> + </properties> + <children> + #include <include/ipv6-address.xml.i> + #include <include/ipv6-disable-forwarding.xml.i> + #include <include/ipv6-dup-addr-detect-transmits.xml.i> + </children> +</node> diff --git a/interface-definitions/interfaces-tunnel.xml.in b/interface-definitions/interfaces-tunnel.xml.in index a38a73e15..64520ce99 100644 --- a/interface-definitions/interfaces-tunnel.xml.in +++ b/interface-definitions/interfaces-tunnel.xml.in @@ -22,13 +22,8 @@ #include <include/interface-disable-link-detect.xml.i> #include <include/interface-vrf.xml.i> #include <include/interface-mtu-64-8024.xml.i> - <node name="ipv6"> - <children> - #include <include/ipv6-address.xml.i> - #include <include/ipv6-disable-forwarding.xml.i> - #include <include/ipv6-dup-addr-detect-transmits.xml.i> - </children> - </node> + #include <include/interface-ipv4.xml.i> + #include <include/interface-ipv6.xml.i> <leafNode name="local-ip"> <properties> <help>Local IP address for this tunnel</help> diff --git a/src/conf_mode/interfaces-tunnel.py b/src/conf_mode/interfaces-tunnel.py index c9964d41c..c13f77d91 100755 --- a/src/conf_mode/interfaces-tunnel.py +++ b/src/conf_mode/interfaces-tunnel.py @@ -254,6 +254,10 @@ default_config_data = { 'ip': False, 'ipv6': False, 'nhrp': [], + 'arp_filter': 1, + 'arp_accept': 0, + 'arp_announce': 0, + 'arp_ignore': 0, 'ipv6_accept_ra': 1, 'ipv6_autoconf': 0, 'ipv6_forwarding': 1, @@ -307,6 +311,10 @@ mapping = { 'link_detect': ('disable-link-detect', False, 2), 'vrf': ('vrf', False, None), 'addresses-add': ('address', True, None), + 'arp_filter': ('ip disable-arp-filter', False, 0), + 'arp_accept': ('ip enable-arp-accept', False, 1), + 'arp_announce': ('ip enable-arp-announce', False, 1), + 'arp_ignore': ('ip enable-arp-ignore', False, 1), 'ipv6_autoconf': ('ipv6 address autoconf', False, 1), 'ipv6_forwarding': ('ipv6 disable-forwarding', False, 0), 'ipv6_dad_transmits:': ('ipv6 dup-addr-detect-transmits', False, None) @@ -474,6 +482,8 @@ def verify(conf): kls = get_class(options) valid = kls.updates + ['alias', 'addresses-add', 'addresses-del', 'vrf', 'state'] + valid += ['arp_filter', 'arp_accept', 'arp_announce', 'arp_ignore'] + valid += ['ipv6_accept_ra', 'ipv6_autoconf', 'ipv6_forwarding', 'ipv6_dad_transmits'] if changes['section'] == 'create': valid.extend(['type',]) @@ -645,6 +655,7 @@ def apply(conf): # set other interface properties for option in ('alias', 'mtu', 'link_detect', 'multicast', 'allmulticast', + 'arp_accept', 'arp_filter', 'arp_announce', 'arp_ignore', 'ipv6_accept_ra', 'ipv6_autoconf', 'ipv6_forwarding', 'ipv6_dad_transmits'): if not options[option]: # should never happen but better safe |