This seems more of a Linux question than BPF, so please let me know if I need to take this to a different forum. I'm relatively new to eBPF and was trying to use an eBPF program on tcp listen sockets using SO_ATTACH_REUSEPORT_EBPF socket option. I'm mainly trying to select an appropriate listen socket based on some packet data. Based on experimentation, I found out that the eBPF program attached as a SOCKET_FITLER on a TCP socket does not have access to any of the IP or TCP header information, even when the application is run as root. Is that true or am I not doing something correctly? If it is true, are there any technical (security) reasons why read access to those fields is not permitted? Also, is there a way for the eBPF program to find out where a particular socket exists in the list of sockets? This seems useful considering that the location of the socket in the list could change. Note: the documentation says - when a socket FD is closed, it is removed from the reuseport group and the last socket in the group will be moved to the closed socket's position?
Thanks, --- Raghu Gyambavantha
_______________________________________________ iovisor-dev mailing list [email protected] https://lists.iovisor.org/mailman/listinfo/iovisor-dev
