mkdir -p $(DESTDIR)$(libdir)/fulcon/sbin
install -m 755 cmd/fulcond $(DESTDIR)$(libdir)/fulcon/sbin/fulcond
install -m 755 subcmd/default-image $(DESTDIR)$(libdir)/fulcon/sbin/default-image
+ install -m 755 subcmd/bridge-name $(DESTDIR)$(libdir)/fulcon/sbin/bridge-name
install -m 755 subcmd/driver-name $(DESTDIR)$(libdir)/fulcon/sbin/driver-name
install -m 755 subcmd/list $(DESTDIR)$(libdir)/fulcon/sbin/list
install -m 755 subcmd/sysgen $(DESTDIR)$(libdir)/fulcon/sbin/sysgen
install -m 755 subcmd/add-user $(DESTDIR)$(libdir)/fulcon/sbin/add-user
install -m 755 subcmd/del-user $(DESTDIR)$(libdir)/fulcon/sbin/del-user
install -m 755 subcmd/set-passwd $(DESTDIR)$(libdir)/fulcon/sbin/set-passwd
+ install -m 755 subcmd/set-bridge $(DESTDIR)$(libdir)/fulcon/sbin/set-bridge
install -m 755 subcmd/set-driver $(DESTDIR)$(libdir)/fulcon/sbin/set-driver
install -m 755 subcmd/image-catalog $(DESTDIR)$(libdir)/fulcon/sbin/image-catalog
install -m 755 subcmd/ls-image $(DESTDIR)$(libdir)/fulcon/sbin/ls-image
install -m 755 driver/docker/fulcon-ip $(DESTDIR)$(libdir)/fulcon/driver/docker/fulcon-ip
install -m 755 driver/docker/fulcon-status $(DESTDIR)$(libdir)/fulcon/driver/docker/fulcon-status
install -m 755 driver/docker/find-id $(DESTDIR)$(libdir)/fulcon/driver/docker/find-id
+ mkdir -p $(DESTDIR)$(libdir)/fulcon/driver/LinuxBridge
+ install -m 755 driver/LinuxBridge/br-addbr $(DESTDIR)$(libdir)/fulcon/driver/LinuxBridge/br-addbr
+ install -m 755 driver/LinuxBridge/br-delbr $(DESTDIR)$(libdir)/fulcon/driver/LinuxBridge/br-delbr
+ install -m 755 driver/LinuxBridge/br-addif $(DESTDIR)$(libdir)/fulcon/driver/LinuxBridge/br-addif
+ install -m 755 driver/LinuxBridge/br-delif $(DESTDIR)$(libdir)/fulcon/driver/LinuxBridge/br-delif
+ install -m 755 driver/LinuxBridge/br-show $(DESTDIR)$(libdir)/fulcon/driver/LinuxBridge/br-show
install-dockerfile :
mkdir -p $(DESTDIR)/$(localstatedir)/lib/fulcon/driver/dockerfile
# Copyright (C) 2015-2016 NIWA Hideyuki
FULCONDRIVER=`fulcon driver-name`
-PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
+BRIDGEDRIVER=`fulcon bridge-name`
+PATH=/usr/lib/fulcon/driver/$BRIDGEDRIVER:/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
+
usage()
{
fi
# check a exist bridge
-brctl show | grep fulcon${BRNO} >& /dev/null
+br-show | grep fulcon${BRNO} >& /dev/null
if [ $? -eq 1 ]; then
- brctl addbr fulcon$BRNO
+ br-addbr fulcon$BRNO
ip link set fulcon$BRNO up
echo "generated new BRIDGE : fulcon"$BRNO
else
# set ip address for bridge, add interface to net_device
ip addr add $IPMASK dev fulcon$BRNO
if [ x"$NETDEV" != x"" ]; then
- brctl addif fulcon$BRNO $NETDEV
+ br-addif fulcon$BRNO $NETDEV
# set promisc mode to net_device
ip addr del $IPMASK dev $NETDEV
# Copyright (C) 2015-2016 NIWA Hideyuki
FULCONDRIVER=`fulcon driver-name`
-PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
+BRIDGEDRIVER=`fulcon bridge-name`
+PATH=/usr/lib/fulcon/driver/$BRIDGEDRIVER:/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
usage()
{
fi
# delete all interface
-for i in `brctl show $BRNO | awk 'NR>1{print $NF}'`
+for i in `br-show $BRNO | awk 'NR>1{print $NF}'`
do
- brctl delif $BRNO $i
+ br-delif $BRNO $i
done
# delete bridge
ip link set $BRNO down
-brctl delbr $BRNO
+br-delbr $BRNO
#!/bin/bash
+FULCONDRIVER=`fulcon driver-name`
+BRIDGEDRIVER=`fulcon bridge-name`
+PATH=/usr/lib/fulcon/driver/$BRIDGEDRIVER:/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
# Copyright (C) 2015 NIWA Hideyuki
exit -1
fi
-for i in `brctl show | egrep fulcon | awk '{print $1}' `
+for i in `br-show | egrep fulcon | awk '{print $1}' `
do
- N=`brctl show $i | awk '($1=="'$i'"){print NF}'`
+ N=`br-show $i | awk '($1=="'$i'"){print NF}'`
if [ $N -eq 4 ]; then
ip a show $i
echo
- brctl show $i
+ br-show $i
echo
else
ip link set $i down
- brctl delbr $i
+ br-delbr $i
fi
done
--- /dev/null
+#!/bin/bash
+
+# Copyright (C) 2015 NIWA Hideyuki
+
+FULCONDIR=/var/lib/fulcon
+
+umask 022
+
+usage()
+{
+ echo "usage: bridge-name"
+}
+
+if [ $# -ne 1 -o x"$1" != x"bridge-name" ]; then
+ usage
+ exit -1
+fi
+
+head -n 1 $FULCONDIR/default-bridge
+
FULCONDIR=/var/lib/fulcon
FULCONDRIVER=`fulcon driver-name`
-PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
+BRIDGEDRIVER=`fulcon bridge-name`
+PATH=/usr/lib/fulcon/driver/$BRIDGEDRIVER:/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
umask 022
fi
# check unnecessary bridges
-for i in `brctl show | egrep fulcon | awk '(NF==3){print $1}'`
+for i in `br-show | egrep fulcon | awk '(NF==3){print $1}'`
do
ip link set $i down
- brctl delbr $i
+ br-delbr $i
done
RBR=0
BRNO=0
BNO=0
-for i in `brctl show | egrep fulcon | awk '{print $1}'`
+for i in `br-show | egrep fulcon | awk '{print $1}'`
do
BIP=`ip a show $i | awk '$1=="inet"{print $2}'`
BIP=`net-ipv4 -g $BIP`
ip link set ${LXCNAME}_${NUM} up
- brctl show $LXCBR |& egrep 'No such device' >& /dev/null
+ br-show $LXCBR |& egrep 'No such device' >& /dev/null
if [ $? -eq 0 ]; then
- brctl addbr $LXCBR
+ br-addbr $LXCBR
ip link set $LXCBR up
BR_BRCAST=`net-ipv4 -b ${LXCBRIP}/${LXCMASK}`
ip addr add ${LXCBRIP}/${LXCMASK} broadcast $BR_BRCAST dev $LXCBR
ip link set $LXCBR promisc on
fi
- brctl addif $LXCBR ${LXCNAME}_${NUM} >& /dev/null
+ br-addif $LXCBR ${LXCNAME}_${NUM} >& /dev/null
# setting up of IP address
LXCFBROADCAST=`net-ipv4 -b "${LXCIP}/${LXCMASK}"`
ip addr add 0.0.0.0 dev $NETDEV >& /dev/null
ip link set $NETDEV promisc on
- brctl show $LXCBR | egrep -w $NETDEV >& /dev/null
+ br-show $LXCBR | egrep -w $NETDEV >& /dev/null
if [ $? -ne 0 ]; then
- brctl addif $LXCBR $NETDEV
+ br-addif $LXCBR $NETDEV
fi
fi
# Copyright (C) 2015-2016 NIWA Hideyuki
FULCONDRIVER=`fulcon driver-name`
-PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
+BRIDGEDRIVER=`fulcon bridge-name`
+PATH=/usr/lib/fulcon/driver/$BRIDGEDRIVER:/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
FULCONDIR=/var/lib/fulcon
rm -f $FULCONDIR/container/${LXCNAME}/net/${LXCNAME}_${NUM}
# check bridges
- for i in `brctl show | egrep fulcon | awk '(NF==3){print $1}'`
+ for i in `br-show | egrep fulcon | awk '(NF==3){print $1}'`
do
ip link set $i down
- brctl delbr $i
+ br-delbr $i
done
}
-brctl show |& egrep ${LXCNAME}_${NUM} >& /dev/null
+br-show |& egrep ${LXCNAME}_${NUM} >& /dev/null
if [ $? -eq 0 ]; then
network_delete
fi
# Copyright (C) 2015 NIWA Hideyuki
FULCONDRIVER=`fulcon driver-name`
-PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
+BRIDGEDRIVER=`fulcon bridge-name`
+PATH=/usr/lib/fulcon/driver/$BRIDGEDRIVER:/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
FULCONDIR=/var/lib/fulcon
usage()
# Copyright (C) 2016 NIWA Hideyuki
FULCONDRIVER=`fulcon driver-name`
-PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
+BRIDGEDRIVER=`fulcon bridge-name`
+PATH=/usr/lib/fulcon/driver/$BRIDGEDRIVER:/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
FULCONDIR=/var/lib/fulcon
usage()
exit -1
fi
-if [ x"`brctl show | egrep $NETDEV | awk '{print $NF}'`" == x"$NETDEV" ]; then
+if [ x"`br-show | egrep $NETDEV | awk '{print $NF}'`" == x"$NETDEV" ]; then
echo "error: $NETDEV has already been allocated in the bridge. "
exit -1
fi
IPMASK=`ip a show $NETDEV | egrep "inet " | awk '{print $2}'`
IPG=`net-ipv4 -g $IPMASK`
#
-for i in `brctl show | egrep fulcon | awk '{print $1}'`
+for i in `br-show | egrep fulcon | awk '{print $1}'`
do
BIP=`ip a show $i | egrep "inet " | awk '{print $2}'`
BIPG=`net-ipv4 -g $BIP`
fi
BRNO=`expr $BRNO + 1`
done
- brctl addbr fulcon$BRNO
+ br-addbr fulcon$BRNO
ip link set fulcon$BRNO up
echo "generated new BRIDGE : fulcon"$BRNO
fi
# set ip address for bridge, add interface to net_device
ip addr add $IPMASK dev fulcon$BRNO
-brctl addif fulcon$BRNO $NETDEV
+br-addif fulcon$BRNO $NETDEV
# set BR MAC
#MAC=`ip addr show fulcon$BRNO | egrep link/ether | awk '{print $2}' | awk -F : '{printf "52:54:00:%2s:%2s:%2s",$4,$5,$6}'`
# Copyright (C) 2016 NIWA Hideyuki
FULCONDRIVER=`fulcon driver-name`
-PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
+BRIDGEDRIVER=`fulcon bridge-name`
+PATH=/usr/lib/fulcon/driver/$BRIDGEDRIVER:/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH
FULCONDIR=/var/lib/fulcon
usage()
NETDEV=$1
FLG=0
-for i in `brctl show | egrep fulcon | awk '{print $1}'`
+for i in `br-show | egrep fulcon | awk '{print $1}'`
do
- if [ x"`brctl show $i | egrep $NETDEV`" != x"" ]; then
+ if [ x"`br-show $i | egrep $NETDEV`" != x"" ]; then
# reset MAC
#MAC=`ip addr show $i | egrep link/ether | awk '{print $2}'`
#ip link set $NETDEV address $MAC
#ip addr add $IP dev $NETDEV
# delete nic
- brctl delif $i $NETDEV >& /dev/null
+ br-delif $i $NETDEV >& /dev/null
- brctl show | egrep $i | awk '{exit(NF)}'
+ br-show | egrep $i | awk '{exit(NF)}'
if [ $? -lt 4 ]; then
# delete br
ip link set $i down
- brctl delbr $i
+ br-delbr $i
fi
FLG=1
--- /dev/null
+#!/bin/sh
+
+DRIVERNAME=$1
+
+if [ x"$DRIVERNAME" != x"LinuxBridge" -a x"$DRIVERNAME" != x"OpenvSwitch" ]; then
+ echo "error: unsupported bridge driver:" $DIRVERNAME
+ exit -1
+fi
+
+echo $DRIVERNAME > /var/lib/fulcon/default-bridge
+echo "default bridge driver :" $DRIVERNAME
+