[haiku-development]

  • From: Swan Geon <swangeon@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 8 Jul 2023 21:31:13 -0500

I got the semaphore problem settled but now I am having a problem where the
packet is going back and forth from the interface, the driver, and the
application, however, the application that sent a packet through the
interface is not receiving the packet. Through some debugging, I found out
that the interface, when it goes into device_consumer_thread for getting
the receive function, it fails here
<https://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/network/stack/device_interfaces.cpp#n119>.
Looking deeper into when that interface->receive_funcs element gets
assigned I found the function here
<https://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/network/stack/device_interfaces.cpp#n648>
which I realized is never called when I call ifconfig to set up the
interface. I was wondering if anyone had a way to get that function to call
on the setup of the tun interface? I was thinking it's possibly a use of
`get_module` in the driver but I don't really know where to start with
solving this after I've debugged it. I debugged it through dprintf's that I
put in both functions. One last thing is that on Wireshark and tcpdump both
show the packet being sent and received on the interface if that means much
of anything.

Other related posts: