1

我有一个网络接口$dev,它已经有一个 BPF 过滤器连接到一个特殊的 qdisc ingress(带有 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

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

4

1 回答 1

1

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

于 2021-05-25T21:23:20.407 回答