sonic-buildimage/dockers/docker-fpm-frr
abdosi ab05a2f58a
Add support for BGP Monitors on multi asic SONiC platforms. (#6977)
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>
2021-03-06 21:21:52 -08:00
..
base_image_files [docker-fpm-frr]: TSA/B/C changes for multi-asic (#6510) 2021-02-18 18:04:24 -08:00
frr Changes in FRR temapltes for multi-asic (#6901) 2021-03-02 14:42:22 -08:00
.dockerignore [docker-fpm-frr]:filter out the file of 'Dockerfile.j2' from the 'docker-fpm-frr' image. (#3507) 2019-09-27 12:43:44 -07:00
critical_processes [201911][dockers] Update critical_processes file syntax (#4854) 2020-06-26 11:37:05 -07:00
Dockerfile.j2 [docker-fpm-frr]: TSA/B/C changes for multi-asic (#6510) 2021-02-18 18:04:24 -08:00
snmp.conf [FRR] Enable SNMP support (#2981) 2019-06-19 01:24:42 -07:00
start.sh Add support for BGP Monitors on multi asic SONiC platforms. (#6977) 2021-03-06 21:21:52 -08:00
supervisord.conf Renamed sonic-bgpcfgd/bgpmon_proj directory to sonic-bfgcfgd/bgpmon so it is in sync with master branch naming change. Also made bgpmon auto restart enabled (#5453) 2020-09-24 08:57:55 -07:00
TS [docker-fpm-frr]: TSA/B/C changes for multi-asic (#6510) 2021-02-18 18:04:24 -08:00
TSA [docker-fpm-frr]: TSA/B/C changes for multi-asic (#6510) 2021-02-18 18:04:24 -08:00
TSB [docker-fpm-frr]: TSA/B/C changes for multi-asic (#6510) 2021-02-18 18:04:24 -08:00
TSC [docker-fpm-frr]: TSA/B/C changes for multi-asic (#6510) 2021-02-18 18:04:24 -08:00
vtysh.conf [sonic-frr]: FRR 4.0 integration with SONiC (#2099) 2018-10-02 10:24:59 -07:00