Lines Matching refs:entry
14 struct bpf_mprog_entry *entry, *entry_new; in tcx_prog_attach() local
34 entry = tcx_entry_fetch_or_create(dev, ingress, &created); in tcx_prog_attach()
35 if (!entry) { in tcx_prog_attach()
39 ret = bpf_mprog_attach(entry, &entry_new, prog, NULL, replace_prog, in tcx_prog_attach()
43 if (entry != entry_new) { in tcx_prog_attach()
48 bpf_mprog_commit(entry); in tcx_prog_attach()
50 tcx_entry_free(entry); in tcx_prog_attach()
63 struct bpf_mprog_entry *entry, *entry_new; in tcx_prog_detach() local
73 entry = tcx_entry_fetch(dev, ingress); in tcx_prog_detach()
74 if (!entry) { in tcx_prog_detach()
78 ret = bpf_mprog_detach(entry, &entry_new, prog, NULL, attr->attach_flags, in tcx_prog_detach()
86 bpf_mprog_commit(entry); in tcx_prog_detach()
88 tcx_entry_free(entry); in tcx_prog_detach()
97 struct bpf_mprog_entry *entry, *entry_new = NULL; in tcx_uninstall() local
103 entry = tcx_entry_fetch(dev, ingress); in tcx_uninstall()
104 if (!entry) in tcx_uninstall()
106 active = tcx_entry(entry)->miniq_active; in tcx_uninstall()
108 bpf_mprog_clear_all(entry, &entry_new); in tcx_uninstall()
111 bpf_mprog_foreach_tuple(entry, fp, cp, tuple) { in tcx_uninstall()
119 tcx_entry_free(entry); in tcx_uninstall()
146 struct bpf_mprog_entry *entry, *entry_new; in tcx_link_prog_attach() local
151 entry = tcx_entry_fetch_or_create(dev, ingress, &created); in tcx_link_prog_attach()
152 if (!entry) in tcx_link_prog_attach()
154 ret = bpf_mprog_attach(entry, &entry_new, link->prog, link, NULL, flags, in tcx_link_prog_attach()
157 if (entry != entry_new) { in tcx_link_prog_attach()
162 bpf_mprog_commit(entry); in tcx_link_prog_attach()
164 tcx_entry_free(entry); in tcx_link_prog_attach()
173 struct bpf_mprog_entry *entry, *entry_new; in tcx_link_release() local
181 entry = tcx_entry_fetch(dev, ingress); in tcx_link_release()
182 if (!entry) { in tcx_link_release()
186 ret = bpf_mprog_detach(entry, &entry_new, link->prog, link, 0, 0, 0); in tcx_link_release()
193 bpf_mprog_commit(entry); in tcx_link_release()
195 tcx_entry_free(entry); in tcx_link_release()
208 struct bpf_mprog_entry *entry, *entry_new; in tcx_link_update() local
227 entry = tcx_entry_fetch(dev, ingress); in tcx_link_update()
228 if (!entry) { in tcx_link_update()
232 ret = bpf_mprog_attach(entry, &entry_new, nprog, link, oprog, in tcx_link_update()
236 WARN_ON_ONCE(entry != entry_new); in tcx_link_update()
239 bpf_mprog_commit(entry); in tcx_link_update()