Skip to content

Commit 021ef4f

Browse files
jipanyanglguohan
authored andcommitted
configDB enforcer for VLAN (#356)
* configDB enforcer for VLAN Signed-off-by: Jipan Yang <[email protected]> * Use OrchBase for configDB vlan configuration enforcer Signed-off-by: Jipan Yang <[email protected]> * Rename vlanconf to vlanmgr, and spin off switchmgr Signed-off-by: Jipan Yang <[email protected]> * Use shell full path command macros Signed-off-by: Jipan Yang <[email protected]> * Optimize shell command execution error handling Signed-off-by: Jipan Yang <[email protected]> * Use Orch class for vlanmgrd orchestration Signed-off-by: Jipan Yang <[email protected]> * Support getting switch mac from configDB Signed-off-by: Jipan Yang <[email protected]>
1 parent 8764902 commit 021ef4f

File tree

14 files changed

+710
-100
lines changed

14 files changed

+710
-100
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ deps/
4343
teamsyncd/teamsyncd
4444
fpmsyncd/fpmsyncd
4545
intfsyncd/intfsyncd
46+
cfgmgr/vlanmgrd
4647
neighsyncd/neighsyncd
4748
portsyncd/portsyncd
4849
orchagent/orchagent

Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SUBDIRS = fpmsyncd neighsyncd intfsyncd portsyncd orchagent swssconfig
1+
SUBDIRS = fpmsyncd neighsyncd intfsyncd portsyncd orchagent swssconfig cfgmgr
22

33
if HAVE_LIBTEAM
44
SUBDIRS += teamsyncd

cfgmgr/Makefile.am

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
INCLUDES = -I $(top_srcdir) -I $(top_srcdir)/orchagent
2+
CFLAGS_SAI = -I /usr/include/sai
3+
4+
bin_PROGRAMS = vlanmgrd
5+
6+
if DEBUG
7+
DBGFLAGS = -ggdb -DDEBUG
8+
else
9+
DBGFLAGS = -g
10+
endif
11+
12+
vlanmgrd_SOURCES = vlanmgrd.cpp vlanmgr.cpp $(top_srcdir)/orchagent/orch.cpp shellcmd.h
13+
vlanmgrd_CFLAGS = $(DBGFLAGS) $(AM_CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_SAI)
14+
vlanmgrd_CPPFLAGS = $(DBGFLAGS) $(AM_CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_SAI)
15+
vlanmgrd_LDADD = -lswsscommon
16+

cfgmgr/shellcmd.h

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#ifndef __SHELLCMD__
2+
#define __SHELLCMD__
3+
4+
#define IP_CMD "/sbin/ip"
5+
#define BRIDGE_CMD "/sbin/bridge"
6+
#define ECHO_CMD "/bin/echo"
7+
#define REDIS_CLI_CMD "/usr/bin/redis-cli"
8+
#define XARGS_CMD "/usr/bin/xargs"
9+
#define GREP_CMD "/bin/grep"
10+
#define AWK_CMD "/usr/bin/awk"
11+
#define LS_CMD "/bin/ls"
12+
#define PASTE_CMD "/usr/bin/paste"
13+
#define SED_CMD "/bin/sed"
14+
15+
#define EXEC_WITH_ERROR_THROW(cmd, res) ({ \
16+
int ret = swss::exec(cmd, res); \
17+
if (ret != 0) \
18+
{ \
19+
throw runtime_error(cmd + " : " + res); \
20+
} \
21+
})
22+
23+
#endif /* __SHELLCMD__ */

0 commit comments

Comments
 (0)