Virtualbox, pas que des Virtualbugs

Virtualbox, c'est super. Une interface sympa pour créer plein de machines virtuelles, rapide pour créer un petit réseau de test.

Mais parfois, on tombe sur des trucs comme ça. Et on perd une demi-journée à se demander pourquoi TCP marchote, mais n'arrête pas d'envoyer des retransmissions. Pourquoi ça ne le fait que sur certains ordinateurs. Pourquoi ça ne le fait pas quand on a son propre module noyau qui tourne pour modifier les paquets. Ensuite par hasard on se rend compte que quand ça ne marche pas, les paquets subissent une modification de checksum sur un routeur virtualbox (mais, mais, pourquoi ?). Et ceci uniquement sur des paquets TCP en IPv6 transmettant des données (le SYN/ACK marce, UDP marche, IPv4 marche, etc).

Ensuite on se rend compte que l'autre routeur Virtualbox (celui qui marche et ne fait pas ça), il est en version 4.2. Celui qui ne marche pas utilise la version Debian 4.0.

Et après, on met à jour, et on lit le Changelog. Et on comprend tout à la ligne « Virtio-net: properly announce that the guest has to handle partial TCP checksums ». Enfin, presque.

Ce qui permet de rappeler qu'aujourd'hui, c'est le jour de l'Unité Allemande. La fête nationale, un jour férié.