summaryrefslogtreecommitdiff
path: root/drivers/sfi
diff options
context:
space:
mode:
authorDaniel Borkmann <daniel@iogearbox.net>2016-03-15 22:41:22 +0100
committerDavid S. Miller <davem@davemloft.net>2016-03-18 19:35:21 -0400
commit3a461da1d03e7a857edfa6a002040d07e118c639 (patch)
tree0e322f5682edb629c09ce1caa8d35dba500c290a /drivers/sfi
parent70063e949949c004f297d802608a34c87bb8c960 (diff)
cls_bpf: reset class and reuse major in da
There are two issues with the current code. First one is that we need to set res->class to 0 in case we use non-default classid matching. This is important for the case where cls_bpf was initially set up with an optional binding to a default class with tcf_bind_filter(), where the underlying qdisc implements bind_tcf() that fills res->class and tests for it later on when doing the classification. Convention for these cases is that after tc_classify() was called, such qdiscs (atm, drr, qfq, cbq, hfsc, htb) first test class, and if 0, then they lookup based on classid. Second, there's a bug with da mode, where res->classid is only assigned a 16 bit minor, but it needs to expand to the full 32 bit major/minor combination instead, therefore we need to expand with the bound major. This is fine as classes belonging to a classful qdisc must share the same major. Fixes: 045efa82ff56 ("cls_bpf: introduce integrated actions") Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/sfi')
0 files changed, 0 insertions, 0 deletions