3 # lxc_macvlan Start/Stop LXC MACVLAN interface
6 # description: Starts/Stops LXC MACVLAN interface.
9 # Provides: lxc_macvlan
10 # Default-Start: 3 4 5
12 # Short-Description: Start/Stop LXC MACVLAN interface
13 # Description: Start/Stop LXC MACVLAN interface
16 # Source function library
17 . /etc/rc.d/init.d/functions
19 # Source any configurable options
20 test ! -r /etc/sysconfig/lxc_macvlan ||
21 . /etc/sysconfig/lxc_macvlan
23 # Tests for data provided in /etc/sysconfig/lxc_macvlan
24 if [ -z "$MACVLAN_DEV" ]; then
25 echo "MACVLAN_DEV not set is /etc/sysconfig/lxc_macvlan"
29 if [ -z "$MACVLAN_NAME" ]; then
30 echo "MACVLAN_NAME not set is /etc/sysconfig/lxc_macvlan"
34 if [ -z "$MACVLAN_ADDRESS" ]; then
35 echo "MACVLAN_ADDRESS not set is /etc/sysconfig/lxc_macvlan"
39 # If not defined MACVLAN_HWADDRESS, calculate it from MACVLAN_ADDRESS
40 if [ -z "$MACVLAN_HWADDRESS" ]; then
41 MACVLAN_HWADDRESS=`echo $MACVLAN_ADDRESS | awk -F "/" '{print $1}' | awk -F "." '{ printf "00:16:3e:%x:%x:%x\n", $2, $3, $4 }'`
42 # TODO: Print on start() only
43 # echo "MACVLAN_HWADDRESS not set, using calculated from MACVLAN_ADDRESS=${MACVLAN_ADDRESS} value: ${MACVLAN_HWADDRESS}";
48 msg_starting "LXC macvlan interface"
50 ip link add link $MACVLAN_DEV name $MACVLAN_NAME address $MACVLAN_HWADDRESS type macvlan mode bridge
51 ip link set $MACVLAN_NAME up
52 ip address add $MACVLAN_ADDRESS brd + dev $MACVLAN_NAME
53 # TODO: check if works:
54 # cat /sys/class/net/macv0/address
57 [ $RETVAL -eq 0 ] && ok || fail
61 msg_stopping "LXC macvlan interface"
63 ip link set $MACVLAN_NAME down
64 ip link del $MACVLAN_NAME
66 [ $RETVAL -eq 0 ] && ok || fail
70 ip addr show $MACVLAN_NAME
76 # See how we were called.
85 restart|reload|force-reload)
94 msg_usage "$0 {start|stop|restart|reload|force-reload|status}"