-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate sbot discovery over 802.11s mesh point interfaces #5
Comments
After a TON of digging I think I have figured it out. I boiled it right down to a C example to try to figure out the Broadcast issue on a simple debuggable platform. However I had a hard time getting to work with the error What is happening is the network stack (linux) does not know WHERE to send After reverse engineering and poking at the protocol some more I found we can generate our OWN packets and lay them on the network wire correctly. (Another issue I noticed was that when sbot generated the packets, it generated them with the access point's ip address (one of the interfaces) regardless which interface it was sent out on. Since all nodes have this ip address locally to them they tried to connect to themselves and failed. In my case The packets can be constructed as such
Where the IP address it the IP address you want the remote device to "call you back" (its your IP address) along with the port. You will not see the peers in A script can be run to iterate through the interfaces and produce the required packets are regular intervals as a work around. Sample script
Edited for horrible grammer |
Additional debugging tools for UDP Broadcasts Listen for UDP traffic Generate UDP Traffic |
So
But the host should be
|
I have see this as well, when packets do go through the ip address is incorrect making the remote device unable to connect or connects to the wrong device. |
This script from @darkdrgn2k makes peering work by sending out manually constructed broadcasts:
If running Then run:
Now you get peering over mesh point
|
The issue, as we have discovered earlier, is that sbot nodes mutually discover each other when connected to the same LAN through a router, but not over the wireless mesh point interfaces even though they have distinct local IP addresses.
eth0
peer192.168.1.141 is
bathurst
, connected to the router over ethernet cable asbloor
is.wlan1
no-peerBut, the broadcasts are being received, at least for @benhylau running sbot in dockers with host networking:
but not for @darkdrgn2k's setup.
union
is connected tobloor
andbathurst
only viawlan1
which is mesh point.The text was updated successfully, but these errors were encountered: