15mars 2010
Xen utilisation de l'IPv6 en bridge
19:39 - Par Mohamed YACOUBI - Xen - un commentaire
Ayant obtenu un bloc IPv6 tout récemment, j'ai tenté de le configurer sur mon Dom0 Xen pensant que le billet Xen bridge IPv6 support suffirait.
Il n'en fut rien, Xen lors de l"initialisation du bridge ne traite aucunement la partie IPv6, j'ai donc développé un petit patch en m'appuyant sur la partie IPv4.
--- /etc/xen/scripts/network-bridge~ 2008-06-03 14:50:29.000000000 +0100 +++ /etc/xen/scripts/network-bridge 2010-03-02 18:15:50.000000000 +0100 @@ -103,6 +103,8 @@ get_ip_info() { addr_pfx=`ip addr show dev $1 | egrep '^ *inet ' | sed -e 's/ *inet //' -e "s/$1//"` gateway=`ip route show dev $1 | fgrep default | sed 's/default via //'` + addr_pfx_6=`ip -6 addr show dev $1 | egrep '^ *inet' | sed -e 's/ *inet6 //' -e "s/$1//" | egrep -E ^2` + gateway_6=`ip -6 route show dev $1 | fgrep default | sed 's/default via //' | cut -d' ' -f1` } do_ifup() { @@ -113,6 +115,18 @@ ip addr add ${addr_pfx} dev $1 ip link set dev $1 up [ -n "$gateway" ] && ip route add default via ${gateway} + fi + fi +} + +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 } @@ -245,6 +259,7 @@ fi add_to_bridge2 ${bridge} ${pdev} do_ifup ${bridge} + do_ifup_6 ${bridge} if [ ${antispoof} = 'yes' ] ; then antispoofing @@ -272,6 +287,7 @@ ip link set ${bridge} name ${tdev} ip link set ${pdev} name ${netdev} do_ifup ${netdev} + do_ifup_6 ${netdev} brctl delbr ${tdev} }
Patch : xen-vif-bridge-ipv6.diff
un commentaire
Il est très fort.