6d767e549d
What I did: In Chassis TSA mode Loopback0 Ip's of each LC's should be advertise through e-BGP peers of each remote LC's How I did: - Route-map policy to Advertise own/self Loopback IP to other internal iBGP peers with a community internal_community as define in constants.yml - Route-map policy to match on above internal_community when route is received from internal iBGP peers and set a internal tag as define in constants.yml and also delete the internal_community so we don't send to any of e-BGP peers - In TSA new route-map match on above internal tag and permit the route (Loopback0 IP's of remote LC's) and set the community to traffic_shift_community. - In TSB delete the above new route-map. How I verify: Manual Verification UT updated. sonic-mgmt PR: sonic-net/sonic-mgmt#10239 Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
60 lines
1.9 KiB
Django/Jinja
60 lines
1.9 KiB
Django/Jinja
!
|
|
! template: bgpd/templates/internal/policies.conf.j2
|
|
!
|
|
!
|
|
{% from "common/functions.conf.j2" import get_ipv4_loopback_address %}
|
|
!
|
|
{% if CONFIG_DB__DEVICE_METADATA['localhost']['sub_role'] == 'BackEnd' %}
|
|
route-map FROM_BGP_INTERNAL_PEER_V4 permit 1
|
|
set originator-id {{ get_ipv4_loopback_address(CONFIG_DB__LOOPBACK_INTERFACE, "Loopback4096") | ip }}
|
|
!
|
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
|
set ipv6 next-hop prefer-global
|
|
on-match next
|
|
!
|
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 2
|
|
set originator-id {{ get_ipv4_loopback_address(CONFIG_DB__LOOPBACK_INTERFACE, "Loopback4096") | ip }}
|
|
{% elif CONFIG_DB__DEVICE_METADATA['localhost']['switch_type'] == 'chassis-packet' %}
|
|
bgp community-list standard DEVICE_INTERNAL_COMMUNITY permit {{ constants.bgp.internal_community }}
|
|
!
|
|
route-map FROM_BGP_INTERNAL_PEER_V4 permit 1
|
|
match community DEVICE_INTERNAL_COMMUNITY
|
|
set comm-list DEVICE_INTERNAL_COMMUNITY delete
|
|
set tag {{ constants.bgp.internal_community_match_tag }}
|
|
!
|
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
|
set ipv6 next-hop prefer-global
|
|
on-match next
|
|
!
|
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 2
|
|
match community DEVICE_INTERNAL_COMMUNITY
|
|
set comm-list DEVICE_INTERNAL_COMMUNITY delete
|
|
set tag {{ constants.bgp.internal_community_match_tag }}
|
|
!
|
|
route-map TO_BGP_INTERNAL_PEER_V4 permit 1
|
|
match ip address prefix-list PL_LoopbackV4
|
|
set community {{ constants.bgp.internal_community }}
|
|
!
|
|
route-map TO_BGP_INTERNAL_PEER_V6 permit 2
|
|
match ipv6 address prefix-list PL_LoopbackV6
|
|
set community {{ constants.bgp.internal_community }}
|
|
!
|
|
{% else %}
|
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
|
set ipv6 next-hop prefer-global
|
|
on-match next
|
|
!
|
|
{% endif %}
|
|
!
|
|
route-map FROM_BGP_INTERNAL_PEER_V4 permit 100
|
|
!
|
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 100
|
|
!
|
|
route-map TO_BGP_INTERNAL_PEER_V4 permit 100
|
|
!
|
|
route-map TO_BGP_INTERNAL_PEER_V6 permit 100
|
|
!
|
|
!
|
|
! end of template: bgpd/templates/internal/policies.conf.j2
|
|
!
|