Statistics
| Branch: | Tag: | Revision:

root / kvm-ifdown @ 838c1835

History | View | Annotate | Download (1.4 kB)

1 cf51ea5b Dimitris Aragiorgis
#!/bin/bash
2 cf51ea5b Dimitris Aragiorgis
3 cf51ea5b Dimitris Aragiorgis
# This is an example of a Ganeti kvm ifup script that configures network
4 cf51ea5b Dimitris Aragiorgis
# interfaces based on the initial deployment of the Okeanos project
5 cf51ea5b Dimitris Aragiorgis
6 4ae972e7 Dimitris Aragiorgis
source /etc/default/snf-network
7 38305e4c Dimitris Aragiorgis
source /usr/lib/snf-network/common.sh
8 d2b16e51 Dimitris Aragiorgis
9 58645c13 Dimitris Aragiorgis
GANETI_INSTANCE_NAME=$INSTANCE
10 58645c13 Dimitris Aragiorgis
11 8a567d09 Dimitris Aragiorgis
if [ "x$INTERFACE" = "x" ]; then
12 8a567d09 Dimitris Aragiorgis
  $SNF_NETWORK_LOG $0 "INTERFACE not set. Aborting"
13 8a567d09 Dimitris Aragiorgis
else
14 58645c13 Dimitris Aragiorgis
  $SNF_NETWORK_LOG $0 "Unconfiguring interface $INTERFACE of $GANETI_INSTANCE_NAME"
15 8a567d09 Dimitris Aragiorgis
fi
16 8a567d09 Dimitris Aragiorgis
17 38305e4c Dimitris Aragiorgis
FROM=FROM${INTERFACE^^}
18 38305e4c Dimitris Aragiorgis
TO=TO${INTERFACE^^}
19 673de0e4 Dimitris Aragiorgis
20 8a567d09 Dimitris Aragiorgis
ONLY_LOCAL=$2
21 8a567d09 Dimitris Aragiorgis
22 cf51ea5b Dimitris Aragiorgis
if [ "$MODE" = "routed" ]; then
23 2e8a73e0 Dimitris Aragiorgis
  TABLE=$LINK
24 edaf6687 Dimitris Aragiorgis
  DROPDHCPREQCMD="iptables -A FORWARD -D $INTERFACE -p udp --dport 67 -j DROP"
25 cf51ea5b Dimitris Aragiorgis
elif [ "$MODE" = "bridged" ]; then
26 edaf6687 Dimitris Aragiorgis
  DROPDHCPREQCMD="runlocked $RUNLOCKED_OPTS ebtables -D $FROM -p ipv4 --ip-protocol udp --ip-destination-port 67 -j DROP"
27 d2b16e51 Dimitris Aragiorgis
fi
28 9bd377b2 Dimitris Aragiorgis
29 9bd377b2 Dimitris Aragiorgis
30 9bd377b2 Dimitris Aragiorgis
for tag in $NETWORK_TAGS; do
31 9bd377b2 Dimitris Aragiorgis
  case $tag in
32 c0bb4267 Dimitris Aragiorgis
  $IP_LESS_ROUTED_TAG)
33 edaf6687 Dimitris Aragiorgis
    try clear_routed_setup_ipv4
34 edaf6687 Dimitris Aragiorgis
    try clear_routed_setup_ipv6
35 edaf6687 Dimitris Aragiorgis
    try clear_routed_setup_firewall
36 838c1835 Dimitris Aragiorgis
    try delete_neighbor_proxy
37 9bd377b2 Dimitris Aragiorgis
  ;;
38 c0bb4267 Dimitris Aragiorgis
  $NFDHCPD_TAG)
39 9bd377b2 Dimitris Aragiorgis
    # Drop unicast BOOTP/DHCP packets
40 38305e4c Dimitris Aragiorgis
    $DROPDHCPREQCMD
41 edaf6687 Dimitris Aragiorgis
    try clear_nfdhcpd
42 9bd377b2 Dimitris Aragiorgis
  ;;
43 c0bb4267 Dimitris Aragiorgis
  $MAC_FILTERED_TAG)
44 edaf6687 Dimitris Aragiorgis
    try clear_ebtables
45 9bd377b2 Dimitris Aragiorgis
  ;;
46 8a567d09 Dimitris Aragiorgis
  $DNS_TAG)
47 8a567d09 Dimitris Aragiorgis
    if ! $ONLY_LOCAL; then
48 8a567d09 Dimitris Aragiorgis
      get_rev4_info "$IP"
49 8a567d09 Dimitris Aragiorgis
      get_eui64 "$MAC" "$SUBNET6"
50 8a567d09 Dimitris Aragiorgis
      get_rev6_info "$EUI64"
51 8a567d09 Dimitris Aragiorgis
      $SNF_NETWORK_LOG $0 "delete dns entry for $GANETI_INSTANCE_NAME $IP $EUI64"
52 8a567d09 Dimitris Aragiorgis
      update_all delete
53 8a567d09 Dimitris Aragiorgis
    fi
54 8a567d09 Dimitris Aragiorgis
  ;;
55 9bd377b2 Dimitris Aragiorgis
  esac
56 9bd377b2 Dimitris Aragiorgis
done
57 9bd377b2 Dimitris Aragiorgis
58 af5ded08 Dimitris Aragiorgis
exit 0