eBPF: TC on egress 如何识别和忽略 TC on ingress 直接回复的数据包?
eBPF: TC on egress how to recognize and ignore the packet that is replied by TC on ingress directly?
出口TC意外捕获到入口TC直接回复的数据包。
出口上的 TC 如何识别和忽略由 TC 直接在入口上回复而不是由用户空间应用程序生成的数据包?
一个简单的解决方案是标记来自第一个程序(在入口端)的数据包,然后在出口端查找标记。
您可以通过写入 eBPF 程序中的 skb->mark
或 cb
字段之一(例如 skb->cb[0]
)来在入口端标记您的数据包。您稍后可以在出口程序中读取相同的字段。
应用程序使用套接字缓冲区的mark
字段(通用数据包标记)来标记数据包(iptables可能会在某些用例中使用它,例如例子)。 cb
(控制缓冲区)数组中的五个条目也可供应用程序免费使用,以传递用户定义的标记或值。
出口TC意外捕获到入口TC直接回复的数据包。
出口上的 TC 如何识别和忽略由 TC 直接在入口上回复而不是由用户空间应用程序生成的数据包?
一个简单的解决方案是标记来自第一个程序(在入口端)的数据包,然后在出口端查找标记。
您可以通过写入 eBPF 程序中的 skb->mark
或 cb
字段之一(例如 skb->cb[0]
)来在入口端标记您的数据包。您稍后可以在出口程序中读取相同的字段。
应用程序使用套接字缓冲区的mark
字段(通用数据包标记)来标记数据包(iptables可能会在某些用例中使用它,例如例子)。 cb
(控制缓冲区)数组中的五个条目也可供应用程序免费使用,以传递用户定义的标记或值。