Lines Matching refs:oldprog

142 			       struct cls_bpf_prog *oldprog,  in cls_bpf_offload_cmd()  argument
152 obj = prog ?: oldprog; in cls_bpf_offload_cmd()
158 cls_bpf.oldprog = oldprog ? oldprog->filter : NULL; in cls_bpf_offload_cmd()
162 if (oldprog && prog) in cls_bpf_offload_cmd()
164 skip_sw, &oldprog->gen_flags, in cls_bpf_offload_cmd()
165 &oldprog->in_hw_count, in cls_bpf_offload_cmd()
174 skip_sw, &oldprog->gen_flags, in cls_bpf_offload_cmd()
175 &oldprog->in_hw_count, true); in cls_bpf_offload_cmd()
178 cls_bpf_offload_cmd(tp, oldprog, prog, extack); in cls_bpf_offload_cmd()
194 struct cls_bpf_prog *oldprog, in cls_bpf_offload() argument
197 if (prog && oldprog && in cls_bpf_offload()
199 cls_bpf_flags(oldprog->gen_flags)) in cls_bpf_offload()
204 if (oldprog && tc_skip_hw(oldprog->gen_flags)) in cls_bpf_offload()
205 oldprog = NULL; in cls_bpf_offload()
206 if (!prog && !oldprog) in cls_bpf_offload()
209 return cls_bpf_offload_cmd(tp, prog, oldprog, extack); in cls_bpf_offload()
462 struct cls_bpf_prog *oldprog = *arg; in cls_bpf_change() local
483 if (oldprog) { in cls_bpf_change()
484 if (handle && oldprog->handle != handle) { in cls_bpf_change()
494 } else if (!oldprog) { in cls_bpf_change()
508 ret = cls_bpf_offload(tp, prog, oldprog, extack); in cls_bpf_change()
515 if (oldprog) { in cls_bpf_change()
517 list_replace_rcu(&oldprog->link, &prog->link); in cls_bpf_change()
518 tcf_unbind_filter(tp, &oldprog->res); in cls_bpf_change()
519 tcf_exts_get_net(&oldprog->exts); in cls_bpf_change()
520 tcf_queue_work(&oldprog->rwork, cls_bpf_delete_prog_work); in cls_bpf_change()
531 if (!oldprog) in cls_bpf_change()
680 cls_bpf.oldprog = add ? NULL : prog->filter; in cls_bpf_reoffload()