Make IPv6 on tap optionnal and put only 1 IPv6 address on the tap itself.
tap_ipv6 option let you chose if you want IPv6 on the taps or not. Some customers may decide to have only IPv4 inside their VMs.
We put only 1 address on the tap itself (e.g. 2001:67c:1254:e:89:69b0:ffff:ffff/128 instead of 2001:67c:1254:e:89:69b0:ffff:ffff/96) otherwise, when we assign the address 2001:67c:1254:e:89:69b0::/96 inside the VM, the address has "dadfailed" status (dad = "Duplicate Address Detection"). The problem appears only with address "0" (ending in ::) but not with others addresses. We had 2 solutions:
- put only one address on the tap (the solution we choose)
- forbid address "0" inside the VM
The chosen solution has the advantage that the host machine won't answer the ping on behalf of the VM since the tap has only 1 address (its own).
/cc @alain.takoudjou