[swss][arp_update] Send ipv6 pings over vlan sub interfaces (#8363)
#### Why I did it * `arp_update` fails to ping those neighbors over vlan sub interfaces. #### How I did it * modify `arp_update_vars.j2` to get vlan sub interfaces with ipv6 addresses assigned. * modify `arp_update` to send ipv6 pings over those retrieved vlan sub interfaces. Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
This commit is contained in:
parent
02bce90933
commit
9cc4b7b406
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"interface": "{% for (name, prefix) in INTERFACE|pfx_filter %}{% if prefix|ipv6 %}{{ name }} {% endif %}{% endfor %}",
|
"interface": "{% for (name, prefix) in INTERFACE|pfx_filter %}{% if prefix|ipv6 %}{{ name }} {% endif %}{% endfor %}",
|
||||||
"pc_interface" : "{% for (name, prefix) in PORTCHANNEL_INTERFACE|pfx_filter %}{% if prefix|ipv6 %}{{ name }} {% endif %}{% endfor %}",
|
"pc_interface" : "{% for (name, prefix) in PORTCHANNEL_INTERFACE|pfx_filter %}{% if prefix|ipv6 %}{{ name }} {% endif %}{% endfor %}",
|
||||||
|
"vlan_sub_interface": "{% for (name, prefix) in VLAN_SUB_INTERFACE|pfx_filter %}{% if prefix|ipv6 %}{{ name }} {% endif %}{% endfor %}",
|
||||||
"vlan" : "{% if VLAN %}{{ VLAN.keys() | join(' ') }}{% endif %}"
|
"vlan" : "{% if VLAN %}{{ VLAN.keys() | join(' ') }}{% endif %}"
|
||||||
}
|
}
|
||||||
|
@ -14,8 +14,9 @@ while /bin/true; do
|
|||||||
ARP_UPDATE_VARS=$(sonic-cfggen -d -t ${ARP_UPDATE_VARS_FILE})
|
ARP_UPDATE_VARS=$(sonic-cfggen -d -t ${ARP_UPDATE_VARS_FILE})
|
||||||
INTERFACE=$(echo $ARP_UPDATE_VARS | jq -r '.interface')
|
INTERFACE=$(echo $ARP_UPDATE_VARS | jq -r '.interface')
|
||||||
PC_INTERFACE=$(echo $ARP_UPDATE_VARS | jq -r '.pc_interface')
|
PC_INTERFACE=$(echo $ARP_UPDATE_VARS | jq -r '.pc_interface')
|
||||||
|
VLAN_SUB_INTERFACE=$(echo $ARP_UPDATE_VARS | jq -r '.vlan_sub_interface')
|
||||||
|
|
||||||
ALL_INTERFACE="$INTERFACE $PC_INTERFACE"
|
ALL_INTERFACE="$INTERFACE $PC_INTERFACE $VLAN_SUB_INTERFACE"
|
||||||
for intf in $ALL_INTERFACE; do
|
for intf in $ALL_INTERFACE; do
|
||||||
ping6cmd="ping6 -I $intf -n -q -i 0 -c 1 -W 0 ff02::1 >/dev/null"
|
ping6cmd="ping6 -I $intf -n -q -i 0 -c 1 -W 0 ff02::1 >/dev/null"
|
||||||
intf_up=$(ip link show $intf | grep "state UP")
|
intf_up=$(ip link show $intf | grep "state UP")
|
||||||
|
Loading…
Reference in New Issue
Block a user