Netbsd-5.0.1 en domU routée et bug arp

Je ne pense pas que l'on rencontre ce problème en mode bridge, car je n'en ai vu aucune trace sur le nain Ternet et que c'est certainement le mode de xen le plus utilisé.

Par contre, si on souhaite employer le mode “network-route” sur le dom0, il faut appliquer un patch sur le noyau du domU netbsd-5.0.1 que vous souhaitez utiliser. Que cela soit i386, amd64 ou autre. Notez que je n'ai fait mes tests qu'avec netbsd-5 donc, cela peut ne pas se produire avec netbsd-4.

Dans le cas contraire, vous aurez cette jolie mais frustrante erreur lorsque vous tenterez d'ajouter la route pour faire sortir les lutins de votre maison virtuelle neuve :

arp_rtrequest: bad gateway value

Là, on ne panique pas car : M. arp(4) est déclaré coupable !

En effet, ici : http://mail-index.netbsd.org/port-xen/2009/08/12/msg005261.html, on nous confirme qu'il s'agit d'un bug dans la fonction sys/netinet/if_arp.c parce que la nom de l'interface xennet0 est trop long.

Le môssieur en profite d'ailleurs pour nous glisser un petit patch là :

en attendant que le bug soit corrigé dans une future mouture du noyau.

J'utilise un dom0 debian pour propulsez mes domUs netbsd donc je remercie au passage netbsd pour le script build.sh qui me permet de reconstruire la quenelle orangé depuis le dom0 debian. Pour ceux que cela intéresse, j'ai procédé de la sorte :

$ mkdir ~/netbsd && cd ~/netbsd
$ mkdir obj release src tools
$ export CVSROOT=anoncvs@anoncvs.fr.NetBSD.org:/cvsroot
$ cvs co -r netbsd-5-0-1-RELEASE -P src
$ cd src
$ patch ~/netbsd/src/sys/netinet/if_arp.c if_arp.patch
$ sh build.sh -m i386 -O ../obj -T ../tools -R ../release -j4 -U -u -r tools kernel=XEN3PAE_DOMU release

Choisissez les ingrédients dont vous avez besoin pour construire la release, parce que j'ai mis i386, j4, et un kernel DOMUPAE mais vous souhaiterez peut-être déguster autre chose :). Regardez les options de build.sh si vous voulez rajouter des options comme par exemple la création d'une image iso pour l'installation, etc.

Une fois la compilation terminée, vous trouverez tous les noyaux là ( moyennant le fait que vous ayez suivi les étapes précédentes) :

ls -alh ~/netbsd/release/i386/binary/kernel/

Ensuite, changer la ligne concernant le chargement du noyau dans la configuration de la machine virtuelle et recréez la.

Notez que j'aurais pu reconstruire le noyau sur la vm netbsd. Mais sans le réseau, j'aurais eu du mal à rapatrier la quenelle neuve.

Bonne utilisation de votre domU netbsd-5.0.1 routée :-).

netbsd/domu_xen3_route.txt · Last modified: 2010/01/12 13:29 (external edit)