Hi all, I'm working on the macOS port of our end-to-end encrypted and peer-to-peer mesh networking software written in Golang (see https://yggdrasil-network.github.io/ if that captures your curiosity). I am trying to take advantage of the AWDL support in macOS so that we can make true device-to-device peerings without depending on other existing networks (like infrastructure Wi-Fi networks). Doing so has the potential to form/extend meshes in pretty much any location - quite exciting.
It all seems to work generally! We can send our multicast discovery packets and accept/initiate TCP connections over awdl0 using sockets that have SO_RECV_ANYIF sockopt set, and that part works beautifully - so long as you open AirDrop in Finder to "wake up" AWDL first. I cannot figure out a way of causing this wake up without using NetService/Multipeer Connectivity, which are a) not a part of our existing multicast discovery mechanism and b) not available to use in Golang anyway. (Incidentally I was also trying to do this on iOS recently under a NEPacketTunnel extension using NetService, because doing this on iOS devices too would have been *really* awesome, but was thwarted upon being told on the developer forums by Quinn that the AWDL interface doesn't seem to be scoped for use in a network extension :-( damn!) I am assuming that there is some low-level syscall/ioctl or similar that causes AWDL to "wake up", as I figure that the NetService/Multipeer Connectivity APIs have some method for doing this. I am hoping to make the same call to wake up the AWDL driver periodically so that nodes can multicast and find each other. Does anyone have any idea how the wake up works and how I can initiate it myself programmatically? Would really appreciate any help. Rgds, Neil Alexander _______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list (Macnetworkprog@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/macnetworkprog/archive%40mail-archive.com This email sent to arch...@mail-archive.com