BPF_F_AFTER
BPF_F_AFTER | \
is_after = flags & BPF_F_AFTER;
if ((flags & BPF_F_REPLACE) && (flags & (BPF_F_BEFORE | BPF_F_AFTER)))
if (flags & BPF_F_AFTER) {
flags = BPF_F_AFTER;
if (flags & BPF_F_AFTER) {
flags = BPF_F_AFTER;
BPF_F_AFTER | \
.flags = BPF_F_AFTER | BPF_F_LINK,
.flags = BPF_F_ALLOW_MULTI | BPF_F_AFTER,
.flags = BPF_F_ALLOW_MULTI | BPF_F_AFTER | BPF_F_PREORDER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER | BPF_F_PREORDER | BPF_F_LINK,
.flags = BPF_F_ALLOW_MULTI | BPF_F_BEFORE | BPF_F_AFTER,
.flags = BPF_F_ALLOW_MULTI | BPF_F_BEFORE | BPF_F_AFTER,
.flags = BPF_F_ALLOW_MULTI | BPF_F_AFTER | BPF_F_ID,
.flags = BPF_F_ALLOW_MULTI | BPF_F_BEFORE | BPF_F_AFTER,
.flags = BPF_F_ALLOW_MULTI | BPF_F_AFTER,
.flags = BPF_F_ALLOW_MULTI | BPF_F_AFTER,
.flags = BPF_F_ALLOW_MULTI | BPF_F_REPLACE | BPF_F_AFTER,
.flags = BPF_F_ALLOW_MULTI | BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER | BPF_F_LINK,
.flags = BPF_F_AFTER | BPF_F_LINK,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER | BPF_F_LINK,
.flags = BPF_F_REPLACE | BPF_F_LINK | BPF_F_AFTER,
optl.flags = BPF_F_BEFORE | BPF_F_AFTER;
.flags = BPF_F_AFTER | BPF_F_ID,
.flags = BPF_F_BEFORE | BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
test_tc_opts_max_target(BPF_TCX_INGRESS, BPF_F_AFTER, true);
test_tc_opts_max_target(BPF_TCX_EGRESS, BPF_F_AFTER, false);
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_REPLACE | BPF_F_AFTER,
.flags = BPF_F_BEFORE | BPF_F_AFTER | BPF_F_REPLACE,
.flags = BPF_F_BEFORE | BPF_F_AFTER,
.flags = BPF_F_AFTER | BPF_F_ID,
.flags = BPF_F_BEFORE | BPF_F_AFTER,
.flags = BPF_F_AFTER,
.flags = BPF_F_AFTER,