I have Ubuntu 12.04 installed in a VirtualBox VM on a Windows 8 host computer. Windows 8 had a hosted (wireless) network to which I can connect with my Android phone. The eth0 interface of my VM is connected to the Windows network using a bridged adapter.
Additionally, a wireless 6LoWPAN (low power wireless personal area network over IPv6 using 802.15.4) is connected to the usb0 interface of my VM using a dongle. In this network are several Zigduino nodes. Now, I need to ping from my phone to these sensor nodes.
phone ---802.11--- eth0 Ubuntu usb0 ---802.15.4--- sensor node
The problem is now that I already spent hours on this, but I am still unable to do this. I have given eth0 a static IPv6 address aaaa::xxxx:xxxx:xxxx:xxxx and do router advertisements from this interface with prefix aaaa::/64 using radvd (so my phone also gets an aaaa::xxxx:xxxx:xxxx:xxxx address). The IP address of my dongle and the sensor nodes is also something like aaaa::xxxx:xxxx:xxxx:xxxx. While pinging, I monitored traffic using wireshark. I noticed that eth0 gets router sollicitations from my phone, but these do not reach usb0. It looks like they are not forwarded to the usb0 interface so my VM does not know what to do with these messages and the ping fails.
IPv6 forwarding and all that are already enabled, and I understand that this would suffice from what I read on the internet. Any ideas what I am doing wrong?