updated internal route policy for chassis-packet (#15349)
What I did: Workaround for the issue seen here : FRRouting/frr#13682 It seems there is timing issue where there are multiple recursive lookup needed to resolve nexthop of the route it's possible that it does not happen correctly causing route to remain in inactive state Issue is seen on chassis-packet as there 2 level of recursive lookup needed for a given e-BGP learnt route - Level1 to resolve e-BGP peer (connected route via bgp ) over Loopback4096 (i-BGP peering) - Level 2 Loopback4096 over backend port-channels next-hops For VOQ chassis there is no e-BGP peer (connected route via bgp ) resolution as route is added as Static route by orchagent over Ethernet-IB. Also as part of this remove route-map policy from instance.conf.j2 as same is define in peer-group.j2. Microsoft ADO: https://msazure.visualstudio.com/One/_workitems/edit/24198507 How I verify: Functional Verification manually Updated UT. We will be adding sanity check in sonic-mgmt to make sure none of route are in inactive state. Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
This commit is contained in:
parent
6a3a6c77f4
commit
4111c25557
@ -10,18 +10,16 @@
|
||||
address-family ipv4
|
||||
neighbor {{ neighbor_addr }} peer-group INTERNAL_PEER_V4
|
||||
!
|
||||
{% if CONFIG_DB__DEVICE_METADATA['localhost']['sub_role'] == 'BackEnd' %}
|
||||
{% if CONFIG_DB__DEVICE_METADATA['localhost']['sub_role'] == 'BackEnd' or CONFIG_DB__DEVICE_METADATA['localhost']['switch_type'] == 'chassis-packet' %}
|
||||
neighbor {{ neighbor_addr }} next-hop-self force
|
||||
neighbor {{ neighbor_addr }} route-map FROM_BGP_INTERNAL_PEER_V4 in
|
||||
{% endif %}
|
||||
!
|
||||
{% elif neighbor_addr | ipv6 %}
|
||||
address-family ipv6
|
||||
neighbor {{ neighbor_addr }} peer-group INTERNAL_PEER_V6
|
||||
!
|
||||
{% if CONFIG_DB__DEVICE_METADATA['localhost']['sub_role'] == 'BackEnd' %}
|
||||
{% if CONFIG_DB__DEVICE_METADATA['localhost']['sub_role'] == 'BackEnd' or CONFIG_DB__DEVICE_METADATA['localhost']['switch_type'] == 'chassis-packet' %}
|
||||
neighbor {{ neighbor_addr }} next-hop-self force
|
||||
neighbor {{ neighbor_addr }} route-map FROM_BGP_INTERNAL_PEER_V6 in
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
!
|
||||
|
@ -0,0 +1,15 @@
|
||||
!
|
||||
! template: bgpd/templates/internal/instance.conf.j2
|
||||
!
|
||||
neighbor 10.10.10.10 remote-as 555
|
||||
neighbor 10.10.10.10 description remote_peer
|
||||
neighbor 10.10.10.10 timers 3 10
|
||||
neighbor 10.10.10.10 timers connect 10
|
||||
address-family ipv4
|
||||
neighbor 10.10.10.10 peer-group INTERNAL_PEER_V4
|
||||
neighbor 10.10.10.10 next-hop-self force
|
||||
neighbor 10.10.10.10 activate
|
||||
exit-address-family
|
||||
!
|
||||
! end of template: bgpd/templates/internal/instance.conf.j2
|
||||
!
|
@ -0,0 +1,23 @@
|
||||
{
|
||||
"CONFIG_DB__DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"sub_role": "FrontEnd",
|
||||
"type": "SpineRouter",
|
||||
"switch_type": "chassis-packet"
|
||||
}
|
||||
},
|
||||
"neighbor_addr": "10.10.10.10",
|
||||
"bgp_session": {
|
||||
"asn": "555",
|
||||
"name": "remote_peer",
|
||||
"keepalive": "5",
|
||||
"holdtime": "30",
|
||||
"admin_status": "down",
|
||||
"ASIC": "something"
|
||||
},
|
||||
"constants": {
|
||||
"deployment_id_asn_map": {
|
||||
"5": "51111"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
!
|
||||
! template: bgpd/templates/internal/instance.conf.j2
|
||||
!
|
||||
neighbor fc::10 remote-as 555
|
||||
neighbor fc::10 description remote_peer
|
||||
neighbor fc::10 timers 3 10
|
||||
neighbor fc::10 timers connect 10
|
||||
address-family ipv6
|
||||
neighbor fc::10 peer-group INTERNAL_PEER_V6
|
||||
neighbor fc::10 next-hop-self force
|
||||
neighbor fc::10 activate
|
||||
exit-address-family
|
||||
!
|
||||
! end of template: bgpd/templates/internal/instance.conf.j2
|
||||
!
|
@ -0,0 +1,23 @@
|
||||
{
|
||||
"CONFIG_DB__DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"sub_role": "FrontEnd",
|
||||
"type": "SpineRouter",
|
||||
"switch_type": "chassis-packet"
|
||||
}
|
||||
},
|
||||
"neighbor_addr": "fc::10",
|
||||
"bgp_session": {
|
||||
"asn": "555",
|
||||
"name": "remote_peer",
|
||||
"keepalive": "5",
|
||||
"holdtime": "30",
|
||||
"admin_status": "down",
|
||||
"ASIC": "something"
|
||||
},
|
||||
"constants": {
|
||||
"deployment_id_asn_map": {
|
||||
"5": "51111"
|
||||
}
|
||||
}
|
||||
}
|
@ -8,7 +8,6 @@
|
||||
address-family ipv4
|
||||
neighbor 10.10.10.10 peer-group INTERNAL_PEER_V4
|
||||
neighbor 10.10.10.10 next-hop-self force
|
||||
neighbor 10.10.10.10 route-map FROM_BGP_INTERNAL_PEER_V4 in
|
||||
neighbor 10.10.10.10 route-reflector-client
|
||||
neighbor 10.10.10.10 activate
|
||||
exit-address-family
|
||||
|
@ -8,7 +8,6 @@
|
||||
address-family ipv6
|
||||
neighbor fc::10 peer-group INTERNAL_PEER_V6
|
||||
neighbor fc::10 next-hop-self force
|
||||
neighbor fc::10 route-map FROM_BGP_INTERNAL_PEER_V6 in
|
||||
neighbor fc::10 route-reflector-client
|
||||
neighbor fc::10 activate
|
||||
exit-address-family
|
||||
|
Loading…
Reference in New Issue
Block a user