OSDN Git Service

Improvement of network function
[fulcon/Fulcon.git] / src / subcmd / net-del
1 #!/bin/bash
2
3 # Copyright (C) 2015-2016 NIWA Hideyuki
4
5 FULCONDRIVER=`fulcon driver-name`
6 PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
7
8 FULCONDIR=/var/lib/fulcon
9
10 # check root
11 if [ ${EUID:-${UID}} != 0 ]; then
12     echo "error: Because you are not root, you cannot execute this command. "
13     exit 1
14 fi
15
16 usage()
17 {
18         echo "usage: net-del NIC_NUMBER CONTAINER_NAME"
19 }
20
21 # check args
22 if [ $# -ne 2 ]; then
23         usage
24         exit -1
25 fi
26
27 NUM=$1
28 LXCNAME=$2
29 brctl show  |& egrep ${LXCNAME}${NUM} >& /dev/null
30 if [ $? -ne 0 ]; then
31         echo "error: can't find" ${LXCNAME}${NUM}
32         exit -1
33 fi
34 ip link delete ${LXCNAME}${NUM} type veth 
35 echo "deleted" ${LXCNAME}${NUM}
36
37 # delete a IP address for container
38 rm -f $FULCONDIR/container/${LXCNAME}/net/${LXCNAME}${NUM}
39
40 # check bridges
41 for i in `brctl show | egrep fulcon | awk '(NF==3){print $1}'`
42 do
43         ip link set $i down
44         brctl delbr $i
45 done
46
47 exit 0