我们犯了一个愚蠢的错误,编写了几个 bpf 程序(每组编写一个),后来发现我们不能同时附加多个。现在我们要重新设计并让每个组都有自己的 AF_XDP 套接字,并且 eBPF 程序将根据目标 ip&port 将数据发送到正确的组(我们只讨论 UDP RX)。
所以我的问题是你会怎么做?我们认为使用 BPF_MAP_TYPE_HASH 将 (ip,port) 保留为键,该值将是 BPF_MAP_TYPE_XSKMAP 映射的键。还有其他更好的方法吗?您会坚持使用一个 AF_XDP 套接字并让用户空间区分端口还是让每个用户定义自己的套接字并具有自己的 umem 限制?
感谢并为这个奇怪的问题感到抱歉。整个 XDP 和 AF_XDP 有点……压倒性的……所以要确保我们没有犯另一个可能更难找到的愚蠢错误。