Fix network namespace creation

Change-Id: I258b7f78875baf3de6686032b23743d27268d8de
This commit is contained in:
Olivier Bourdon 2017-02-17 15:24:03 +01:00
parent 6620c904d5
commit 0e359cb3cb
2 changed files with 15 additions and 0 deletions

View File

@ -60,7 +60,15 @@ TRAPDOPTS="-Lsd -p $TRAPD_PID"
test -x $SNMPD_BINARY || exit 0
test -x $TRAPD_BINARY || exit 0
create_ns_if_not_exists() {
[ -n "$1" ] || return 0
exists=`$IP_BINARY netns | egrep "^$1\$" | wc -l`
[ $exists -le 0 ] || return 0
$IP_BINARY netns add "$1"
}
if [ "x$SNMPDNS" != "x" ]; then
create_ns_if_not_exists "$SNMPDNS"
SNMPDOPTS="netns exec $SNMPDNS $SNMPD_BINARY $SNMPDOPTS"
SNMPDEXEC=$IP_BINARY
else
@ -68,6 +76,7 @@ else
fi
if [ "x$TRAPDNS" != "x" ]; then
create_ns_if_not_exists "$TRAPDNS"
TRAPDOPTS="netns exec $TRAPDNS $TRAPD_BINARY $TRAPDOPTS"
TRAPDEXEC=$IP_BINARY
else

View File

@ -54,6 +54,12 @@ pidfile=/var/run/snmptrapd.pid
if [ "x$NS" != "x" ]; then
cmd="/sbin/ip netns exec $NS $binary"
exists=`$IP_BINARY netns | egrep "^$1\$" | wc -l`
if [ $exists -le 0 ]; then
/sbin/ip netns add $NS
fi
}
else
cmd=$binary
fi