[bgp]: Update TSA functionality (#5906)
Fixed TSA bugs: 1. TSA didn't advertise Loopback ipv6 address 2. TSA and TSB changed BGP dynamic and BGP monitors sessions **- How to verify it** Build an image and run on your DUT. ``` admin@str-s6100-acs-1:~$ TSA System Mode: Normal -> Maintenance admin@str-s6100-acs-1:~$ vtysh -c 'show bgp ipv4 neighbors 10.0.0.1 advertised-routes' BGP table version is 6, local router ID is 10.1.0.32, vrf id 0 Default local pref 100, local AS 64601 Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, i internal, r RIB-failure, S Stale, R Removed Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.1.0.32/32 0.0.0.0 0 32768 i Total number of prefixes 1 admin@str-s6100-acs-1:~$ vtysh -c 'show bgp ipv6 neighbors fc00::a advertised-routes' BGP table version is 6, local router ID is 10.1.0.32, vrf id 0 Default local pref 100, local AS 64601 Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, i internal, r RIB-failure, S Stale, R Removed Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> fc00:1::/64 :: 0 32768 i Total number of prefixes 1 admin@str-s6100-acs-1:~$ TSB System Mode: Maintenance -> Normal ``` Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
This commit is contained in:
parent
bf50562670
commit
af654944bd
@ -24,12 +24,17 @@ then
|
|||||||
case "$route_map_name" in
|
case "$route_map_name" in
|
||||||
*V4*)
|
*V4*)
|
||||||
ip_version=V4
|
ip_version=V4
|
||||||
|
ip_protocol=ip
|
||||||
;;
|
;;
|
||||||
*V6*)
|
*V6*)
|
||||||
ip_version=V6
|
ip_version=V6
|
||||||
|
ip_protocol=ipv6
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
continue
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
sonic-cfggen -d -a "{\"route_map_name\":\"$route_map_name\", \"ip_version\": \"$ip_version\"}" -y /etc/sonic/constants.yml -t /usr/share/sonic/templates/bgpd/tsa/bgpd.tsa.isolate.conf.j2 > "$TSA_FILE"
|
sonic-cfggen -d -a "{\"route_map_name\":\"$route_map_name\", \"ip_version\": \"$ip_version\", \"ip_protocol\": \"$ip_protocol\"}" -y /etc/sonic/constants.yml -t /usr/share/sonic/templates/bgpd/tsa/bgpd.tsa.isolate.conf.j2 > "$TSA_FILE"
|
||||||
vtysh -f "$TSA_FILE"
|
vtysh -f "$TSA_FILE"
|
||||||
rm -f "$TSA_FILE"
|
rm -f "$TSA_FILE"
|
||||||
done
|
done
|
||||||
|
@ -24,6 +24,15 @@ then
|
|||||||
TSB_FILE=$(mktemp)
|
TSB_FILE=$(mktemp)
|
||||||
for route_map_name in $(echo "$config" | sed -ne 's/ neighbor \S* route-map \(\S*\) out/\1/p');
|
for route_map_name in $(echo "$config" | sed -ne 's/ neighbor \S* route-map \(\S*\) out/\1/p');
|
||||||
do
|
do
|
||||||
|
case "$route_map_name" in
|
||||||
|
*V4*)
|
||||||
|
;;
|
||||||
|
*V6*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
sonic-cfggen -d -a "{\"route_map_name\":\"$route_map_name\"}" -t /usr/share/sonic/templates/bgpd/tsa/bgpd.tsa.unisolate.conf.j2 > "$TSB_FILE"
|
sonic-cfggen -d -a "{\"route_map_name\":\"$route_map_name\"}" -t /usr/share/sonic/templates/bgpd/tsa/bgpd.tsa.unisolate.conf.j2 > "$TSB_FILE"
|
||||||
vtysh -f "$TSB_FILE"
|
vtysh -f "$TSB_FILE"
|
||||||
rm -f "$TSB_FILE"
|
rm -f "$TSB_FILE"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
route-map {{ route_map_name }} permit 2
|
route-map {{ route_map_name }} permit 2
|
||||||
match ip 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 3
|
route-map {{ route_map_name }} deny 3
|
||||||
!
|
!
|
||||||
|
@ -5,5 +5,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"route_map_name": "test_rm_name",
|
"route_map_name": "test_rm_name",
|
||||||
"ip_version": "V4"
|
"ip_version": "V4",
|
||||||
|
"ip_protocol": "ip"
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user