It seems that IPv4 UDP packets that have no checksum set (i.e. checksum = 0x0000) are filtered out and cannot be received via an UDP socket that is listening even though they are valid UDP packets (according to RFC768).
We are trying to receive IPSec ESP packets that are UDP encapsulated. In this case RFC3948 prescribes that "the IPv4 UDP Checksum SHOULD be transmitted as a zero value".
We are using POSIX sockets (not raw sockets) and are using the NetworkExtension and or developing for macOS.
We have tried
sudo sysctl net.inet.udp.checksum=0
to switch-off the checksum checking, but this didn't seem to make any difference.
Is there a way to receive these packets? Preferrably without needing admin rights.