Statistics
| Branch: | Tag: | Revision:

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