This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
sonic-buildimage/dockers
abdosi 785ab1f51f
[202305] PR to make BGP GTSM feature for packet-chassis (#17237)
* [chassis/multi-asic] Make sure iBGP session established as directly connected  (#16777)

What I did:
Make Sure for internal iBGP we are one-hop away (directly connected) by using Generic TTL security mechanism.

Why I did:
Without this change it's possible on packet chassis i-BGP can be established even if there no direct connection. Below is the example

- Let's say we have 3 LC's LC1/LC2/LC3 each having i-BGP session session with each other over Loopback4096
- Each LC's have static route towards other LC's Loopback4096 to establish i-BGP session
- LC1 learn default route 0.0.0.0/0 from it's e-BGP peers and send it over to LC2 and LC3 over i-BGP
- Now for some reason on LC2 static route towards LC3 is removed/not-present/some-issue we expect i-BGP session should go down between LC2 and LC3
- However i-BGP between LC2 and LC3 does not go down because of feature ip nht-resolve-via-default  where LC2 will use default route to reach Loopback4096 of LC3. As it's using default route BGP packets from LC2 towards LC3 will first route to LC1 and then go to LC3 from there.

Above scenario can result in packet mis-forwarding on data plane

How I fixed it:-

To make sure BGP packets between i-BGP peers are not going with extra routing hop enable using GTSM feature

neighbor PEER ttl-security hops NUMBER

This command enforces Generalized TTL Security Mechanism (GTSM), as specified in RFC 5082. With this command, only neighbors that are the specified number of hops away will be allowed to become neighbors. This command is mutually exclusive with ebgp-multihop.

We set hop count as 1 which makes FRR to reject BGP connection if we receive BGP packets if it's TTL < 255. Also setting this attribute make sure i-BGP frames are originated with IP TTL of 255.

How I verify:

Manual Verification of above scenario. See blow BGP packets receive with IP TTL 254 (additional routing hop) we are seeing FIN TCP flags as BGP is rejecting the connection

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>

* Update peer-group.conf.j2

* Update result_all.conf

* Update result_base.conf

---------

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2023-11-22 15:37:19 +08:00
..
docker-base [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-base-bullseye [VOQ][saidump] Install rdbtools into the docker base related containers. (#16466) (#17222) 2023-11-19 14:38:05 +08: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 Add health check probe for k8s upgrade containers. (#15223) (#15867) 2023-07-19 16:11:13 +08:00
docker-config-engine-buster Add health check probe for k8s upgrade containers. (#15223) (#15867) 2023-07-19 16:11:13 +08:00
docker-config-engine-stretch Install python-redis package to docker containers (#14632) 2023-04-19 18:14:48 -07:00
docker-database [chassis] Fixed critical process not correct for database-chassis docker (#13445) 2023-01-20 10:21:48 -08:00
docker-dhcp-relay [202305] Fix v6relay dual tor if selection issue (#17186) 2023-11-16 21:22:15 +08:00
docker-eventd Add events to host and create rsyslog_plugin deb pkg (#12059) 2022-09-21 09:20:53 -07:00
docker-fpm-frr [202305] PR to make BGP GTSM feature for packet-chassis (#17237) 2023-11-22 15:37:19 +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 [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-lldp [chassis][lldp] Fix the lldp error log in host instance which doesn't contain front panel ports (#14814) (#15603) 2023-06-29 21:46:32 +08:00
docker-macsec Update macsec CAK keys in profile for tests to change to type7 encoded format (#16388) (#16626) 2023-09-21 20:39:01 +08:00
docker-mux [mux] Integrate linkmgrd with swss logger (#15392) 2023-06-26 16:40:58 +08:00
docker-nat [nat] Switch to bullseye (#14495) 2023-04-02 14:02:33 -07:00
docker-orchagent [tph]: Detect LAG flaps from APPL_DB (#16879) 2023-11-16 20:49:42 +08:00
docker-pde [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-platform-monitor Chassis: fix pmon docker failure when DEVICE_METADATA is not available (#16527) 2023-09-21 22:33:07 +08:00
docker-ptf Upgrade scapy in the PTF's python3 virtualenv to 2.5.0 (#15573) (#15875) 2023-07-19 20:05:40 +08:00
docker-ptf-sai [202305] Backport PRs to fix build (#16896, #16859, #16636) (#16934) 2023-10-20 15:39:54 +08:00
docker-router-advertiser Fix radv.conf traceback when VLAN_INTERFACE is not defined (#12034) 2022-09-09 12:54:05 -07:00
docker-sflow [sflow] Switch to bullseye (#14494) 2023-04-03 09:49:35 -07:00
docker-snmp [202305][SNMP][IPv6]: Revert PRs to support SNMP over IPv6 (#16649) 2023-10-09 09:47:44 +08:00
docker-sonic-gnmi [202305] Share image for gnmi and telemetry (#17137) 2023-11-15 11:28:21 +08:00
docker-sonic-mgmt Add AZP agent necessary packages to sonic-mgmt-docker (#14291) 2023-03-21 08:09:44 +08:00
docker-sonic-mgmt-framework [mgmt-framework] Fix rest-server startup script (#14979) 2023-05-22 17:42:38 -07:00
docker-sonic-p4rt Update p4rt configuration to match SONiC upstream schema. (#10725) 2022-08-04 14:56:48 -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 [202305] Share image for gnmi and telemetry (#17137) 2023-11-15 11:28:21 +08: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 [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02: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