Is Socket communication between NE and the App layer possible

I am in search of finding ways to send packets from NE to my protocol written in Golang. As I understand, NE is a separate process and so we should be able to establish a connectivity via the socket call between processes. Was thinking of having a UDP socket server running on the Golang (App) side and NE can establish a connection (createUDPSession()) . The packets from packetFlow.readPackets() would read the packets from Tun Interface and send to the App side using this socket communication. Similarly viceversa. Wanted to understand if there is any restriction imposed on these IPC communication on NE side or any better alternative. Do let me know.

The packets from packetFlow.readPackets() would read the packets from Tun Interface and send to the App side using this socket communication. Similarly viceversa. Wanted to understand if there is any restriction imposed on these IPC communication on NE side or any better alternative. Do let me know.

Reading packets from packetFlow.readPackets is meant to be a mechanism to read packets from the virtual interface and then send them to a remote VPN server with your custom VPN transport protocol. This function is not meant to send packets back to the host app. If you are trying to send packets back to the host app then it sounds like you are using the packet tunnel as a traffic interception mechanism and that is not a recommended approach here.

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com

If you are trying to send packets back to the host app then it sounds like you are using the packet tunnel as a traffic interception mechanism and that is not a recommended approach here.

Right.

Saju91, Can you explain more about why you want to do this? In most situations this approach is untenable on iOS because the app is either suspended or terminated while your NE provider is running.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Is Socket communication between NE and the App layer possible
 
 
Q