sonic-buildimage/dockers
zhenggen-xu d761630f73 Fix potential blackholing/looping traffic when link-local was used and refresh ipv6 neighbor to avoid CPU hit (#1904)
* Fix potential blackholing/looping traffic and refresh ipv6 neighbor to avoid CPU hit

In case ipv6 global addresses were configured on L3 interfaces and used for peering,
and routing protocol was using link-local addresses on the same interfaces as prefered nexthops,
the link-local addresses could be aged out after a while due to no activities towards the link-local
addresses themselves. And when we receive new routes with the link-local nexthops, SONiC won't insert
them to the HW, and thus cause looping or blackholing traffic.

Global ipv6 addresses on L3 interfaces between switches are refreshed by BGP keeplive and other messages.

On server facing side, traffic may hit fowarding plane only, and no refresh for the ipv6 neighbor entries regularly.
This could age-out the linux kernel ipv6 neighbor entries, and HW neighbor table entries could be removed,
and thus traffic going to those neighbors would hit CPU, and cause traffic drop and temperary CPU high load.

Also, if link-local addresses were not learned, we may not get them at all later.

It is intended to fix all above issues.

Changes:
Add ndisc6 package in swss docker and use it for ipv6 ndp ping to update the neighbors' state on Vlan interfaces
Change the default ipv6 neighbor reachable timer to 30mins
Add periodical ipv6 multicast ping to ff02::11 to get/refresh link-local neighbor info.

* Fix review comments:
Add PORTCHANNEL_INTERFACE interface for ipv6 multicast ping
format issue

* Combine regular L3 interface and portchannel interface for looping

* Add ndisc6 package to vs docker
2018-08-12 03:14:55 -07:00
..
docker-base Download newer version (8.23.0-2) of rsyslog from jessie-backports in hopes of eliminating memory leaks (#1912) 2018-08-09 23:56:41 -07:00
docker-basic_router Remove extra trailing newlines at EOF (#804) 2017-07-12 20:54:37 -07:00
docker-config-engine [configdb]: Sorting all json config-elements residing in config_db.json (#1454) 2018-03-09 23:51:33 -08:00
docker-database Prefix docker container name to syslog syslogtag (program name) (#1810) 2018-06-25 10:48:42 -07:00
docker-dhcp-relay Prefix docker container name to syslog syslogtag (program name) (#1810) 2018-06-25 10:48:42 -07:00
docker-fpm-frr Prefix docker container name to syslog syslogtag (program name) (#1810) 2018-06-25 10:48:42 -07:00
docker-fpm-gobgp [config] Fix an issue that bgp asn data type is not consistent (#953) 2017-09-13 21:23:06 -07:00
docker-fpm-quagga Prefix docker container name to syslog syslogtag (program name) (#1810) 2018-06-25 10:48:42 -07:00
docker-lldp-sv2 Prefix docker container name to syslog syslogtag (program name) (#1810) 2018-06-25 10:48:42 -07:00
docker-orchagent Fix potential blackholing/looping traffic when link-local was used and refresh ipv6 neighbor to avoid CPU hit (#1904) 2018-08-12 03:14:55 -07:00
docker-platform-monitor [devices]: DellEMC new platform support for z9264f - 64x100 (#26) 2018-08-11 09:09:03 +00:00
docker-ptf Move tcpdump into /usr/bin Otherwise it's impossible to run tcpdump due to a docker bug (#1195) 2017-11-29 16:36:26 -08:00
docker-ptf-saithrift [docker-ptf-*]: Use buildimage infrastructure to build docker-ptf-* (#638) 2017-05-26 17:18:11 -07:00
docker-router-advertiser Prefix docker container name to syslog syslogtag (program name) (#1810) 2018-06-25 10:48:42 -07:00
docker-saiserver-bfn [barefoot]: Support for platforms based on Barefoot Networks' device (#1796) 2018-07-24 10:23:12 -07:00
docker-saiserver-brcm Remove extra trailing newlines at EOF (#804) 2017-07-12 20:54:37 -07:00
docker-saiserver-cavm Remove extra trailing newlines at EOF (#804) 2017-07-12 20:54:37 -07:00
docker-saiserver-mlnx Remove extra trailing newlines at EOF (#804) 2017-07-12 20:54:37 -07:00
docker-snmp-sv2 Prefix docker container name to syslog syslogtag (program name) (#1810) 2018-06-25 10:48:42 -07:00
docker-sonic-mgmt Upgrade azure-keyvault to known compatible version (#1906) 2018-08-08 18:29:17 -07:00
docker-sonic-telemetry Prefix docker container name to syslog syslogtag (program name) (#1810) 2018-06-25 10:48:42 -07:00
docker-teamd [Mellanox] Use MAC from EEPROM for PortChannels and VLAN Interfaces (#1793) 2018-07-23 15:51:03 -07:00
docker-orchagent-bfn [barefoot]: Support for platforms based on Barefoot Networks' device (#1796) 2018-07-24 10:23:12 -07:00
docker-orchagent-cavm Add support for cavium SAI (#5) 2016-09-25 21:48:25 -07:00
docker-orchagent-centec Support centec platform (#376) 2017-03-04 02:17:38 -08:00
docker-orchagent-mlnx Squash merge master (11de390) 2016-08-04 10:39:33 -07:00
docker-orchagent-nephos [Platform] Add Ingrasys S9130-32X and S9230-64X with Nephos Switch ASIC (#1245) 2017-12-22 10:04:29 -08:00