sonic-buildimage/dockers
guangyao6 9567c06570
Add BGP configuration for BGPSentinel peer (#15714)
Why I did it
For route registry service, in order to block hijacked routes, IBGP session needs to be set up from BGP sentinel service to SONiC, and BGP sentinel service advertise the same route with higher local-preference and no export community. So that SONiC takes the route from BGP sentinel as the best path and does not advertise the route to EBGP peers.
In order to do that, new route-maps are needed. So this change adds a new set of templates, keeping BGPSentinel peers out of the other templates.

Work item tracking
Microsoft ADO (number only): 24451346
How I did it
Add sentinel_community in constants.yml, route from BGPSentinel do not match this community will be denied.
Add support to convert BGPSentinel related configuration in the BGPPeerPassive element of the minigraph to a new BGP_SENTINELS table in CONFIG_DB
Add a new set of "sentinels" templates to docker-fpm-frr
Add a new BGP peer manager to bgpcfgd, to add neighbors from the BGP_SENTINELS table using the "sentinels" templates
Add a test case for minigraph.py, making sure the BGPSentinel and BGPSentinelV6 elements create BGP_SENTINELS DB entry.
Add a set of test cases for the new sentinels templates in sonic-bgpcfgd tests.
Add sonic-bgp-sentinel.yang and a set of testcases for the yang file.

How to verify it
Testcases and UT newly added would pass.
Setup IPv4 and IPv6 BGPSentinel services in minigraph, and load minigraph, show CONFIG_DB and "show runningconfig bgp", configuration would be loaded successfully.
Using t1-lag topo and setup IBGP session from BGPSentinel to SONiC loopback address, IBGP session would up.
Advertise route from BGPSentinel to T1 with sentinel_community, higher local-preference and no-export communiyt. In T1, show bgp route, the result is "Not advertise to any EBGP peer".
Withdraw the route in BGPSentinel, in T1, route would advertise to EBGP peers.
Advertise route from T1 that does not match sentinel_community, in T1, would not see the route in show bgp route.
2023-07-21 09:32:29 +08:00
..
docker-base [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-base-bullseye [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-base-buster [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-base-stretch [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-basic_router [supervisord]: use abspath as supervisord entrypoint (#5995) 2020-11-22 21:18:44 -08:00
docker-config-engine Install python-redis package to docker containers (#14632) 2023-04-19 18:14:48 -07:00
docker-config-engine-bullseye [Build] Fix the PyYang python package installation issue (#15890) 2023-07-19 06:33:49 +08:00
docker-config-engine-buster [Build] Fix the PyYang python package installation issue (#15890) 2023-07-19 06:33:49 +08:00
docker-config-engine-stretch Install python-redis package to docker containers (#14632) 2023-04-19 18:14:48 -07:00
docker-database Migrate flush_unused_database from py-redis to sonic-swss-common (#15511) 2023-06-29 15:08:54 -07:00
docker-dhcp-relay advance dhcprelay to 6a6ce24, add default dhcpv6 dualtor source interface (#15864) 2023-07-17 15:28:10 -07:00
docker-eventd Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-fpm-frr Add BGP configuration for BGPSentinel peer (#15714) 2023-07-21 09:32:29 +08:00
docker-fpm-gobgp Parallel building of sonic dockers using native dockerd(dood). (#10352) 2022-04-28 08:39:37 +08:00
docker-iccpd Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-lldp Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-macsec Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-mux Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-nat Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-orchagent Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-pde [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-platform-monitor Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-ptf Upgrade scapy in the PTF's python3 virtualenv to 2.5.0 (#15573) 2023-07-14 08:36:30 -07:00
docker-ptf-sai [Build] Fix the python module importlib.metadata not found issue (#15800) 2023-07-13 10:38:46 +08:00
docker-router-advertiser Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-sflow Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-snmp [SNMP][IPv6]: Fix SNMP IPv6 reachability issue in certain scenarios (#15487) 2023-07-12 09:52:06 -07:00
docker-sonic-mgmt [sonic-mgmt docker image] Upgrade celery in the python3 to 5.2.7, upgrade ipython to 8.12.2 (#15911) 2023-07-20 14:28:08 +08:00
docker-sonic-mgmt-framework Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-sonic-p4rt Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-sonic-restapi [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-sonic-sdk [Bullseye] Upgrade sonic-sdk image to bullseye (#12649) 2022-11-28 18:57:26 +02:00
docker-sonic-sdk-buildenv Parallel building of sonic dockers using native dockerd(dood). (#10352) 2022-04-28 08:39:37 +08:00
docker-sonic-telemetry Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
docker-swss-layer-bullseye Add ping to swss-layer docker (#11093) 2022-06-10 07:40:37 -07:00
docker-swss-layer-buster Add ping to swss-layer docker (#11093) 2022-06-10 07:40:37 -07:00
docker-teamd Timezone sync issue between the host and containers (#14000) 2023-06-25 16:36:09 -07:00
dockerfile-macros.j2 [sonic-config-engine] Clean up dependencies, pin versions; install Python 3 package in Buster container (#5656) 2020-10-26 13:48:50 -07:00