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

Reply via email to