I am working on a 6LoWPAN (RFC4944) Linux (2.6.15) implementation.
6LoWPAN is usually used to connect IEEE 802-15-4 wireless network devices to IPv6.
I want to use the tun device to exchange IPv6 datagrams between the Linux kernel and the IEEE 802-15-4 net.
Within my application the tun device is opened as described in http://http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-...
Outside the application the tun device is activated by ifconfig, while the application is running:
ifconfig tun0 up
# assign a local IPv6 address:
ifconfig tun0 add fe80::1234
If on a second device someone wants to send pings to the first device (s)he calls:
ping6 -I tun0 fe80::1234
The application reads the datagram containing the "ping" with read() function from the tun stream.
Then it sends the datagram through the IEEE 802-15-4 net to the first device.
In the first device the application uses write() function to write the received datagram into the tun device stream.
I see that the kernel increases the counter of received datagrams.
And I could even see the received datagram with wireshark.
But the "ping" appears to be ignored within the kernel.
So I guess some important configuration is missing.
Has someone an idea what might be missing?