Skip to content

Commit

Permalink
kiss-netns: add addbridge,addif2bridge,delbridge sub-commands
Browse files Browse the repository at this point in the history
there 3 sub-cmds are not for netns, but for convenient creating
network bridges and adding physical NIC into it.

not finished, need to continue to improve..

Signed-off-by: Jianhong Yin <[email protected]>
  • Loading branch information
tcler committed Sep 12, 2023
1 parent 978d846 commit 378220d
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions kiss-netns
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Usage() {
$P <\$nsname,\$vethX,\$addr---\$nsname,\$vethX_peer,\$addr | \$nsname,\$vnic_name[,\$addr][?updev=\$if,mode=\$mode,iftype=\$iftype]>
# ^^^ nsname 'host' means default network namespace, br-$suffix,br:\$brname means it's a bridge //[convention over configuration]
# ^^^ vnic_name 'iv-*' means ipvlan nic, 'mv-*' and others means macvlan nic //[convention over configuration]
# ^^^ addr 'dhcp' means get ip address by using dhclient //[convention over configuration]
# ^^^ addr 'dhcp' means get ip address by using dhclient/networkctl //[convention over configuration]
# +--------+ +--------+
# | ns0 [veth0.X]------------[veth0.Y] host |
Expand Down Expand Up @@ -288,6 +288,8 @@ brdelete() {
fi
done
}
delbridge() { brdelete "$@"; }
delbr() { brdelete "$@"; }
nsdelete() {
local netnsList=()
local brList=()
Expand Down Expand Up @@ -444,7 +446,7 @@ addipvlan() {
run ip link add link $updev name ${iv} type ipvlan mode $mode
done
}
addbr() {
addbridge() {
local fname=${FUNCNAME[0]}
Usage() { echo -e "Usage:\n $fname br-name1 [br-name2 ...]"; }

Expand All @@ -458,6 +460,7 @@ addbr() {
run ip link set dev $brname up
done
}
addbr() { addbridge "$@"; }
addressup() {
local if=$1
local addr=$2
Expand Down Expand Up @@ -528,7 +531,7 @@ exec|exe|ex|e) shift
delif) shift
delif "$@"
exit $?;;
del*|de|d) shift
delete|delet|dele|del|de|d) shift
[[ -z "$NS" ]] && { NS=$1; shift; }
[[ -z "$NS" ]] && { Usage >&2; exit 1; }
nsdelete $NS "$@"
Expand Down Expand Up @@ -561,6 +564,15 @@ detach) shift
creat*) shift
[[ -z "$NS" ]] && { NS=$1; shift; }
;;
addbr|addbridge) shift
addbridge "$@"
exit $?;;
addif2bridge) shift
addif2bridge "$@"
exit $?;;
delbr|delbridge) shift
delbridge "$@"
exit $?;;
esac

[[ $# = 0 ]] && {
Expand Down Expand Up @@ -656,7 +668,7 @@ for NS in "${!NS_IFS[@]}"; do
if [[ -n "$(ifexist $brname)" ]]; then
echo -e "{NETNS:INFO} bridge ${brname} has been there."
else
addbr $brname
addbridge $brname
fi
else
nshome=/opt/NETNS/$NS
Expand Down

0 comments on commit 378220d

Please sign in to comment.