• Stars
    star
    174
  • Rank 219,104 (Top 5 %)
  • Language
    C++
  • License
    Other
  • Created over 8 years ago
  • Updated 27 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SONiC Switch State Service (SwSS)

static analysis:

Total alerts Language grade: Python Language grade: C/C++

sonic-swss builds:

master build 202205 build 202111 build 202106 build 202012 build 201911 build

SONiC - SWitch State Service - SWSS

Description

The SWitch State Service (SWSS) is a collection of software that provides a database interface for communication with and state representation of network applications and network switch hardware.

Getting Started

Install

Before installing, add key and package sources:

sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
echo 'deb http://apt-mo.trafficmanager.net/repos/sonic/ trusty main' | sudo tee -a /etc/apt/sources.list.d/sonic.list
sudo apt-get update

Install dependencies:

sudo apt-get install redis-server -t trusty
sudo apt-get install libhiredis0.13 -t trusty
sudo apt-get install libzmq5 libzmq3-dev

Install building dependencies:

sudo apt-get install libtool
sudo apt-get install autoconf automake
sudo apt-get install dh-exec

There are a few different ways you can install SONiC-SWSS.

Install from Debian Repo

For your convenience, you can install prepared packages on Debian Jessie:

sudo apt-get install swss

Install from Source

Checkout the source: git clone https://github.com/sonic-net/sonic-swss.git and install it yourself.

Get SAI header files into /usr/include/sai. Put the SAI header files that you use to compile libsairedis into /usr/include/sai

Install prerequisite packages:

sudo apt-get install libswsscommon libswsscommon-dev libsairedis libsairedis-dev

You can compile and install from source using:

./autogen.sh
./configure
make && sudo make install

You can also build a debian package using:

./autogen.sh
fakeroot debian/rules binary

Need Help?

For general questions, setup help, or troubleshooting:

For bug reports or feature requests, please open an Issue.

Contribution guide

See the contributors guide for information about how to contribute.

GitHub Workflow

We're following basic GitHub Flow. If you have no idea what we're talking about, check out GitHub's official guide. Note that merge is only performed by the repository maintainer.

Guide for performing commits:

  • Isolate each commit to one component/bugfix/issue/feature
  • Use a standard commit message format:
[component/folder touched]: Description intent of your changes

[List of changes]

Signed-off-by: Your Name [email protected]

For example:

swss-common: Stabilize the ConsumerTable

* Fixing autoreconf
* Fixing unit-tests by adding checkers and initialize the DB before start
* Adding the ability to select from multiple channels
* Health-Monitor - The idea of the patch is that if something went wrong with the notification channel,
  we will have the option to know about it (Query the LLEN table length).

  Signed-off-by: [email protected]
  • Each developer should fork this repository and add the team as a Contributor
  • Push your changes to your private fork and do "pull-request" to this repository
  • Use a pull request to do code review
  • Use issues to keep track of what is going on

More Repositories

1

SONiC

Landing page for Software for Open Networking in the Cloud (SONiC) - https://sonic-net.github.io/SONiC/
HTML
2,232
star
2

sonic-buildimage

Scripts which perform an installable binary image build for SONiC
C
735
star
3

sonic-mgmt

Configuration management examples for SONiC
Python
173
star
4

sonic-utilities

Command line utilities for the SONiC project
Python
157
star
5

DASH

Disaggregated APIs for SONiC Hosts
Python
83
star
6

sonic-sairedis

SAI object interface to Redis database, as used in the SONiC project
C++
56
star
7

sonic-linux-kernel

Linux kernel drivers for SONiC project
Shell
48
star
8

sonic-platform-common

Python packages which provide a common interface to platform-specific hardware peripherals in SONiC
Python
46
star
9

sonic-swss-common

Common components for SONiC switch state service
C++
45
star
10

sonic-telemetry

SONiC telemetry, moved to https://github.com/sonic-net/sonic-gnmi
Go
38
star
11

sonic-frr

sonic frr
C
32
star
12

sonic-mgmt-framework

Python
30
star
13

sonic-pins

P4 Integrated Network Stack (PINS)
C++
30
star
14

sonic-restapi

restful api server
Python
23
star
15

sonic-platform-daemons

Platform module daemons for SONiC
Python
23
star
16

sonic-gnmi

SONiC gNMI server and gNOI repo
Go
17
star
17

sonic-snmpagent

A net-snmpd agentx subagent for SONiC
Python
14
star
18

sonic-quagga

Sonic quagga is a fork of savannah project quagga
C
13
star
19

sonic-py-swsssdk

Python SONiC switch state service sdk
Python
13
star
20

sonic-mgmt-common

Go
9
star
21

sonic-platform-modules-s6000

linux kernel drivers for dell S6000
C
7
star
22

sonic-dbsyncd

Python library for sonic/redis database syncing
Python
6
star
23

sonic-stp

C
6
star
24

sonic-wpa-supplicant

control plane MacSec
C
6
star
25

sonic-platform-vpp

C++
5
star
26

sonic-linkmgrd

Repo For SONiC Supporting Dual-ToRs
C++
4
star
27

sonic-platform-modules-dell

platform drivers for dell switches
C
4
star
28

sonic-dash-api

SONiC gNMI oriented DASH northbound API
C++
4
star
29

sonic-host-services

Python
3
star
30

sonic-ztp

Python
3
star
31

sonic-utilities.msft

3
star
32

sonic-dhcpmon

C++
2
star
33

sonic-dash-ha

SONiC SmartSwitch HA related services
Rust
2
star
34

sonic-platform-pdk-pde

Python
1
star
35

saibcm-modules

This repository contains the SDK GPL module from broadcom.
1
star
36

sonic-dhcp-relay

SONiC DHCP relay repo
C++
1
star
37

sonic-bmp

C++
1
star