[chassis] Support advertisement of Loopback0 of all LC's across all e-BGP peers in TSA mode (#16714)
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>
This commit is contained in:
parent
c99ec1f80a
commit
4a7aa2634f
@ -16,7 +16,9 @@ function check_not_installed()
|
|||||||
is_internal_route_map $route_map_name && continue
|
is_internal_route_map $route_map_name && continue
|
||||||
echo "$config" | egrep -q "^route-map $route_map_name permit 20$"
|
echo "$config" | egrep -q "^route-map $route_map_name permit 20$"
|
||||||
c=$((c+$?))
|
c=$((c+$?))
|
||||||
echo "$config" | egrep -q "^route-map $route_map_name deny 30$"
|
echo "$config" | egrep -q "^route-map $route_map_name permit 30$"
|
||||||
|
c=$((c+$?))
|
||||||
|
echo "$config" | egrep -q "^route-map $route_map_name deny 40$"
|
||||||
c=$((c+$?))
|
c=$((c+$?))
|
||||||
done
|
done
|
||||||
return $c
|
return $c
|
||||||
@ -33,7 +35,10 @@ function check_installed()
|
|||||||
echo "$config" | egrep -q "^route-map $route_map_name permit 20$"
|
echo "$config" | egrep -q "^route-map $route_map_name permit 20$"
|
||||||
c=$((c+$?))
|
c=$((c+$?))
|
||||||
e=$((e+1))
|
e=$((e+1))
|
||||||
echo "$config" | egrep -q "^route-map $route_map_name deny 30$"
|
echo "$config" | egrep -q "^route-map $route_map_name permit 30$"
|
||||||
|
c=$((c+$?))
|
||||||
|
e=$((e+1))
|
||||||
|
echo "$config" | egrep -q "^route-map $route_map_name deny 40$"
|
||||||
c=$((c+$?))
|
c=$((c+$?))
|
||||||
e=$((e+1))
|
e=$((e+1))
|
||||||
done
|
done
|
||||||
|
@ -4,26 +4,56 @@
|
|||||||
!
|
!
|
||||||
{% from "common/functions.conf.j2" import get_ipv4_loopback_address %}
|
{% from "common/functions.conf.j2" import get_ipv4_loopback_address %}
|
||||||
!
|
!
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V4 permit 100
|
{% if CONFIG_DB__DEVICE_METADATA['localhost']['sub_role'] == 'BackEnd' %}
|
||||||
!
|
route-map FROM_BGP_INTERNAL_PEER_V4 permit 1
|
||||||
route-map TO_BGP_INTERNAL_PEER_V4 permit 100
|
set originator-id {{ get_ipv4_loopback_address(CONFIG_DB__LOOPBACK_INTERFACE, "Loopback4096") | ip }}
|
||||||
!
|
|
||||||
!
|
!
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
||||||
set ipv6 next-hop prefer-global
|
set ipv6 next-hop prefer-global
|
||||||
on-match next
|
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 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
|
route-map TO_BGP_INTERNAL_PEER_V6 permit 100
|
||||||
!
|
!
|
||||||
{% if CONFIG_DB__DEVICE_METADATA['localhost']['sub_role'] == 'BackEnd' %}
|
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V4 permit 2
|
|
||||||
set originator-id {{ get_ipv4_loopback_address(CONFIG_DB__LOOPBACK_INTERFACE, "Loopback4096") | ip }}
|
|
||||||
!
|
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V6 permit 2
|
|
||||||
set originator-id {{ get_ipv4_loopback_address(CONFIG_DB__LOOPBACK_INTERFACE, "Loopback4096") | ip }}
|
|
||||||
{% endif %}
|
|
||||||
!
|
!
|
||||||
! end of template: bgpd/templates/internal/policies.conf.j2
|
! end of template: bgpd/templates/internal/policies.conf.j2
|
||||||
!
|
!
|
||||||
|
@ -1,8 +1,19 @@
|
|||||||
!
|
!
|
||||||
! template: bgpd/templates/voq_chassis/policies.conf.j2
|
! template: bgpd/templates/voq_chassis/policies.conf.j2
|
||||||
!
|
!
|
||||||
|
bgp community-list standard DEVICE_INTERNAL_COMMUNITY permit {{ constants.bgp.internal_community }}
|
||||||
|
!
|
||||||
|
route-map FROM_VOQ_CHASSIS_V4_PEER 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_VOQ_CHASSIS_V4_PEER permit 100
|
route-map FROM_VOQ_CHASSIS_V4_PEER permit 100
|
||||||
!
|
!
|
||||||
|
route-map TO_VOQ_CHASSIS_V4_PEER permit 1
|
||||||
|
match ip address prefix-list PL_LoopbackV4
|
||||||
|
set community {{ constants.bgp.internal_community }}
|
||||||
|
!
|
||||||
route-map TO_VOQ_CHASSIS_V4_PEER permit 100
|
route-map TO_VOQ_CHASSIS_V4_PEER permit 100
|
||||||
!
|
!
|
||||||
!
|
!
|
||||||
@ -10,8 +21,17 @@ route-map FROM_VOQ_CHASSIS_V6_PEER permit 1
|
|||||||
set ipv6 next-hop prefer-global
|
set ipv6 next-hop prefer-global
|
||||||
on-match next
|
on-match next
|
||||||
!
|
!
|
||||||
|
route-map FROM_VOQ_CHASSIS_V6_PEER permit 2
|
||||||
|
match community DEVICE_INTERNAL_COMMUNITY
|
||||||
|
set comm-list DEVICE_INTERNAL_COMMUNITY delete
|
||||||
|
set tag {{ constants.bgp.internal_community_match_tag }}
|
||||||
|
!
|
||||||
route-map FROM_VOQ_CHASSIS_V6_PEER permit 100
|
route-map FROM_VOQ_CHASSIS_V6_PEER permit 100
|
||||||
!
|
!
|
||||||
|
route-map TO_VOQ_CHASSIS_V6_PEER permit 1
|
||||||
|
match ipv6 address prefix-list PL_LoopbackV6
|
||||||
|
set community {{ constants.bgp.internal_community }}
|
||||||
|
!
|
||||||
route-map TO_VOQ_CHASSIS_V6_PEER permit 100
|
route-map TO_VOQ_CHASSIS_V6_PEER permit 100
|
||||||
!
|
!
|
||||||
! end of template: bgpd/templates/voq_chassis/policies.conf.j2
|
! end of template: bgpd/templates/voq_chassis/policies.conf.j2
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
route-map {{ route_map_name }} permit 20
|
route-map {{ route_map_name }} permit 20
|
||||||
match {{ ip_protocol }} address prefix-list PL_Loopback{{ ip_version }}
|
match {{ ip_protocol }} address prefix-list PL_Loopback{{ ip_version }}
|
||||||
set community {{ constants.bgp.traffic_shift_community }}
|
set community {{ constants.bgp.traffic_shift_community }}
|
||||||
route-map {{ route_map_name }} deny 30
|
route-map {{ route_map_name }} permit 30
|
||||||
|
match tag {{ constants.bgp.internal_community_match_tag }}
|
||||||
|
set community {{ constants.bgp.traffic_shift_community }}
|
||||||
|
route-map {{ route_map_name }} deny 40
|
||||||
!
|
!
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
no route-map {{ route_map_name }} permit 20
|
no route-map {{ route_map_name }} permit 20
|
||||||
no route-map {{ route_map_name }} deny 30
|
no route-map {{ route_map_name }} permit 30
|
||||||
|
no route-map {{ route_map_name }} deny 40
|
||||||
!
|
!
|
||||||
|
@ -4,6 +4,8 @@ constants:
|
|||||||
"2" : 65433
|
"2" : 65433
|
||||||
bgp:
|
bgp:
|
||||||
traffic_shift_community: 12345:12345
|
traffic_shift_community: 12345:12345
|
||||||
|
internal_community: 11111:11111
|
||||||
|
internal_community_match_tag: 1002
|
||||||
sentinel_community: 12345:12346
|
sentinel_community: 12345:12346
|
||||||
families:
|
families:
|
||||||
- ipv4
|
- ipv4
|
||||||
|
@ -23,11 +23,17 @@
|
|||||||
route-map TO_BGP_PEER_V4 permit 20
|
route-map TO_BGP_PEER_V4 permit 20
|
||||||
match ip address prefix-list PL_LoopbackV4
|
match ip address prefix-list PL_LoopbackV4
|
||||||
set community 12345:12345
|
set community 12345:12345
|
||||||
route-map TO_BGP_PEER_V4 deny 30
|
route-map TO_BGP_PEER_V4 permit 30
|
||||||
|
match tag 1001
|
||||||
|
set community 12345:12345
|
||||||
|
route-map TO_BGP_PEER_V4 deny 40
|
||||||
!
|
!
|
||||||
route-map TO_BGP_PEER_V6 permit 20
|
route-map TO_BGP_PEER_V6 permit 20
|
||||||
match ipv6 address prefix-list PL_LoopbackV6
|
match ipv6 address prefix-list PL_LoopbackV6
|
||||||
set community 12345:12345
|
set community 12345:12345
|
||||||
route-map TO_BGP_PEER_V6 deny 30
|
route-map TO_BGP_PEER_V6 permit 30
|
||||||
|
match tag 1001
|
||||||
|
set community 12345:12345
|
||||||
|
route-map TO_BGP_PEER_V6 deny 40
|
||||||
!
|
!
|
||||||
|
|
||||||
|
@ -21,9 +21,11 @@
|
|||||||
|
|
||||||
|
|
||||||
no route-map TO_BGP_PEER_V4 permit 20
|
no route-map TO_BGP_PEER_V4 permit 20
|
||||||
no route-map TO_BGP_PEER_V4 deny 30
|
no route-map TO_BGP_PEER_V4 permit 30
|
||||||
|
no route-map TO_BGP_PEER_V4 deny 40
|
||||||
!
|
!
|
||||||
no route-map TO_BGP_PEER_V6 permit 20
|
no route-map TO_BGP_PEER_V6 permit 20
|
||||||
no route-map TO_BGP_PEER_V6 deny 30
|
no route-map TO_BGP_PEER_V6 permit 30
|
||||||
|
no route-map TO_BGP_PEER_V6 deny 40
|
||||||
!
|
!
|
||||||
|
|
||||||
|
@ -2,10 +2,16 @@
|
|||||||
route-map TO_BGP_PEER_V4 permit 20
|
route-map TO_BGP_PEER_V4 permit 20
|
||||||
match ip address prefix-list PL_LoopbackV4
|
match ip address prefix-list PL_LoopbackV4
|
||||||
set community 12345:12345
|
set community 12345:12345
|
||||||
route-map TO_BGP_PEER_V4 deny 30
|
route-map TO_BGP_PEER_V4 permit 30
|
||||||
|
match tag 1001
|
||||||
|
set community 12345:12345
|
||||||
|
route-map TO_BGP_PEER_V4 deny 40
|
||||||
!
|
!
|
||||||
route-map TO_BGP_PEER_V6 permit 20
|
route-map TO_BGP_PEER_V6 permit 20
|
||||||
match ipv6 address prefix-list PL_LoopbackV6
|
match ipv6 address prefix-list PL_LoopbackV6
|
||||||
set community 12345:12345
|
set community 12345:12345
|
||||||
route-map TO_BGP_PEER_V6 deny 30
|
route-map TO_BGP_PEER_V6 permit 30
|
||||||
|
match tag 1001
|
||||||
|
set community 12345:12345
|
||||||
|
route-map TO_BGP_PEER_V6 deny 40
|
||||||
!
|
!
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
|
|
||||||
no route-map TO_BGP_PEER_V4 permit 20
|
no route-map TO_BGP_PEER_V4 permit 20
|
||||||
no route-map TO_BGP_PEER_V4 deny 30
|
no route-map TO_BGP_PEER_V4 permit 30
|
||||||
|
no route-map TO_BGP_PEER_V4 deny 40
|
||||||
!
|
!
|
||||||
no route-map TO_BGP_PEER_V6 permit 20
|
no route-map TO_BGP_PEER_V6 permit 20
|
||||||
no route-map TO_BGP_PEER_V6 deny 30
|
no route-map TO_BGP_PEER_V6 permit 30
|
||||||
|
no route-map TO_BGP_PEER_V6 deny 40
|
||||||
!
|
!
|
||||||
|
@ -6,5 +6,11 @@
|
|||||||
},
|
},
|
||||||
"CONFIG_DB__LOOPBACK_INTERFACE": {
|
"CONFIG_DB__LOOPBACK_INTERFACE": {
|
||||||
"Loopback4096|10.10.10.10/32": {}
|
"Loopback4096|10.10.10.10/32": {}
|
||||||
|
},
|
||||||
|
"constants": {
|
||||||
|
"bgp": {
|
||||||
|
"internal_community": "12345:556",
|
||||||
|
"internal_community_match_tag": "101"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"CONFIG_DB__DEVICE_METADATA": {
|
||||||
|
"localhost": {
|
||||||
|
"type": "SpineRouter",
|
||||||
|
"sub_role": "FrontEnd",
|
||||||
|
"switch_type": "chassis-packet"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"constants": {
|
||||||
|
"bgp": {
|
||||||
|
"internal_community": "12345:556",
|
||||||
|
"internal_community_match_tag": "101"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"loopback0_ipv4": "10.10.10.10/32"
|
||||||
|
}
|
@ -1,7 +1,13 @@
|
|||||||
{
|
{
|
||||||
"CONFIG_DB__DEVICE_METADATA": {
|
"CONFIG_DB__DEVICE_METADATA": {
|
||||||
"localhost": {
|
"localhost": {
|
||||||
"sub_role": "FrontkEnd"
|
"sub_role": "FrontEnd"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"constants": {
|
||||||
|
"bgp": {
|
||||||
|
"internal_community": "12345:556",
|
||||||
|
"internal_community_match_tag": "101"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"loopback0_ipv4": "10.10.10.10/32"
|
"loopback0_ipv4": "10.10.10.10/32"
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
!
|
!
|
||||||
! template: bgpd/templates/internal/policies.conf.j2
|
! template: bgpd/templates/internal/policies.conf.j2
|
||||||
!
|
!
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V4 permit 100
|
route-map FROM_BGP_INTERNAL_PEER_V4 permit 1
|
||||||
!
|
set originator-id 10.10.10.10
|
||||||
route-map TO_BGP_INTERNAL_PEER_V4 permit 100
|
|
||||||
!
|
!
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
||||||
set ipv6 next-hop prefer-global
|
set ipv6 next-hop prefer-global
|
||||||
on-match next
|
on-match next
|
||||||
!
|
!
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V6 permit 100
|
|
||||||
!
|
|
||||||
route-map TO_BGP_INTERNAL_PEER_V6 permit 100
|
|
||||||
!
|
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V4 permit 2
|
|
||||||
set originator-id 10.10.10.10
|
|
||||||
!
|
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V6 permit 2
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 2
|
||||||
set originator-id 10.10.10.10
|
set originator-id 10.10.10.10
|
||||||
!
|
!
|
||||||
|
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
|
! end of template: bgpd/templates/internal/policies.conf.j2
|
||||||
!
|
!
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
!
|
||||||
|
! template: bgpd/templates/internal/policies.conf.j2
|
||||||
|
!
|
||||||
|
bgp community-list standard DEVICE_INTERNAL_COMMUNITY permit 12345:556
|
||||||
|
!
|
||||||
|
route-map FROM_BGP_INTERNAL_PEER_V4 permit 1
|
||||||
|
match community DEVICE_INTERNAL_COMMUNITY
|
||||||
|
set comm-list DEVICE_INTERNAL_COMMUNITY delete
|
||||||
|
set tag 101
|
||||||
|
!
|
||||||
|
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 101
|
||||||
|
!
|
||||||
|
route-map TO_BGP_INTERNAL_PEER_V4 permit 1
|
||||||
|
match ip address prefix-list PL_LoopbackV4
|
||||||
|
set community 12345:556
|
||||||
|
!
|
||||||
|
route-map TO_BGP_INTERNAL_PEER_V6 permit 2
|
||||||
|
match ipv6 address prefix-list PL_LoopbackV6
|
||||||
|
set community 12345:556
|
||||||
|
!
|
||||||
|
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
|
||||||
|
!
|
@ -1,16 +1,16 @@
|
|||||||
!
|
!
|
||||||
! template: bgpd/templates/internal/policies.conf.j2
|
! template: bgpd/templates/internal/policies.conf.j2
|
||||||
!
|
!
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V4 permit 100
|
|
||||||
!
|
|
||||||
route-map TO_BGP_INTERNAL_PEER_V4 permit 100
|
|
||||||
!
|
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
route-map FROM_BGP_INTERNAL_PEER_V6 permit 1
|
||||||
set ipv6 next-hop prefer-global
|
set ipv6 next-hop prefer-global
|
||||||
on-match next
|
on-match next
|
||||||
!
|
!
|
||||||
|
route-map FROM_BGP_INTERNAL_PEER_V4 permit 100
|
||||||
|
!
|
||||||
route-map FROM_BGP_INTERNAL_PEER_V6 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
|
route-map TO_BGP_INTERNAL_PEER_V6 permit 100
|
||||||
!
|
!
|
||||||
! end of template: bgpd/templates/internal/policies.conf.j2
|
! end of template: bgpd/templates/internal/policies.conf.j2
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
route-map test_rm_name permit 20
|
route-map test_rm_name permit 20
|
||||||
match ip address prefix-list PL_LoopbackV4
|
match ip address prefix-list PL_LoopbackV4
|
||||||
set community 12345:555
|
set community 12345:555
|
||||||
route-map test_rm_name deny 30
|
route-map test_rm_name permit 30
|
||||||
|
match tag 1002
|
||||||
|
set community 12345:555
|
||||||
|
route-map test_rm_name deny 40
|
||||||
!
|
!
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
"constants": {
|
"constants": {
|
||||||
"bgp": {
|
"bgp": {
|
||||||
"traffic_shift_community": "12345:555"
|
"traffic_shift_community": "12345:555",
|
||||||
|
"internal_community_match_tag": "1002"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"route_map_name": "test_rm_name",
|
"route_map_name": "test_rm_name",
|
||||||
"ip_version": "V4",
|
"ip_version": "V4",
|
||||||
"ip_protocol": "ip"
|
"ip_protocol": "ip"
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
no route-map test_rm permit 20
|
no route-map test_rm permit 20
|
||||||
no route-map test_rm deny 30
|
no route-map test_rm permit 30
|
||||||
|
no route-map test_rm deny 40
|
||||||
!
|
!
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
{
|
{
|
||||||
"CONFIG_DB__DEVICE_METADATA": {
|
"CONFIG_DB__DEVICE_METADATA": {
|
||||||
"localhost": {}
|
"localhost": {}
|
||||||
|
},
|
||||||
|
"constants": {
|
||||||
|
"bgp": {
|
||||||
|
"internal_community": "12345:556",
|
||||||
|
"internal_community_match_tag": "101"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,36 @@
|
|||||||
!
|
!
|
||||||
! template: bgpd/templates/voq_chassis/policies.conf.j2
|
! template: bgpd/templates/voq_chassis/policies.conf.j2
|
||||||
!
|
!
|
||||||
|
bgp community-list standard DEVICE_INTERNAL_COMMUNITY permit 12345:556
|
||||||
|
!
|
||||||
|
route-map FROM_VOQ_CHASSIS_V4_PEER permit 1
|
||||||
|
match community DEVICE_INTERNAL_COMMUNITY
|
||||||
|
set comm-list DEVICE_INTERNAL_COMMUNITY delete
|
||||||
|
set tag 101
|
||||||
|
!
|
||||||
route-map FROM_VOQ_CHASSIS_V4_PEER permit 100
|
route-map FROM_VOQ_CHASSIS_V4_PEER permit 100
|
||||||
!
|
!
|
||||||
route-map TO_VOQ_CHASSIS_V4_PEER permit 100
|
route-map TO_VOQ_CHASSIS_V4_PEER permit 1
|
||||||
|
match ip address prefix-list PL_LoopbackV4
|
||||||
|
set community 12345:556
|
||||||
!
|
!
|
||||||
|
route-map TO_VOQ_CHASSIS_V4_PEER permit 100
|
||||||
!
|
!
|
||||||
route-map FROM_VOQ_CHASSIS_V6_PEER permit 1
|
route-map FROM_VOQ_CHASSIS_V6_PEER permit 1
|
||||||
set ipv6 next-hop prefer-global
|
set ipv6 next-hop prefer-global
|
||||||
on-match next
|
on-match next
|
||||||
!
|
!
|
||||||
|
route-map FROM_VOQ_CHASSIS_V6_PEER permit 2
|
||||||
|
match community DEVICE_INTERNAL_COMMUNITY
|
||||||
|
set comm-list DEVICE_INTERNAL_COMMUNITY delete
|
||||||
|
set tag 101
|
||||||
|
!
|
||||||
route-map FROM_VOQ_CHASSIS_V6_PEER permit 100
|
route-map FROM_VOQ_CHASSIS_V6_PEER permit 100
|
||||||
!
|
!
|
||||||
|
route-map TO_VOQ_CHASSIS_V6_PEER permit 1
|
||||||
|
match ipv6 address prefix-list PL_LoopbackV6
|
||||||
|
set community 12345:556
|
||||||
|
!
|
||||||
route-map TO_VOQ_CHASSIS_V6_PEER permit 100
|
route-map TO_VOQ_CHASSIS_V6_PEER permit 100
|
||||||
!
|
!
|
||||||
! end of template: bgpd/templates/voq_chassis/policies.conf.j2
|
! end of template: bgpd/templates/voq_chassis/policies.conf.j2
|
||||||
|
@ -13,7 +13,8 @@ TEMPLATE_PATH = os.path.abspath('../../dockers/docker-fpm-frr/frr')
|
|||||||
BASE_PATH = os.path.abspath('../sonic-bgpcfgd/tests/data/general/peer-group.conf/')
|
BASE_PATH = os.path.abspath('../sonic-bgpcfgd/tests/data/general/peer-group.conf/')
|
||||||
global_constants = {
|
global_constants = {
|
||||||
"bgp": {
|
"bgp": {
|
||||||
"traffic_shift_community" :"12345:12345"
|
"traffic_shift_community" :"12345:12345",
|
||||||
|
"internal_community_match_tag" : "1001"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user