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-wireless.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-wireless.py')
-rwxr-xr-x | src/conf_mode/interfaces-wireless.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces-wireless.py b/src/conf_mode/interfaces-wireless.py index 0df0b3ba4..162aaf463 100755 --- a/src/conf_mode/interfaces-wireless.py +++ b/src/conf_mode/interfaces-wireless.py @@ -816,6 +816,10 @@ default_config_data = { 'hw_id' : '', 'intf': '', 'isolate_stations' : False, + 'ip_disable_arp_filter': 1, + 'ip_enable_arp_accept': 0, + 'ip_enable_arp_announce': 0, + 'ip_enable_arp_ignore': 0, 'mac' : '', 'max_stations' : '', 'mgmt_frame_protection' : 'disabled', @@ -1112,6 +1116,22 @@ def get_config(): if conf.exists('isolate-stations'): wifi['isolate_stations'] = True + # ARP filter configuration + if conf.exists('ip disable-arp-filter'): + wifi['ip_disable_arp_filter'] = 0 + + # ARP enable accept + if conf.exists('ip enable-arp-accept'): + wifi['ip_enable_arp_accept'] = 1 + + # ARP enable announce + if conf.exists('ip enable-arp-announce'): + wifi['ip_enable_arp_announce'] = 1 + + # ARP enable ignore + if conf.exists('ip enable-arp-ignore'): + wifi['ip_enable_arp_ignore'] = 1 + # Media Access Control (MAC) address if conf.exists('mac'): wifi['mac'] = conf.return_value('mac') @@ -1373,6 +1393,15 @@ def apply(wifi): else: w.set_mac(wifi['hw_id']) + # configure ARP filter configuration + w.set_arp_filter(wifi['ip_disable_arp_filter']) + # configure ARP accept + w.set_arp_accept(wifi['ip_enable_arp_accept']) + # configure ARP announce + w.set_arp_announce(wifi['ip_enable_arp_announce']) + # configure ARP ignore + w.set_arp_ignore(wifi['ip_enable_arp_ignore']) + # enable interface if not wifi['disable']: w.set_state('up') |