Statistics
| Branch: | Tag: | Revision:

root / snf-network-configure-interfaces @ 6e257ba8

History | View | Annotate | Download (1.8 kB)

1
#!/bin/bash
2

    
3
DEFAULT=/etc/default/snf-network
4

    
5
source $DEFAULT
6
source $CONF
7
source $INFRA
8

    
9
HOSTNAME=$(hostname)
10

    
11

    
12
INTERFACES=$SHAREDDIR/interfaces/$HOSTNAME
13
HOSTINFRA=$SHAREDDIR/infra/$HOSTNAME
14
CLUSTERINFRA=$SHAREDDIR/infra/cluster
15

    
16
if [ -e "$HOSTINFRA" ]; then
17
  source $HOSTINFRA
18
fi
19

    
20
source $CLUSTERINFRA
21

    
22
if [ -n "$PUBLIC_BRIDGE" -a -e /proc/sys/net/ipv4/conf/$PUBLIC_BRIDGE ]; then 
23
  echo Interfaces already exist! Please check: 
24
  echo $PUBLIC_BRIDGE for bridging TAPs with public IPs
25
  exit 1
26
elif [ -n "$PUBLIC_VLAN" -a -e /proc/sys/net/ipv4/conf/$PUBLIC_VLAN -o \
27
       -n "$PRIVATE_BRIDGE" -a -e /proc/sys/net/ipv4/conf/$PRIVATE_BRIDGE -o \
28
       -n "$PRIVATE_VLAN" -a -e /proc/sys/net/ipv4/conf/$PRIVATE_VLAN ]; then
29
  echo Interfaces already exist! Please check: 
30
  echo $PUBLIC_BRIDGE for bridging TAPs with public IPs
31
  echo $PUBLIC_VLAN for routing TAPs with public IPs
32
  echo $PRIVATE_VLAN  bridged on $PRIVATE_BRIDGE for private LANs
33
  exit 1
34
fi
35

    
36

    
37

    
38
if [ -n "$PUBLIC_BRIDGE" -a -n "$PUBLIC_IFACE" ]; then
39
  cat > $INTERFACES<<EOF
40
auto $PUBLIC_BRIDGE
41
iface $PUBLIC_BRIDGE inet manual
42
  bridge_ports $PUBLIC_IFACE
43
  bridge_stp off
44
  bridge_fd 2
45
  post-up ip link set $PUBLIC_BRIDGE address $PUBLIC_MAC 
46

    
47
EOF
48

    
49
else
50
  if [ -n "$PUBLIC_VLAN" ]; then
51
    echo PUBLIC_VLAN=$PUBLIC_VLAN >> $HOSTINFRA
52
    cat >> $INTERFACES<<EOF
53
auto $PUBLIC_VLAN
54
iface $PUBLIC_VLAN inet manual
55

    
56
EOF
57
  fi
58

    
59
  if [ -n "$PRIVATE_VLAN" -a -n "$PRIVATE_BRIDGE" ]; then
60
    echo PRIVATE_VLAN=$PRIVATE_VLAN >> $HOSTINFRA
61
    cat >> $INTERFACES<<EOF
62
auto $PRIVATE_VLAN
63
iface $PRIVATE_VLAN inet manual
64

    
65
auto $PRIVATE_BRIDGE
66
iface $PRIVATE_BRIDGE inet manual
67
  bridge_ports $PRIVATE_VLAN
68
  bridge_stp off
69
  bridge_fd 2
70
  post-up ip link set $PRIVATE_BRIDGE address $PUBLIC_MAC 
71

    
72
EOF
73

    
74
  fi
75
fi
76

    
77
ifup -i $INTERFACES -a
78

    
79

    
80
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
81
echo 1 > /proc/sys/net/ipv4/ip_forward