Lines Matching refs:oldprog
145 struct cls_bpf_prog *oldprog, in cls_bpf_offload_cmd() argument
155 obj = prog ?: oldprog; in cls_bpf_offload_cmd()
161 cls_bpf.oldprog = oldprog ? oldprog->filter : NULL; in cls_bpf_offload_cmd()
165 if (oldprog && prog) in cls_bpf_offload_cmd()
167 skip_sw, &oldprog->gen_flags, in cls_bpf_offload_cmd()
168 &oldprog->in_hw_count, in cls_bpf_offload_cmd()
177 skip_sw, &oldprog->gen_flags, in cls_bpf_offload_cmd()
178 &oldprog->in_hw_count, true); in cls_bpf_offload_cmd()
181 cls_bpf_offload_cmd(tp, oldprog, prog, extack); in cls_bpf_offload_cmd()
197 struct cls_bpf_prog *oldprog, in cls_bpf_offload() argument
200 if (prog && oldprog && in cls_bpf_offload()
202 cls_bpf_flags(oldprog->gen_flags)) in cls_bpf_offload()
207 if (oldprog && tc_skip_hw(oldprog->gen_flags)) in cls_bpf_offload()
208 oldprog = NULL; in cls_bpf_offload()
209 if (!prog && !oldprog) in cls_bpf_offload()
212 return cls_bpf_offload_cmd(tp, prog, oldprog, extack); in cls_bpf_offload()
465 struct cls_bpf_prog *oldprog = *arg; in cls_bpf_change() local
486 if (oldprog) { in cls_bpf_change()
487 if (handle && oldprog->handle != handle) { in cls_bpf_change()
497 } else if (!oldprog) { in cls_bpf_change()
511 ret = cls_bpf_offload(tp, prog, oldprog, extack); in cls_bpf_change()
518 if (oldprog) { in cls_bpf_change()
520 list_replace_rcu(&oldprog->link, &prog->link); in cls_bpf_change()
521 tcf_unbind_filter(tp, &oldprog->res); in cls_bpf_change()
522 tcf_exts_get_net(&oldprog->exts); in cls_bpf_change()
523 tcf_queue_work(&oldprog->rwork, cls_bpf_delete_prog_work); in cls_bpf_change()
534 if (!oldprog) in cls_bpf_change()
683 cls_bpf.oldprog = add ? NULL : prog->filter; in cls_bpf_reoffload()