BPF_PROG_TYPE_SK_SKB
BPF_PROG_TYPE(BPF_PROG_TYPE_SK_SKB, sk_skb,
case BPF_PROG_TYPE_SK_SKB:
case BPF_PROG_TYPE_SK_SKB:
return BPF_PROG_TYPE_SK_SKB;
case BPF_PROG_TYPE_SK_SKB:
case BPF_PROG_TYPE_SK_SKB:
case BPF_PROG_TYPE_SK_SKB:
case BPF_PROG_TYPE_SK_SKB:
ret = ret ?: register_btf_kfunc_id_set(BPF_PROG_TYPE_SK_SKB, &bpf_kfunc_set_skb);
[BPF_PROG_TYPE_SK_SKB] = "sk_skb",
{ BPF_PROG_TYPE_SK_SKB, "__sk_buff" },
case BPF_PROG_TYPE_SK_SKB:
{0, BPF_PROG_TYPE_SK_SKB, BPF_SK_SKB_STREAM_PARSER},
{0, BPF_PROG_TYPE_SK_SKB, BPF_SK_SKB_STREAM_VERDICT},
{"sk_skb", {0, BPF_PROG_TYPE_SK_SKB, 0}, {-EINVAL, 0} },
BPF_PROG_TYPE_SK_SKB, &parse_obj, &parse_prog);
BPF_PROG_TYPE_SK_SKB, &verdict_obj, &verdict_prog);
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,
.prog_type = BPF_PROG_TYPE_SK_SKB,