-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[docker-fpm-frr]: TSA/B/C changes for multi-asic (#6510)
- Introduced TS common file in docker as well and moved common functions. - TSA/B/C scripts run only in BGP instances for front end ASICs. In addition skip enforcing it on route maps used between internal BGP sessions. admin@str--acs-1:~$ sudo /usr/bin/TSA System Mode: Normal -> Maintenance and in case of Multi-ASIC admin@str--acs-1:~$ sudo /usr/bin/TSA BGP0 : System Mode: Normal -> Maintenance BGP1 : System Mode: Normal -> Maintenance BGP2 : System Mode: Normal -> Maintenance
- Loading branch information
1 parent
0e97058
commit 7ae4a99
Showing
10 changed files
with
82 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
#!/bin/bash | ||
|
||
# Check whether the routemap is for internal BGP sessions. | ||
function is_internal_route_map() | ||
{ | ||
[[ "$1" =~ .*"_INTERNAL_".* ]] | ||
} | ||
|
||
function check_not_installed() | ||
{ | ||
c=0 | ||
config=$(vtysh -c "show run") | ||
for route_map_name in $(echo "$config" | sed -ne 's/ neighbor \S* route-map \(\S*\) out/\1/p' | egrep 'V4|V6'); | ||
do | ||
is_internal_route_map $route_map_name && continue | ||
echo "$config" | egrep -q "^route-map $route_map_name permit 20$" | ||
c=$((c+$?)) | ||
echo "$config" | egrep -q "^route-map $route_map_name deny 30$" | ||
c=$((c+$?)) | ||
done | ||
return $c | ||
} | ||
|
||
function check_installed() | ||
{ | ||
c=0 | ||
e=0 | ||
config=$(vtysh -c "show run") | ||
for route_map_name in $(echo "$config" | sed -ne 's/ neighbor \S* route-map \(\S*\) out/\1/p' | egrep 'V4|V6'); | ||
do | ||
is_internal_route_map $route_map_name && continue | ||
echo "$config" | egrep -q "^route-map $route_map_name permit 20$" | ||
c=$((c+$?)) | ||
e=$((e+1)) | ||
echo "$config" | egrep -q "^route-map $route_map_name deny 30$" | ||
c=$((c+$?)) | ||
e=$((e+1)) | ||
done | ||
return $((e-c)) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#!/bin/bash | ||
|
||
# read SONiC immutable variables | ||
[ -f /etc/sonic/sonic-environment ] && . /etc/sonic/sonic-environment | ||
|
||
PLATFORM=${PLATFORM:-`sonic-cfggen -H -v DEVICE_METADATA.localhost.platform`} | ||
|
||
# Parse the device specific asic conf file, if it exists | ||
ASIC_CONF=/usr/share/sonic/device/$PLATFORM/asic.conf | ||
[ -f $ASIC_CONF ] && . $ASIC_CONF | ||
|
||
if [[ ($NUM_ASIC -gt 1) ]]; then | ||
asic=0 | ||
NAMESPACE_PREFIX='asic' | ||
|
||
while [ $asic -lt $NUM_ASIC ] | ||
do | ||
# Run TSA/TSB/TSC scripts in BGP instance for frontend ASICs. | ||
sub_role=`sonic-cfggen -d -v "DEVICE_METADATA['localhost']['sub_role']" -n $NAMESPACE_PREFIX$asic` | ||
if [ $sub_role == 'FrontEnd' ] | ||
then | ||
echo -e "BGP"$asic" : \c" | ||
docker exec -i bgp$asic /usr/bin/$1 | ||
fi | ||
asic=$[$asic+1] | ||
done | ||
else | ||
docker exec -i bgp /usr/bin/$1 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
#!/bin/bash | ||
|
||
docker exec -i bgp /usr/bin/TSA | ||
/usr/bin/TS TSA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
#!/bin/bash | ||
|
||
docker exec -i bgp /usr/bin/TSB | ||
/usr/bin/TS TSB |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
#!/bin/bash | ||
|
||
docker exec -i bgp /usr/bin/TSC | ||
/usr/bin/TS TSC | ||
|
||
portstat -p 5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters