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

Add sonic-sswsyncd #21963

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
92 changes: 92 additions & 0 deletions src/sonic-sswsyncd/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
CFLAGS_COMMON =
CFLAGS_COMMON += -ansi
CFLAGS_COMMON += -fPIC
CFLAGS_COMMON += -std=c++11
CFLAGS_COMMON += -Wall
CFLAGS_COMMON += -Wcast-align
CFLAGS_COMMON += -Wcast-qual
CFLAGS_COMMON += -Wconversion
CFLAGS_COMMON += -Wdisabled-optimization
CFLAGS_COMMON += -Werror
CFLAGS_COMMON += -Wextra
CFLAGS_COMMON += -Wfloat-equal
CFLAGS_COMMON += -Wformat=2
CFLAGS_COMMON += -Wformat-nonliteral
CFLAGS_COMMON += -Wformat-security
CFLAGS_COMMON += -Wformat-y2k
CFLAGS_COMMON += -Wimport
CFLAGS_COMMON += -Winit-self
CFLAGS_COMMON += -Winline
CFLAGS_COMMON += -Winvalid-pch
CFLAGS_COMMON += -Wlong-long
CFLAGS_COMMON += -Wmissing-field-initializers
CFLAGS_COMMON += -Wmissing-format-attribute
CFLAGS_COMMON += -Wmissing-include-dirs
CFLAGS_COMMON += -Wmissing-noreturn
CFLAGS_COMMON += -Wno-aggregate-return
CFLAGS_COMMON += -Wno-padded
CFLAGS_COMMON += -Wno-switch-enum
CFLAGS_COMMON += -Wno-unused-parameter
CFLAGS_COMMON += -Wpacked
CFLAGS_COMMON += -Wpointer-arith
CFLAGS_COMMON += -Wredundant-decls
CFLAGS_COMMON += -Wshadow
CFLAGS_COMMON += -Wstack-protector
CFLAGS_COMMON += -Wstrict-aliasing=3
CFLAGS_COMMON += -Wswitch
CFLAGS_COMMON += -Wswitch-default
CFLAGS_COMMON += -Wunreachable-code
CFLAGS_COMMON += -Wunused
CFLAGS_COMMON += -Wvariadic-macros
CFLAGS_COMMON += -Wwrite-strings
CFLAGS_COMMON += -Wno-switch-default
CFLAGS_COMMON += -Wconversion
CFLAGS_COMMON += -Wlong-long

CC = g++
SAI_INCLUDE_DIR = /usr/include/sai
CFLAGS = -g -I$(SAI_INCLUDE_DIR) -I/usr/include/libnl3 -std=c++11
ifdef SAITHRIFT
SAI_RPC_INCLUDE_DIR = libsaiserver/include
SAI_RPC_LIB_DIR = libsaiserver/lib
CFLAGS += -I$(SAI_RPC_INCLUDE_DIR) -L$(SAI_RPC_LIB_DIR) -DSAITHRIFT=yes
endif
ifeq ($(platform),MLNX)
CDEFS = -DMLNXSAI
else
ifeq ($(platform),BFT)
CDEFS = -DBFTSAI
else
ifeq ($(platform),)
CDEFS = -DBRCMSAI
endif
endif
endif
INSTALL := /usr/bin/install
DSSERVE := dsserve
BCMCMD := bcmcmd

SDIR = src
ODIR = obj
BIN_DIR = build

LIBS = -lpthread -lutil

$(shell mkdir -p $(ODIR) && mkdir -p $(BIN_DIR))

.phony : install clean

all : $(DSSERVE) $(BCMCMD)

$(DSSERVE) : $(SDIR)/$(DSSERVE).cpp
$(CC) -o $(BIN_DIR)/$(DSSERVE) $^ $(CFLAGS) $(LIBS)

$(BCMCMD) : $(SDIR)/$(BCMCMD).cpp
$(CC) -o $(BIN_DIR)/$(BCMCMD) $^ $(CFLAGS) $(CFLAGS_COMMON) $(LIBS)

install :
$(INSTALL) -D $(BIN_DIR)/$(DSSERVE) $(DESTDIR)/usr/sbin/$(DSSERVE)
$(INSTALL) -D $(BIN_DIR)/$(BCMCMD) $(DESTDIR)/usr/sbin/$(BCMCMD)

