Revision ed7f0f2a kvm-vif-bridge
b/kvm-vif-bridge | ||
---|---|---|
18 | 18 |
|
19 | 19 |
function routed_setup_ipv4 { |
20 | 20 |
# get the link's default gateway |
21 |
gw=$(ip route list table $TABLE | sed -n 's/default via \([^ ]\+\).*/\1/p' | head -1)
|
|
21 |
gw=$GATEWAY
|
|
22 | 22 |
|
23 | 23 |
# mangle ARPs to come from the gw's IP |
24 | 24 |
arptables -A OUTPUT -o $INTERFACE --opcode request -j mangle --mangle-ip-s "$gw" |
... | ... | |
35 | 35 |
|
36 | 36 |
function routed_setup_ipv6 { |
37 | 37 |
# Add a routing entry for the eui-64 |
38 |
prefix=$(ip -6 route list table $TABLE | awk '/\/64/ {print $1; exit}')
|
|
39 |
uplink=$(ip -6 route list table $TABLE | sed -n 's/default via .* dev \([^ ]\+\).*/\1/p' | head -1)
|
|
38 |
prefix=$SUBNET6
|
|
39 |
uplink=$GATEWAY6
|
|
40 | 40 |
eui64=$($MAC2EUI64 $MAC $prefix) |
41 | 41 |
|
42 | 42 |
while ip -6 rule del dev $INTERFACE; do :; done |
... | ... | |
82 | 82 |
|
83 | 83 |
function setup_nfdhcpd { |
84 | 84 |
umask 022 |
85 |
cat >$NFDHCPD_STATE_DIR/$INTERFACE <<EOF |
|
85 |
FILE=$NFDHCPD_STATE_DIR/$INTERFACE |
|
86 |
cat >$FILE <<EOF |
|
86 | 87 |
IFACE=$1 |
87 | 88 |
IP=$IP |
88 | 89 |
MAC=$MAC |
... | ... | |
90 | 91 |
HOSTNAME=$INSTANCE |
91 | 92 |
TAGS="$TAGS" |
92 | 93 |
EOF |
94 |
if [ -n $GATEWAY ]; then |
|
95 |
echo GATEWAY=$GATEWAY >> $FILE |
|
96 |
fi |
|
97 |
if [ -n $SUBNET ]; then |
|
98 |
echo SUBNET=$SUBNET >> $FILE |
|
99 |
fi |
|
100 |
if [ -n $GATEWAY6 ]; then |
|
101 |
echo GATEWAY6=$GATEWAY6 >> $FILE |
|
102 |
fi |
|
103 |
if [ -n $SUBNET6 ]; then |
|
104 |
echo SUBNET6=$SUBNET6 >> $FILE |
|
105 |
fi |
|
106 |
|
|
93 | 107 |
} |
94 | 108 |
|
95 | 109 |
function clear_ebtables { |
... | ... | |
136 | 150 |
fi |
137 | 151 |
} |
138 | 152 |
|
139 |
#FIXME: import router mac from the config files |
|
140 |
# must know node group!! how??? |
|
141 |
ROUTER_MAC=e4:11:5b:b2:8d:ca |
|
142 |
MAC_MASK=ff:ff:ff:0:0:0 |
|
143 | 153 |
|
144 | 154 |
TABLE=rt_$NETWORK |
145 | 155 |
|
... | ... | |
158 | 168 |
iptables -A FORWARD -i $INTERFACE -p udp --dport 67 -j DROP |
159 | 169 |
|
160 | 170 |
routed_setup_ipv4 |
161 |
# routed_setup_ipv6
|
|
162 |
# routed_setup_firewall
|
|
171 |
routed_setup_ipv6 |
|
172 |
routed_setup_firewall |
|
163 | 173 |
setup_nfdhcpd $INTERFACE |
164 | 174 |
clear_ebtables >/dev/null 2>&1 |
165 | 175 |
elif [ "$MODE" = "bridged" ]; then |
Also available in: Unified diff