summaryrefslogtreecommitdiff
path: root/src/conf_mode/lldp.py
diff options
context:
space:
mode:
authoragh <from-github-vyos@agh2342.de>2020-02-08 20:19:12 +0100
committeragh <from-github-vyos@agh2342.de>2020-02-09 02:13:26 +0100
commita7f329f129f5488feece70c8e775b7c9e7a1caf0 (patch)
treed7884ecf9b405c36a58f65fcfcc2609cfc4c2d6c /src/conf_mode/lldp.py
parente035548f88388cd12f54a94b4c89bac97ad09ba6 (diff)
downloadvyos-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-xsrc/conf_mode/lldp.py2
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(",") }}