Xen 4 : patch pour une configuration bridge IPv6

Boris HUISGEN
|
Le script de configuration réseau en mode bridge de Xen (/etc/xen/scripts/network-bridge) ne prend en compte que les adresses au format IPv4. Ceci est problématique puisque Xen ne se chargera pas et au final vos domU ne pourront démarrer automatiquement.
Ce patch vous sera alors nécessaire pour prendre en compte l’adressage IPv6 :
--- network-bridge.old 2012-05-03 19:45:13.890075051 +0200
+++ network-bridge 2012-05-03 20:03:54.362049925 +0200
@@ -105,6 +105,10 @@
get_ip_info() {
addr_pfx=`ip addr show dev $1 | egrep '^ *inet' | sed -e 's/ *inet //' -e 's/ .*//'`
gateway=`ip route show dev $1 | fgrep default | sed 's/default via //'`
+ # HB: fix IPv6 bridge
+ addr_pfx_6=`ip -6 addr show dev $1 | egrep -m 1 '^ *inet' | sed -e 's/ *inet6 //' -e 's/ .*//'`
+ gateway_6=`ip -6 route show dev $1 | fgrep default | sed -e 's/default via //' -e 's/ .*//'`
+ echo "DEBUG: $addr_pfx_6 $gateway_6"
}
do_ifup() {
@@ -119,6 +123,19 @@
fi
}
+# HB: fix IPv6 bridge
+do_ifup_6() {
+ if [ $1 != "${netdev}" ] || ! ifup $1 ; then
+ if [ -n "$addr_pfx_6" ] ; then
+ # use the info from get_ip_info()
+ ip -6 addr flush $1
+ ip -6 addr add ${addr_pfx_6} dev $1
+ ip -6 link set dev $1 up
+ [ -n "$gateway_6" ] && ip route add default via ${gateway_6}
+ fi
+ fi
+}
+
# Usage: transfer_addrs src dst
# Copy all IP addresses (including aliases) from device $src to device $dst.
transfer_addrs () {
@@ -249,6 +266,8 @@
fi
add_to_bridge2 ${bridge} ${pdev}
do_ifup ${bridge}
+ # HB: fix IPv6 bridge
+ do_ifup_6 ${bridge}
if [ ${antispoof} = 'yes' ] ; then
antispoofing
@@ -280,6 +299,8 @@
ip link set ${bridge} name ${tdev}
ip link set ${pdev} name ${netdev}
do_ifup ${netdev}
+ # HB: fix IPv6 bridge
+ do_ifup_6 ${netdev}
brctl delbr ${tdev}