root / vif-custom @ 97c4e079
History | View | Annotate | Download (1.6 kB)
1 | 38305e4c | Dimitris Aragiorgis | #!/bin/bash |
---|---|---|---|
2 | 38305e4c | Dimitris Aragiorgis | |
3 | 38305e4c | Dimitris Aragiorgis | |
4 | 38305e4c | Dimitris Aragiorgis | dir=$(dirname "$0") |
5 | 38305e4c | Dimitris Aragiorgis | . "$dir"/vif-common.sh |
6 | 38305e4c | Dimitris Aragiorgis | |
7 | df006c46 | Dimitris Aragiorgis | # taken from older vif-common.sh |
8 | df006c46 | Dimitris Aragiorgis | dev=$vif |
9 | df006c46 | Dimitris Aragiorgis | dev_=${dev#vif} |
10 | df006c46 | Dimitris Aragiorgis | domid=${dev_%.*} |
11 | df006c46 | Dimitris Aragiorgis | devid=${dev_#*.} |
12 | 38305e4c | Dimitris Aragiorgis | domname=$(xm domname $domid) |
13 | 38305e4c | Dimitris Aragiorgis | |
14 | df006c46 | Dimitris Aragiorgis | source /etc/default/snf-network |
15 | df006c46 | Dimitris Aragiorgis | source /usr/lib/snf-network/common.sh |
16 | 38305e4c | Dimitris Aragiorgis | source $GANETI_NIC_DIR/$domname/$devid |
17 | 38305e4c | Dimitris Aragiorgis | |
18 | 38305e4c | Dimitris Aragiorgis | INTERFACE=$dev |
19 | 38305e4c | Dimitris Aragiorgis | INSTANCE=$domname |
20 | 97c4e079 | Dimitris Aragiorgis | GANETI_INSTANCE_NAME=$INSTANCE |
21 | 38305e4c | Dimitris Aragiorgis | |
22 | 38305e4c | Dimitris Aragiorgis | FROM=FROM${INTERFACE^^} |
23 | 38305e4c | Dimitris Aragiorgis | TO=TO${INTERFACE^^} |
24 | 38305e4c | Dimitris Aragiorgis | |
25 | 38305e4c | Dimitris Aragiorgis | |
26 | 38305e4c | Dimitris Aragiorgis | try clear_routed_setup_ipv4 |
27 | 38305e4c | Dimitris Aragiorgis | try clear_routed_setup_ipv6 |
28 | 38305e4c | Dimitris Aragiorgis | try clear_routed_setup_firewall |
29 | 38305e4c | Dimitris Aragiorgis | try clear_ebtables |
30 | 38305e4c | Dimitris Aragiorgis | try clear_nfdhcpd |
31 | 38305e4c | Dimitris Aragiorgis | |
32 | 38305e4c | Dimitris Aragiorgis | if [ "$MODE" = "routed" ]; then |
33 | 38305e4c | Dimitris Aragiorgis | TABLE=$LINK |
34 | 38305e4c | Dimitris Aragiorgis | ip link set $INTERFACE up |
35 | 38305e4c | Dimitris Aragiorgis | success |
36 | 38305e4c | Dimitris Aragiorgis | INDEV=$INTERFACE |
37 | 38305e4c | Dimitris Aragiorgis | DROPDHCPREQCMD="iptables -A FORWARD -i $INTERFACE -p udp --dport 67 -j DROP" |
38 | 38305e4c | Dimitris Aragiorgis | elif [ "$MODE" = "bridged" ]; then |
39 | 38305e4c | Dimitris Aragiorgis | ip link set $INTERFACE up |
40 | 38305e4c | Dimitris Aragiorgis | BRIDGE=$(xenstore_read_default "$XENBUS_PATH/bridge" "$LINK") |
41 | 38305e4c | Dimitris Aragiorgis | brctl addif $BRIDGE $INTERFACE |
42 | 38305e4c | Dimitris Aragiorgis | success |
43 | 38305e4c | Dimitris Aragiorgis | INDEV=$BRIDGE |
44 | 38305e4c | Dimitris Aragiorgis | try init_ebtables |
45 | 1409faba | Stratos Psomadakis | DROPDHCPREQCMD="runlocked $RUNLOCKED_OPTS ebtables -A $FROM -p ipv4 --ip-protocol udp --ip-destination-port 67 -j DROP" |
46 | 38305e4c | Dimitris Aragiorgis | fi |
47 | 38305e4c | Dimitris Aragiorgis | |
48 | 38305e4c | Dimitris Aragiorgis | |
49 | 38305e4c | Dimitris Aragiorgis | for tag in $NETWORK_TAGS; do |
50 | 38305e4c | Dimitris Aragiorgis | case $tag in |
51 | 38305e4c | Dimitris Aragiorgis | $IP_LESS_ROUTED_TAG) |
52 | 38305e4c | Dimitris Aragiorgis | try routed_setup_ipv4 |
53 | 38305e4c | Dimitris Aragiorgis | try routed_setup_ipv6 |
54 | 38305e4c | Dimitris Aragiorgis | try routed_setup_firewall |
55 | 38305e4c | Dimitris Aragiorgis | ;; |
56 | 38305e4c | Dimitris Aragiorgis | $NFDHCPD_TAG) |
57 | 38305e4c | Dimitris Aragiorgis | # Drop unicast BOOTP/DHCP packets |
58 | 38305e4c | Dimitris Aragiorgis | $DROPDHCPREQCMD |
59 | 38305e4c | Dimitris Aragiorgis | try setup_nfdhcpd |
60 | 38305e4c | Dimitris Aragiorgis | ;; |
61 | 38305e4c | Dimitris Aragiorgis | $MAC_FILTERED_TAG) |
62 | 38305e4c | Dimitris Aragiorgis | try setup_ebtables |
63 | 38305e4c | Dimitris Aragiorgis | ;; |
64 | 38305e4c | Dimitris Aragiorgis | $MASQ_TAG) |
65 | 38305e4c | Dimitris Aragiorgis | try setup_masq |
66 | 38305e4c | Dimitris Aragiorgis | ;; |
67 | 97c4e079 | Dimitris Aragiorgis | $DNS_TAG) |
68 | 97c4e079 | Dimitris Aragiorgis | get_rev4_info "$IP" |
69 | 97c4e079 | Dimitris Aragiorgis | get_eui64 "$MAC" "$SUBNET6" |
70 | 97c4e079 | Dimitris Aragiorgis | get_rev6_info "$EUI64" |
71 | 97c4e079 | Dimitris Aragiorgis | $SNF_NETWORK_LOG $0 "update dns for $GANETI_INSTANCE_NAME $IP $EUI64" |
72 | 97c4e079 | Dimitris Aragiorgis | update_all add |
73 | 97c4e079 | Dimitris Aragiorgis | ;; |
74 | 38305e4c | Dimitris Aragiorgis | esac |
75 | 38305e4c | Dimitris Aragiorgis | done |