From 4e39907b7d6ff908217e6f6029ddbc270634ad09 Mon Sep 17 00:00:00 2001 From: wangshengjun Date: Fri, 30 Aug 2019 14:04:35 +0800 Subject: [PATCH 1/2] [dhcp_relay]:filter out the ipv6 address of dhcp server for dhcp relay(v4) config file. Signed-off-by: wangshengjun --- .../docker-dhcp-relay.supervisord.conf.j2 | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 b/dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 index bbc24ecc091c..8227bb536bac 100644 --- a/dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 +++ b/dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 @@ -43,8 +43,16 @@ isc-dhcp-relay-{{ vlan_name }} {# Create a program entry for each DHCP relay agent instance #} +{% set relay_for_ipv4 = { 'flag': False } %} {% for vlan_name in VLAN %} {% if VLAN[vlan_name]['dhcp_servers'] %} +{% for dhcp_server in VLAN[vlan_name]['dhcp_servers'] %} +{% if dhcp_server | ipv4 %} +{% set _dummy = relay_for_ipv4.update({'flag': True}) %} +{% endif %} +{% endfor %} +{% if relay_for_ipv4.flag %} +{% set _dummy = relay_for_ipv4.update({'flag': False}) %} [program:isc-dhcp-relay-{{ vlan_name }}] {# We treat this VLAN as a downstream interface (-id), as we only want to listen for requests #} command=/usr/sbin/dhcrelay -d -m discard -a %%h:%%p %%P --name-alias-map-file /tmp/port-name-alias-map.txt -id {{ vlan_name }} @@ -58,7 +66,9 @@ command=/usr/sbin/dhcrelay -d -m discard -a %%h:%%p %%P --name-alias-map-file /t {% for (name, prefix) in PORTCHANNEL_INTERFACE|pfx_filter %} {% if prefix | ipv4 %} -iu {{ name }}{% endif -%} {% endfor %} -{% for dhcp_server in VLAN[vlan_name]['dhcp_servers'] %} {{ dhcp_server }}{% endfor %} +{% for dhcp_server in VLAN[vlan_name]['dhcp_servers'] %} +{%- if dhcp_server | ipv4 %} {{ dhcp_server }}{% endif -%} +{% endfor %} priority=3 autostart=false @@ -66,6 +76,7 @@ autorestart=false stdout_logfile=syslog stderr_logfile=syslog +{% endif %} {% endif %} {% endfor %} {% endif %} From b5de60b754ace5c69a6880de07efa8654927f53c Mon Sep 17 00:00:00 2001 From: wangshengjun Date: Fri, 6 Sep 2019 09:11:10 +0800 Subject: [PATCH 2/2] [dhcp_relay]:Remove extra space after 'if' Signed-off-by: wangshengjun --- dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 b/dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 index 8227bb536bac..4462ff3d7fdc 100644 --- a/dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 +++ b/dockers/docker-dhcp-relay/docker-dhcp-relay.supervisord.conf.j2 @@ -47,7 +47,7 @@ isc-dhcp-relay-{{ vlan_name }} {% for vlan_name in VLAN %} {% if VLAN[vlan_name]['dhcp_servers'] %} {% for dhcp_server in VLAN[vlan_name]['dhcp_servers'] %} -{% if dhcp_server | ipv4 %} +{% if dhcp_server | ipv4 %} {% set _dummy = relay_for_ipv4.update({'flag': True}) %} {% endif %} {% endfor %}