ab05a2f58a
This PR is cherry-pick of master https://github.com/Azure/sonic-buildimage/pull/6920 Why I did it Add support for BGP Monitors on multi asic SONiC platforms. How I did it On multi ASIC SONiC platforms, BGP monitor session will be established from Backend ASIC. To achieve this following changes are done Add BGP monitor configuration on the backend ASIC. The BGP monitor configuration is present in the DPG of the device in minigraph.xml of multi-ASIC device, so this configuration will be added to the config_db of the host, when the minigraph is loaded. To add configuration for this in the Backend ASIC, a new class MultiAsicBgpMonCfg is added to the hostcfgd service to update the config_db of the backend ASIC when the BGP_MONITOR table of the host config_db is updated. This way incremental BGP_MONITOR configuration can also be handled. Changes to establish BGP session with bgp monitor. Add route in host main routing table to go to one of pre-define backend asic Add IP table rule on front asic to mark the BGP packets with destination as IPv4 Loopback. Add IP rule in front asic namespace to match mark BGP packet and lookup default table Program the default route in FrontEnd asic name space docker default table as part of start.sh of the BGP container. It need to be done as part of start.sh otherwise FRR default route will get over-written. How to verify it Signed-off-by: Abhishek Dosi <abdosi@microsoft.com> Co-authored-by: Arvind <arlakshm@microsoft.com> |
||
---|---|---|
.. | ||
docker-base | ||
docker-base-stretch | ||
docker-basic_router | ||
docker-config-engine | ||
docker-config-engine-stretch | ||
docker-database | ||
docker-dhcp-relay | ||
docker-fpm-frr | ||
docker-fpm-gobgp | ||
docker-fpm-quagga | ||
docker-lldp-sv2 | ||
docker-nat | ||
docker-orchagent | ||
docker-platform-monitor | ||
docker-ptf | ||
docker-ptf-saithrift | ||
docker-router-advertiser | ||
docker-sflow | ||
docker-snmp-sv2 | ||
docker-sonic-mgmt | ||
docker-sonic-mgmt-framework | ||
docker-sonic-restapi | ||
docker-sonic-telemetry | ||
docker-teamd | ||
dockerfile-macros.j2 |