Since I upgraded to Lion something weird is happening to TCP6 traffic between my MacOS host and FreeBSD 8.x guests. I have a router providing and advertising a /64 from tunnelbroker.net, and IPv6 NDP/stateless auto configuration is working for most VMs and other hosts on the LAN. RedHat and Ubuntu VMs can connect painlessly to daemons running on my Mac OS host, but the FreeBSD VMs can only ping: tcp handshake on IPv6 never completes though the guest can see the handshake packets in both directions.
The only clue I have is that TCP checksums are wrong in tcpdump, but apparently that's normal if hardware offloading is computing the checksums because tcpdump is reading the network buffers before the NIC driver can write the checksum. I've tried disabling vlan and hardware checksum offloading with ifconfig options, but those don't seem to make a difference in the tcpdump results or the TCP handshake.
What's strange is that the same VMs *can* communicate painlessly with other IPv6 hosts traversing the real (not virtual bridged) LAN. This makes me suspect a bug in the Parallels bridging implementation, or perhaps in the e1000 emulation.
Is anyone else experiencing this? Have a fix?
The only clue I have is that TCP checksums are wrong in tcpdump, but apparently that's normal if hardware offloading is computing the checksums because tcpdump is reading the network buffers before the NIC driver can write the checksum. I've tried disabling vlan and hardware checksum offloading with ifconfig options, but those don't seem to make a difference in the tcpdump results or the TCP handshake.
What's strange is that the same VMs *can* communicate painlessly with other IPv6 hosts traversing the real (not virtual bridged) LAN. This makes me suspect a bug in the Parallels bridging implementation, or perhaps in the e1000 emulation.
Is anyone else experiencing this? Have a fix?