diff options
author | agh <from-github-vyos@agh2342.de> | 2020-02-08 20:19:12 +0100 |
---|---|---|
committer | agh <from-github-vyos@agh2342.de> | 2020-02-09 02:13:26 +0100 |
commit | a7f329f129f5488feece70c8e775b7c9e7a1caf0 (patch) | |
tree | d7884ecf9b405c36a58f65fcfcc2609cfc4c2d6c /src/conf_mode/lldp.py | |
parent | e035548f88388cd12f54a94b4c89bac97ad09ba6 (diff) | |
download | vyos-1x-a7f329f129f5488feece70c8e775b7c9e7a1caf0.tar.gz vyos-1x-a7f329f129f5488feece70c8e775b7c9e7a1caf0.zip |
service lldp: T2019: modify handling of interface 'all'
Modify lldpd config template in './src/conf_mode/lldp.py'.
conf_mode uses 'all' to specify all interfaces.
lldpd config file uses '*' to specify all interfaces.
Both use an exclamation mark ('!') as prefix to disable lldp on an interface, eg. '!eth1' or '!all'.
Add jinja2 template filters to create and merge following sub-lists
a) take list of conf_mode lldp interfaces, remove every interface except 'all', replace 'all' with '*'
-> support interface all
b) take list of conf_mode lldp interfaces, remove every interface except '!all', replace '!all' with '!*'
-> support interface all disabled
c) take list of conf_mode lldp interfaces, remove every interface named 'all' or '!all'
-> support any other interface
Diffstat (limited to 'src/conf_mode/lldp.py')
-rwxr-xr-x | src/conf_mode/lldp.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/conf_mode/lldp.py b/src/conf_mode/lldp.py index b664d9eba..b72916ab8 100755 --- a/src/conf_mode/lldp.py +++ b/src/conf_mode/lldp.py @@ -39,7 +39,7 @@ vyos_tmpl = """ configure system platform VyOS configure system description "VyOS {{ options.description }}" {% if options.listen_on -%} -configure system interface pattern "{{ options.listen_on | join(",") }}" +configure system interface pattern "{{ ( options.listen_on | select('equalto','all') | map('replace','all','*') | list + options.listen_on | select('equalto','!all') | map('replace','!all','!*') | list + options.listen_on | reject('equalto','all') | reject('equalto','!all') | list ) | unique | join(",") }}" {%- endif %} {% if options.mgmt_addr -%} configure system ip management pattern {{ options.mgmt_addr | join(",") }} |