Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-ASIC implementation #3888

Merged
merged 62 commits into from
Mar 31, 2020
Merged
Show file tree
Hide file tree
Changes from 58 commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
504c632
[files]: add namespace synchronization target
Jul 17, 2019
8571864
[database docker]: add multi-instance support
Jul 11, 2019
2245ffe
[files]: add swss multi-instance support
Jun 13, 2019
193f182
[files]: add multi-instance support for syncd
Jul 17, 2019
aa44fda
[files]: add multi-instance support to logging
Jun 17, 2019
f4844e8
[files]: add namespace wrapper
Jun 18, 2019
a13a8d8
[platform/vs]: add memory to virtual switch
Jul 17, 2019
f99839b
[build_templates]: add multi-namespace spport to bgp
Jun 20, 2019
9328339
[build_templates]: add multi-instance support to teamd
Jun 20, 2019
04b4887
[sonic-utilities]: update sonic-utilities
Jun 26, 2019
f3c48d6
[interfaces-config]: enable multi-asic support
Jun 26, 2019
d5c4a0d
[files]: change namespace name
Aug 2, 2019
83ca4de
Remove namespace docker related files.
SuvarnaMeenakshi Dec 12, 2019
6e3b519
[build_templates]: remove namespace service dependency
SuvarnaMeenakshi Jan 15, 2020
87220d9
Merge remote-tracking branch 'remotes/origin/master' into sumeenak_pr_2
SuvarnaMeenakshi Feb 12, 2020
81b024e
[redis-cli/sonic-cfggen]: Add wrappers to talk to database instance in
SuvarnaMeenakshi Feb 12, 2020
1875e6b
[swss.sh]: Modified to use redis-cli wrapper to talk to multiple
SuvarnaMeenakshi Feb 12, 2020
3363c0d
[syncd.sh]: Updated to use redis-cli wrapper to talk to multiple
SuvarnaMeenakshi Feb 12, 2020
95fb5f5
[docker_img_ctl.j2]: Updated to use redis-cli/sonic-cfggen wrappers
SuvarnaMeenakshi Feb 12, 2020
382f13e
[database service]: changes made to include global database service
SuvarnaMeenakshi Feb 12, 2020
c20bf43
[swss/syncd services]: Added dependency to topology.service for VS
SuvarnaMeenakshi Feb 12, 2020
a76eb01
[interfaces-config.sh]: Made changes to support multi-asic platform
SuvarnaMeenakshi Feb 12, 2020
d7ab64b
[topology.sh]: Updated to read Platform and SKU information from
SuvarnaMeenakshi Feb 12, 2020
61971a7
[namespace.sh]: Remove namespace.sh as namespace docker is not used
SuvarnaMeenakshi Feb 12, 2020
81a8f74
LLDP Multi-Asic Support.
abdosi Feb 20, 2020
4beb4ad
[sonic-cfggen wrapper]: Change mode to make the script executable.
SuvarnaMeenakshi Feb 21, 2020
4ce974d
Merge remote-tracking branch 'remotes/sumeenak/master' into pr_2_mult…
SuvarnaMeenakshi Feb 21, 2020
d754022
Merge branch 'pr_2_multiasic' of github.com:SuvarnaMeenakshi/sonic-bu…
SuvarnaMeenakshi Feb 21, 2020
f935036
[sonic-db-cli wrapper]: Add a new wrapper script to accept a
SuvarnaMeenakshi Feb 22, 2020
0dae0d8
[msft_multi_asic_vs]: Add lanemap.ini and sai.profile to support
SuvarnaMeenakshi Feb 22, 2020
173ba4e
[syncd.sh/swss.sh]: Modify script to use sonic-db-cli wrapper.
SuvarnaMeenakshi Feb 22, 2020
3a8a68c
[docker_image_ctl.j2]: Minor fix
SuvarnaMeenakshi Feb 22, 2020
f2d02bc
Modified creation of multi-asic frr directories from
SuvarnaMeenakshi Feb 24, 2020
d252a19
[sonic_multiasic.xml]: Increased the number of vcpus to support
SuvarnaMeenakshi Feb 24, 2020
5ba42df
[sonic_debian_extension]: Add config-setup.service in
SuvarnaMeenakshi Feb 25, 2020
97d2643
[sonic-netns-exec]: Added a new wrapper to execute any command in
SuvarnaMeenakshi Feb 26, 2020
01e9304
Merge remote-tracking branch 'remotes/sumeenak/master' into pr2multiasic
SuvarnaMeenakshi Feb 26, 2020
d83392a
[rsyslog-service]: Remove multiple instance systemd service templates
SuvarnaMeenakshi Feb 26, 2020
9dddcff
[interfaces-config.sh]: Updated script to use sonic-db-cli to
SuvarnaMeenakshi Feb 26, 2020
e2a9e6c
[sonic-netns-exec]: Modified to accept network namespace string
SuvarnaMeenakshi Feb 28, 2020
5f8ffe6
Minor correction to pass the right parameter to sonic-netns-exec
SuvarnaMeenakshi Feb 28, 2020
bf7b0c4
[redis-cli]: Reverting changes added to redis-cli to execute in
SuvarnaMeenakshi Feb 28, 2020
42a3572
Review comments fix
SuvarnaMeenakshi Mar 5, 2020
91af223
[topology.sh]: Fix indentation
SuvarnaMeenakshi Mar 6, 2020
0e6033a
[interfaces-config]: remove multiple instances of interfaces-config@
SuvarnaMeenakshi Mar 9, 2020
fe3ba83
[build_templates]: Combined single and multi instance service template
SuvarnaMeenakshi Mar 10, 2020
f4d5d49
[slave.mk]: Fix indendation
SuvarnaMeenakshi Mar 10, 2020
c2ce0b6
[docker_image_ctl]: Fix as per review comment. Use ip netns pid
SuvarnaMeenakshi Mar 10, 2020
ab45a88
Merge remote-tracking branch 'remotes/sumeenak/master' into pr2multiasic
SuvarnaMeenakshi Mar 10, 2020
34f9213
[docker_img_ctl.j2]: Minor fix after resolving merge conflicts.
SuvarnaMeenakshi Mar 10, 2020
cdb2fb3
[database.service]: Rename service template file to ensure that
SuvarnaMeenakshi Mar 11, 2020
0594d1a
[docker_img_ctl.j2]: Fix to use same init_cfg for all instances.
SuvarnaMeenakshi Mar 11, 2020
45c0e73
[build_templates]: Change directory as per review comment.
SuvarnaMeenakshi Mar 12, 2020
b4d2071
[docker_image_ctl]: Modify directory structure of frr directory
SuvarnaMeenakshi Mar 12, 2020
030be0b
[docker_image_ctl.j2]: Change command used to check if a namespace
SuvarnaMeenakshi Mar 12, 2020
42c6db3
[docker_image_ctl]: Minor fix to add comment
SuvarnaMeenakshi Mar 12, 2020
32c56c3
[database.globalservice]: Remove incorrect file. This file is no
SuvarnaMeenakshi Mar 12, 2020
6c8e56f
[build_templates]: Modified service template file to make them
SuvarnaMeenakshi Mar 13, 2020
27ea754
[build_templates]: Modified templates as per review comments.
SuvarnaMeenakshi Mar 14, 2020
b4b557e
Minor indendation fix.
SuvarnaMeenakshi Mar 14, 2020
4d1204d
[build_templates]: Minor update in per namespace service templates
SuvarnaMeenakshi Mar 18, 2020
fa25e1a
[syncd.servic]: Minor update in template file to make it concise.
SuvarnaMeenakshi Mar 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
eth1:25,26,27,28
eth2:29,30,31,32
eth3:33,34,35,36
eth4:37,38,39,40
eth5:45,46,47,48
eth6:41,42,43,44
eth7:1,2,3,4
eth8:5,6,7,8
eth9:13,14,15,16
eth10:9,10,11,12
eth11:17,18,19,20
eth12:21,22,23,24
eth13:53,54,55,56
eth14:49,50,51,52
eth15:57,58,59,60
eth16:61,62,63,64
eth17:69,70,71,72
eth18:65,66,67,68
eth19:73,74,75,76
eth20:77,78,79,80
eth21:109,110,111,112
eth22:105,106,107,108
eth23:113,114,115,116
eth24:117,118,119,120
eth25:125,126,127,128
eth26:121,122,123,124
eth27:81,82,83,84
eth28:85,86,87,88
eth29:93,94,95,96
eth30:89,90,91,92
eth31:101,102,103,104
eth32:97,98,99,100
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-s6000-32x40G.config.bcm
SAI_NUM_ECMP_MEMBERS=32
SAI_WARM_BOOT_READ_FILE=/var/cache/sai_warmboot.bin
SAI_WARM_BOOT_WRITE_FILE=/var/cache/sai_warmboot.bin
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM56850
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
eth1:25,26,27,28
eth2:29,30,31,32
eth3:33,34,35,36
eth4:37,38,39,40
eth5:45,46,47,48
eth6:41,42,43,44
eth7:1,2,3,4
eth8:5,6,7,8
eth9:13,14,15,16
eth10:9,10,11,12
eth11:17,18,19,20
eth12:21,22,23,24
eth13:53,54,55,56
eth14:49,50,51,52
eth15:57,58,59,60
eth16:61,62,63,64
eth17:69,70,71,72
eth18:65,66,67,68
eth19:73,74,75,76
eth20:77,78,79,80
eth21:109,110,111,112
eth22:105,106,107,108
eth23:113,114,115,116
eth24:117,118,119,120
eth25:125,126,127,128
eth26:121,122,123,124
eth27:81,82,83,84
eth28:85,86,87,88
eth29:93,94,95,96
eth30:89,90,91,92
eth31:101,102,103,104
eth32:97,98,99,100
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-s6000-32x40G.config.bcm
SAI_NUM_ECMP_MEMBERS=32
SAI_WARM_BOOT_READ_FILE=/var/cache/sai_warmboot.bin
SAI_WARM_BOOT_WRITE_FILE=/var/cache/sai_warmboot.bin
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM56850
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
eth1:25,26,27,28
eth2:29,30,31,32
eth3:33,34,35,36
eth4:37,38,39,40
eth5:45,46,47,48
eth6:41,42,43,44
eth7:1,2,3,4
eth8:5,6,7,8
eth9:13,14,15,16
eth10:9,10,11,12
eth11:17,18,19,20
eth12:21,22,23,24
eth13:53,54,55,56
eth14:49,50,51,52
eth15:57,58,59,60
eth16:61,62,63,64
eth17:69,70,71,72
eth18:65,66,67,68
eth19:73,74,75,76
eth20:77,78,79,80
eth21:109,110,111,112
eth22:105,106,107,108
eth23:113,114,115,116
eth24:117,118,119,120
eth25:125,126,127,128
eth26:121,122,123,124
eth27:81,82,83,84
eth28:85,86,87,88
eth29:93,94,95,96
eth30:89,90,91,92
eth31:101,102,103,104
eth32:97,98,99,100
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-s6000-32x40G.config.bcm
SAI_NUM_ECMP_MEMBERS=32
SAI_WARM_BOOT_READ_FILE=/var/cache/sai_warmboot.bin
SAI_WARM_BOOT_WRITE_FILE=/var/cache/sai_warmboot.bin
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM56850
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
eth1:25,26,27,28
eth2:29,30,31,32
eth3:33,34,35,36
eth4:37,38,39,40
eth5:45,46,47,48
eth6:41,42,43,44
eth7:1,2,3,4
eth8:5,6,7,8
eth9:13,14,15,16
eth10:9,10,11,12
eth11:17,18,19,20
eth12:21,22,23,24
eth13:53,54,55,56
eth14:49,50,51,52
eth15:57,58,59,60
eth16:61,62,63,64
eth17:69,70,71,72
eth18:65,66,67,68
eth19:73,74,75,76
eth20:77,78,79,80
eth21:109,110,111,112
eth22:105,106,107,108
eth23:113,114,115,116
eth24:117,118,119,120
eth25:125,126,127,128
eth26:121,122,123,124
eth27:81,82,83,84
eth28:85,86,87,88
eth29:93,94,95,96
eth30:89,90,91,92
eth31:101,102,103,104
eth32:97,98,99,100
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-s6000-32x40G.config.bcm
SAI_NUM_ECMP_MEMBERS=32
SAI_WARM_BOOT_READ_FILE=/var/cache/sai_warmboot.bin
SAI_WARM_BOOT_WRITE_FILE=/var/cache/sai_warmboot.bin
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM56850
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
eth1:25,26,27,28
eth2:29,30,31,32
eth3:33,34,35,36
eth4:37,38,39,40
eth5:45,46,47,48
eth6:41,42,43,44
eth7:1,2,3,4
eth8:5,6,7,8
eth9:13,14,15,16
eth10:9,10,11,12
eth11:17,18,19,20
eth12:21,22,23,24
eth13:53,54,55,56
eth14:49,50,51,52
eth15:57,58,59,60
eth16:61,62,63,64
eth17:69,70,71,72
eth18:65,66,67,68
eth19:73,74,75,76
eth20:77,78,79,80
eth21:109,110,111,112
eth22:105,106,107,108
eth23:113,114,115,116
eth24:117,118,119,120
eth25:125,126,127,128
eth26:121,122,123,124
eth27:81,82,83,84
eth28:85,86,87,88
eth29:93,94,95,96
eth30:89,90,91,92
eth31:101,102,103,104
eth32:97,98,99,100
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-s6000-32x40G.config.bcm
SAI_NUM_ECMP_MEMBERS=32
SAI_WARM_BOOT_READ_FILE=/var/cache/sai_warmboot.bin
SAI_WARM_BOOT_WRITE_FILE=/var/cache/sai_warmboot.bin
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM56850
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
eth1:25,26,27,28
eth2:29,30,31,32
eth3:33,34,35,36
eth4:37,38,39,40
eth5:45,46,47,48
eth6:41,42,43,44
eth7:1,2,3,4
eth8:5,6,7,8
eth9:13,14,15,16
eth10:9,10,11,12
eth11:17,18,19,20
eth12:21,22,23,24
eth13:53,54,55,56
eth14:49,50,51,52
eth15:57,58,59,60
eth16:61,62,63,64
eth17:69,70,71,72
eth18:65,66,67,68
eth19:73,74,75,76
eth20:77,78,79,80
eth21:109,110,111,112
eth22:105,106,107,108
eth23:113,114,115,116
eth24:117,118,119,120
eth25:125,126,127,128
eth26:121,122,123,124
eth27:81,82,83,84
eth28:85,86,87,88
eth29:93,94,95,96
eth30:89,90,91,92
eth31:101,102,103,104
eth32:97,98,99,100
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-s6000-32x40G.config.bcm
SAI_NUM_ECMP_MEMBERS=32
SAI_WARM_BOOT_READ_FILE=/var/cache/sai_warmboot.bin
SAI_WARM_BOOT_WRITE_FILE=/var/cache/sai_warmboot.bin
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM56850
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@ start () {
# eth48 - eth63: asic5
for ASIC in `seq $FIRST_FRONTEND_ASIC $LAST_FRONTEND_ASIC`; do
for NUM in `seq 1 16`; do
ORIG="eth$((16 * $ASIC + $NUM - 1))"
ORIG="eth$((16 * $ASIC + $NUM))"
jleveque marked this conversation as resolved.
Show resolved Hide resolved
TEMP="ethTemp999"
NEW="eth$(($NUM + 16))"
NEW="eth$(($NUM))"
echo "$ASIC : $NEW old $ORIG"
jleveque marked this conversation as resolved.
Show resolved Hide resolved
ip link set dev $ORIG down
ip link set dev $ORIG name $TEMP # rename to prevent conflicts before renaming in new namespace
ip link set dev $TEMP netns asic$ASIC
Expand All @@ -29,8 +30,9 @@ start () {
for BACKEND in `seq $FIRST_BACKEND_ASIC $LAST_BACKEND_ASIC`; do
for FRONTEND in `seq $FIRST_FRONTEND_ASIC $LAST_FRONTEND_ASIC`; do
for LINK in `seq 1 8`; do
BACK_NAME="eth$((8 * $FRONTEND + $LINK))"
FRONT_NAME="eth$((8 * $(($LAST_BACKEND_ASIC - $BACKEND)) + $LINK))"
FRONT_NAME="eth$((8 * $(($BACKEND - $FIRST_BACKEND_ASIC)) + $LINK + 16))"
BACK_NAME="eth$((8 * $FRONTEND + $LINK))"
echo "$FRONTEND:$FRONT_NAME - $BACKEND:$BACK_NAME"
TEMP_BACK="ethBack999"
TEMP_FRONT="ethFront999"

Expand All @@ -52,7 +54,7 @@ stop() {
for ASIC in `seq $FIRST_FRONTEND_ASIC $LAST_FRONTEND_ASIC`; do
for NUM in `seq 1 16`; do
TEMP="eth999"
OLD="eth$(($NUM + 16))"
OLD="eth$((16 * $ASIC + $NUM))"
NAME="eth$((16 * $ASIC + $NUM - 1))"
sudo ip netns exec asic$ASIC ip link set dev $OLD down
sudo ip netns exec asic$ASIC ip link set dev $OLD name $TEMP
Expand All @@ -78,4 +80,3 @@ case "$1" in
echo "Usage: $0 {start|stop}"
;;
esac

20 changes: 20 additions & 0 deletions dockers/docker-fpm-frr/bgpd.conf.default.j2
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,20 @@ route-map TO_BGP_PEER_V4 permit 100
!
route-map TO_BGP_PEER_V6 permit 100
!
{% if DEVICE_METADATA['localhost']['type'] == 'InternalFrontend' %}
route-map HIDE_INTERNAL permit 10
set community local-AS
!
{% endif %}
{% if DEVICE_METADATA['localhost']['type'] == 'InternalBackend' %}
route-map OVERRIDE_ORIGINATOR_ID permit 10
{% for (name, prefix) in LOOPBACK_INTERFACE|pfx_filter %}
{% if prefix | ipv4 and name == 'Loopback0' %}
set originator-id {{ prefix | ip }}
{% endif %}
{% endfor %}
!
{% endif %}
{% if BGP_MONITORS is defined and BGP_MONITORS|length > 0 %}
route-map FROM_BGPMON deny 10
!
Expand All @@ -37,6 +51,9 @@ route-map set-next-hop-global-v6 permit 10
set ipv6 next-hop prefer-global
!
router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}
{% if DEVICE_METADATA['localhost']['type'] == 'InternalFrontend' %}
redistribute connected route-map HIDE_INTERNAL
{% endif %}
bgp log-neighbor-changes
bgp bestpath as-path multipath-relax
no bgp default ipv4-unicast
Expand Down Expand Up @@ -151,6 +168,9 @@ router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}
neighbor {{ neighbor_addr }} peer-group BGPMON
neighbor {{ neighbor_addr }} description {{ bgp_session['name'] }}
neighbor {{ neighbor_addr }} activate
{% if DEVICE_METADATA['localhost']['type'] == 'InternalBackend' %}
neighbor {{ neighbor_addr }} route-map OVERRIDE_ORIGINATOR_ID in
{% endif %}
address-family ipv6
neighbor {{ neighbor_addr }} activate
exit-address-family
Expand Down
1 change: 1 addition & 0 deletions files/build_templates/database.service.j2
Loading