Add vif-custom script and split kvm-vif-bridge
[snf-network] / vif-custom
1 #!/bin/bash
2
3
4 dir=$(dirname "$0")
5 . "$dir"/vif-common.sh
6
7 source /etc/default/snf-network
8 source /usr/lib/snf-network/common.sh
9
10 domname=$(xm domname $domid)
11
12 source $GANETI_NIC_DIR/$domname/$devid
13
14 INTERFACE=$dev
15 INSTANCE=$domname
16
17 FROM=FROM${INTERFACE^^}
18 TO=TO${INTERFACE^^}
19
20
21 try clear_routed_setup_ipv4
22 try clear_routed_setup_ipv6
23 try clear_routed_setup_firewall
24 try clear_ebtables
25 try clear_nfdhcpd
26
27 if [ "$MODE" = "routed" ]; then
28   TABLE=$LINK
29   ip link set $INTERFACE up
30   success
31   INDEV=$INTERFACE
32   DROPDHCPREQCMD="iptables -A FORWARD -i $INTERFACE -p udp --dport 67 -j DROP"
33 elif [ "$MODE" = "bridged" ]; then
34   ip link set $INTERFACE up
35   BRIDGE=$(xenstore_read_default "$XENBUS_PATH/bridge" "$LINK")
36   brctl addif $BRIDGE $INTERFACE
37   success
38   INDEV=$BRIDGE
39   try init_ebtables
40   DROPDHCPREQCMD="ebtables -A $FROM -p ipv4 --ip-protocol udp --ip-destination-port 67 -j DROP"
41 fi
42
43
44 for tag in $NETWORK_TAGS; do
45   case $tag in
46   $IP_LESS_ROUTED_TAG)
47     try routed_setup_ipv4
48     try routed_setup_ipv6
49     try routed_setup_firewall
50   ;;
51   $NFDHCPD_TAG)
52     # Drop unicast BOOTP/DHCP packets
53     $DROPDHCPREQCMD
54     try setup_nfdhcpd
55   ;;
56   $MAC_FILTERED_TAG)
57     try setup_ebtables
58   ;;
59   $MASQ_TAG)
60     try setup_masq
61   ;;
62   esac
63 done