clean:
rm -rf $(ODIR) $(BIN_DIR)
33 changes: 33 additions & 0 deletions src/sonic-sswsyncd/debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
sswsyncd (0.2-8) UNRELEASED; urgency=medium

* Add support for Mellanox switches

-- Pavel Shirshov <pavelsh@microsoft.com> Wed, 13 Apr 2016 14:07:03 -0700

sswsyncd (0.2-7) UNRELEASED; urgency=medium

* build two packages: one for production, one for development with saithrift server included

-- Pavel Shirshov <pavelsh@microsoft.com> Wed, 06 Apr 2016 01:39:03 -0700

sswsyncd (0.2-6) UNRELEASED; urgency=medium

* add init script
* consume libsai virtual package
* add interface syncer
* add dependency for socat in the init.d
* add sswsyncd.service for systemd

-- Guohan Lu <gulv@microsoft.com> Fri, 17 Jul 2015 01:39:03 -0700

sswsyncd (0.2-2) unstable; urgency=low

* Initial version based on SAI

-- Guohan Lu <gulv@microsoft.com> Thu, 19 Feb 2015 06:37:50 -0800

sswsyncd (0.2-1) unstable; urgency=low

* Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP>

-- Guohan Lu <gulv@microsoft.com> Thu, 13 Nov 2014 01:08:15 -0800
1 change: 1 addition & 0 deletions src/sonic-sswsyncd/debian/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9
20 changes: 20 additions & 0 deletions src/sonic-sswsyncd/debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Source: sswsyncd
Section: main
Priority: extra
Maintainer: Guohan Lu <gulv@microsoft.com>
Build-Depends: debhelper (>= 8.0.0)
Standards-Version: 3.9.3
#Vcs-Git: git://git.debian.org/collab-maint/ssw.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/ssw.git;a=summary

Package: sswsyncd
Architecture: amd64
Depends: libsai, python-tabulate, ifupdown, ${shlibs:Depends}, ${misc:Depends}
Conflicts: sswsyncd-saithrift
Description: AzureCloudSwitch route sync daemon

Package: sswsyncd-saithrift
Architecture: amd64
Depends: libsai, python-tabulate, ifupdown, ${shlibs:Depends}, ${misc:Depends}
Conflicts: sswsyncd
Description: AzureCloudSwitch route sync daemon
62 changes: 62 additions & 0 deletions src/sonic-sswsyncd/debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

PACKAGES += sswsyncd

BUILDFLAGS_sswsyncd =

.PHONY: clean

binary: binary-arch

binary-arch: binary-arch-sswsyncd

binary-arch-sswsyncd: install-stamp-sswsyncd
dh_testdir
dh_testroot
dh_systemd_enable -p $*
dh_installinit -p $* --name=sswsyncd
dh_installdocs -p $*
dh_installchangelogs -p $*
dh_perl -p $*
dh_link -p $*
dh_compress -p $*
dh_fixperms -p $*
dh_strip -p $*
dh_makeshlibs -p $*
dh_shlibdeps -p $* -- -xlibsaibcm
dh_installdeb -p $*
dh_gencontrol -p $*
dh_md5sums -p $*
dh_builddeb -p $*

install-stamp-sswsyncd: DESTDIR=$(CURDIR)/debian/sswsyncd
install-stamp-sswsyncd: build-stamp-sswsyncd
dh_testdir
dh_testroot
@echo "!!! INSTALLING PACKAGE $*"
cp $(CURDIR)/debian/dirs.tmpl $(CURDIR)/debian/$*.dirs
dh_installdirs -p $*
$(MAKE) install DESTDIR=$(DESTDIR)
touch $@

build-stamp-sswsyncd: BUILDFLAGS=$(BUILDFLAGS_sswsyncd)
build-stamp-sswsyncd:
dh_testdir
dh_prep -p $*
@echo "!!! BUILDING PACKAGE $*"
$(MAKE) clean
$(MAKE) $(BUILDFLAGS)
touch $@

clean:
rm -f *-stamp*
dh_clean
Loading
Loading