diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-01-03 16:26:42 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2020-01-03 16:26:44 +0100 |
commit | 410ac0dac8400aae1523a51184726ff7606dc5fd (patch) | |
tree | 97d8c2c8cf612033e8d10dd256d72d58e4843e4f /src/conf_mode/interfaces-bonding.py | |
parent | 7bb193ce644ea73e4acaa345c84326cb5e0ef78e (diff) | |
download | vyos-1x-410ac0dac8400aae1523a51184726ff7606dc5fd.tar.gz vyos-1x-410ac0dac8400aae1523a51184726ff7606dc5fd.zip |
ifconfig: T1939: provide abstraction for interface "ip" option
Provide an XML/Python abstraction to
* ip disable-arp-filter
* ip enable-arp-accept
* ip enable-arp-announce
* ip enable-arp-ignore
The old implementation can co-exist until the last interfaces have been
migrated.
Diffstat (limited to 'src/conf_mode/interfaces-bonding.py')
-rwxr-xr-x | src/conf_mode/interfaces-bonding.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces-bonding.py b/src/conf_mode/interfaces-bonding.py index 6c5362956..c798fd44e 100755 --- a/src/conf_mode/interfaces-bonding.py +++ b/src/conf_mode/interfaces-bonding.py @@ -42,6 +42,10 @@ default_config_data = { 'disable_link_detect': 1, 'hash_policy': 'layer2', 'ip_arp_cache_tmo': 30, + 'ip_disable_arp_filter': 1, + 'ip_enable_arp_accept': 0, + 'ip_enable_arp_announce': 0, + 'ip_enable_arp_ignore': 0, 'ip_proxy_arp': 0, 'ip_proxy_arp_pvlan': 0, 'intf': '', @@ -159,6 +163,22 @@ def get_config(): if conf.exists('ip arp-cache-timeout'): bond['ip_arp_cache_tmo'] = int(conf.return_value('ip arp-cache-timeout')) + # ARP filter configuration + if conf.exists('ip disable-arp-filter'): + bond['ip_disable_arp_filter'] = 0 + + # ARP enable accept + if conf.exists('ip enable-arp-accept'): + bond['ip_enable_arp_accept'] = 1 + + # ARP enable announce + if conf.exists('ip enable-arp-announce'): + bond['ip_enable_arp_announce'] = 1 + + # ARP enable ignore + if conf.exists('ip enable-arp-ignore'): + bond['ip_enable_arp_ignore'] = 1 + # Enable proxy-arp on this interface if conf.exists('ip enable-proxy-arp'): bond['ip_proxy_arp'] = 1 @@ -387,6 +407,14 @@ def apply(bond): b.set_hash_policy(bond['hash_policy']) # configure ARP cache timeout in milliseconds b.set_arp_cache_tmo(bond['ip_arp_cache_tmo']) + # configure ARP filter configuration + b.set_arp_filter(bond['ip_disable_arp_filter']) + # configure ARP accept + b.set_arp_accept(bond['ip_enable_arp_accept']) + # configure ARP announce + b.set_arp_announce(bond['ip_enable_arp_announce']) + # configure ARP ignore + b.set_arp_ignore(bond['ip_enable_arp_ignore']) # Enable proxy-arp on this interface b.set_proxy_arp(bond['ip_proxy_arp']) # Enable private VLAN proxy ARP on this interface |