标签: linux networking bpf
我想转发在一个套接字上接收到的所有数据包,并将其转发到另一个套接字。您可以在用户态程序中使用splice()转发数据,因此无需创建数据的用户态副本,从而提高了性能。
splice()
但是我想知道是否有可能编写一个完全在内核中执行此操作的eBPF程序。因此,您可以将eBPF程序附加到第一个套接字的接收事件,然后直接在eBPF程序中调用splice()。
那样的事情可能吗?有人为这种eBPF程序提供了一个小的示例代码吗?