单链中BPF过滤器之间的确切关系是什么



我有一个网络接口$dev,它已经有一个BPF过滤器连接到一个特殊的qdiscingress(带有pref 1和直接操作(。我添加了另一个(带有pref 2(。tc filter show dev $dev ingress报告以下内容:

filter protocol all pref 1 bpf chain 0 
filter protocol all pref 1 bpf chain 0 handle 0x1 some.o:[some-section] direct-action 
not_in_hw id ... tag ... jited 
filter protocol all pref 2 bpf chain 1 
filter protocol all pref 2 bpf chain 1 handle 0x1 other.o:[other-section] 
not_in_hw id ... tag ... jited

在这种情况下,链式过滤器之间的关系是什么:第二个过滤器(即我的过滤器(是否总是看到与第一个相同的流量,或者这取决于第一个过滤器返回了什么,特别是考虑到它使用直接操作?我怀疑第二个是真的,但还不能确定。

链中的第二个BPF程序看到什么取决于第一个程序返回什么。您可以在cls_bpf_classify()中读取该逻辑。

相关内容

  • 没有找到相关文章

最新更新