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 #3277

Closed
wants to merge 12 commits into from

Conversation

theasianpianist
Copy link
Contributor

NOTE: Dependent on #3269, which needs to be merged before this PR
NOTE: Currently a bug causes orchagent to crash approx 1 min after SWSS starts. This needs to be fixed before merging.

- What I did
Implements multi-ASIC support for SONiC

  • Create SystemD templates for all services that are duplicated across ASICs

    • database
    • swss
    • syncd
    • bgp
    • teamd
    • interfaces-config
    • rsyslog-config
    • rsyslog
  • Adjust scripts to accept namespace number as an argument

- How I did it

- How to verify it

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

Lawrence Lee added 12 commits August 2, 2019 10:17
* create systemd target to start/stop all containers in a specific namespace at once

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* add multi-instance option to redis-cli
* create database template service
* change docker_image_ctl to use new redis sockets
* increase database service timeout duration to 120s

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* add instance number option and unix socket option to docker_image_ctl for swss
* change swss service to service template
* add instance number option and unix socket option to swss.sh
* force all redis-cli calls through redis-cli wrapper

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* add syncd service template
* add instance number argument for syncd script
* add rsyslog service template compatible with network namespaces
* change rsyslog_config to use database instance unix socket

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* add wrapper for 'sudo ip netns exec' command

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* increase from 2GB to 8GB to prevent OOM crashes
* necessary because multi-ASIC devices have increased memory requirements

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* add bgp service template
* create /etc/sonic/frr* for multiple instances of bgp docker container

[frr docker]: add multi-ASIC support to bgpd.conf
* add `redistribute connected` option to advertise routes to local interfaces
* add `all` option to next-hop-self
* add route-map to hide internal routes
* add route-map to allow duplicate frontend router id

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* change teamd service file to template
* force teamd to restart when swss does

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* set submodule to point at newest commit

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* create service template
* enable template instances in sonic_debian_extension
* use iproute2 in interfaces-config script if working with network namespaces
* make swss multi-instance dependent on multi-instance interfaces config

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
* use 'asic' as namespace prefix instead of 'namespace' in accordance
with PR sonic-net#3269

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
mssonicbld added a commit that referenced this pull request Sep 11, 2024
…lly (#20184)

#### Why I did it
src/sonic-swss
```
* bbb6a350 - (HEAD -> 202311, origin/202311) [202311][muxorch] Fixing bug with updateRoute and mux neighbors (#3188) (#3277) (3 days ago) [Nikola Dancejic]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants