Statistics
| Branch: | Tag: | Revision:

root / kvm-vif-bridge @ 054ff79a

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 38305e4c Dimitris Aragiorgis
FROM=FROM${INTERFACE^^}
10 38305e4c Dimitris Aragiorgis
TO=TO${INTERFACE^^}
11 673de0e4 Dimitris Aragiorgis
12 38305e4c Dimitris Aragiorgis
try clear_routed_setup_ipv4
13 38305e4c Dimitris Aragiorgis
try clear_routed_setup_ipv6
14 38305e4c Dimitris Aragiorgis
try clear_routed_setup_firewall
15 38305e4c Dimitris Aragiorgis
try clear_ebtables
16 38305e4c Dimitris Aragiorgis
try clear_nfdhcpd
17 2b9e52e1 Dimitris Aragiorgis
18 cf51ea5b Dimitris Aragiorgis
if [ "$MODE" = "routed" ]; then
19 2e8a73e0 Dimitris Aragiorgis
  TABLE=$LINK
20 9bd377b2 Dimitris Aragiorgis
  ip link set $INTERFACE addr $TAP_CONSTANT_MAC up
21 9bd377b2 Dimitris Aragiorgis
  INDEV=$INTERFACE
22 054ff79a Dimitris Aragiorgis
  # DROPDHCPREQCMD="iptables -A FORWARD -i $INTERFACE -p udp --dport 67 -j DROP"
23 cf51ea5b Dimitris Aragiorgis
elif [ "$MODE" = "bridged" ]; then
24 9bd377b2 Dimitris Aragiorgis
  ip link set $INTERFACE up
25 7ff50e40 Dimitris Aragiorgis
  brctl addif $BRIDGE $INTERFACE
26 9bd377b2 Dimitris Aragiorgis
  INDEV=$BRIDGE
27 52366a23 Dimitris Aragiorgis
  # nfdhcpd creates responses with src mac the mac of indec
28 52366a23 Dimitris Aragiorgis
  INDEV_MAC=$(cat /sys/class/net/$INDEV/address)
29 054ff79a Dimitris Aragiorgis
  # DROPDHCPREQCMD="runlocked $RUNLOCKED_OPTS ebtables -A $FROM -p ipv4 --ip-protocol udp --ip-destination-port 67 -j DROP"
30 d2b16e51 Dimitris Aragiorgis
fi
31 9bd377b2 Dimitris Aragiorgis
32 9bd377b2 Dimitris Aragiorgis
33 9bd377b2 Dimitris Aragiorgis
for tag in $NETWORK_TAGS; do
34 9bd377b2 Dimitris Aragiorgis
  case $tag in
35 c0bb4267 Dimitris Aragiorgis
  $IP_LESS_ROUTED_TAG)
36 38305e4c Dimitris Aragiorgis
    try routed_setup_ipv4
37 38305e4c Dimitris Aragiorgis
    try routed_setup_ipv6
38 38305e4c Dimitris Aragiorgis
    try routed_setup_firewall
39 9bd377b2 Dimitris Aragiorgis
  ;;
40 c0bb4267 Dimitris Aragiorgis
  $NFDHCPD_TAG)
41 9bd377b2 Dimitris Aragiorgis
    # Drop unicast BOOTP/DHCP packets
42 054ff79a Dimitris Aragiorgis
    # $DROPDHCPREQCMD
43 38305e4c Dimitris Aragiorgis
    try setup_nfdhcpd
44 9bd377b2 Dimitris Aragiorgis
  ;;
45 c0bb4267 Dimitris Aragiorgis
  $MAC_FILTERED_TAG)
46 054ff79a Dimitris Aragiorgis
    try init_ebtables
47 38305e4c Dimitris Aragiorgis
    try setup_ebtables
48 9bd377b2 Dimitris Aragiorgis
  ;;
49 c0bb4267 Dimitris Aragiorgis
  $MASQ_TAG)
50 38305e4c Dimitris Aragiorgis
    try setup_masq
51 9bd377b2 Dimitris Aragiorgis
  ;;
52 9bd377b2 Dimitris Aragiorgis
  esac
53 9bd377b2 Dimitris Aragiorgis
done
54 9bd377b2 Dimitris Aragiorgis
55 62ebfafe Dimitris Aragiorgis
if [ -x "$IFUP_EXTRA_SCRIPT" ]; then
56 62ebfafe Dimitris Aragiorgis
  exec $IFUP_EXTRA_SCRIPT "$@"
57 62ebfafe Dimitris Aragiorgis
fi
58 62ebfafe Dimitris Aragiorgis
59 af5ded08 Dimitris Aragiorgis
exit 0