Loading include/net/pkt_cls.h +1 −0 Original line number Diff line number Diff line Loading @@ -490,6 +490,7 @@ enum tc_clsbpf_command { TC_CLSBPF_ADD, TC_CLSBPF_REPLACE, TC_CLSBPF_DESTROY, TC_CLSBPF_STATS, }; struct tc_cls_bpf_offload { Loading net/sched/cls_bpf.c +11 −0 Original line number Diff line number Diff line Loading @@ -221,6 +221,15 @@ static void cls_bpf_stop_offload(struct tcf_proto *tp, prog->offloaded = false; } static void cls_bpf_offload_update_stats(struct tcf_proto *tp, struct cls_bpf_prog *prog) { if (!prog->offloaded) return; cls_bpf_offload_cmd(tp, prog, TC_CLSBPF_STATS); } static int cls_bpf_init(struct tcf_proto *tp) { struct cls_bpf_head *head; Loading Loading @@ -577,6 +586,8 @@ static int cls_bpf_dump(struct net *net, struct tcf_proto *tp, unsigned long fh, tm->tcm_handle = prog->handle; cls_bpf_offload_update_stats(tp, prog); nest = nla_nest_start(skb, TCA_OPTIONS); if (nest == NULL) goto nla_put_failure; Loading Loading
include/net/pkt_cls.h +1 −0 Original line number Diff line number Diff line Loading @@ -490,6 +490,7 @@ enum tc_clsbpf_command { TC_CLSBPF_ADD, TC_CLSBPF_REPLACE, TC_CLSBPF_DESTROY, TC_CLSBPF_STATS, }; struct tc_cls_bpf_offload { Loading
net/sched/cls_bpf.c +11 −0 Original line number Diff line number Diff line Loading @@ -221,6 +221,15 @@ static void cls_bpf_stop_offload(struct tcf_proto *tp, prog->offloaded = false; } static void cls_bpf_offload_update_stats(struct tcf_proto *tp, struct cls_bpf_prog *prog) { if (!prog->offloaded) return; cls_bpf_offload_cmd(tp, prog, TC_CLSBPF_STATS); } static int cls_bpf_init(struct tcf_proto *tp) { struct cls_bpf_head *head; Loading Loading @@ -577,6 +586,8 @@ static int cls_bpf_dump(struct net *net, struct tcf_proto *tp, unsigned long fh, tm->tcm_handle = prog->handle; cls_bpf_offload_update_stats(tp, prog); nest = nla_nest_start(skb, TCA_OPTIONS); if (nest == NULL) goto nla_put_failure; Loading