• Daniel Borkmann's avatar
    ebpf: add sched_act_type and map it to sk_filter's verifier ops · 94caee8c
    Daniel Borkmann authored
    In order to prepare eBPF support for tc action, we need to add
    sched_act_type, so that the eBPF verifier is aware of what helper
    function act_bpf may use, that it can load skb data and read out
    currently available skb fields.
    
    This is bascially analogous to 96be4325 ("ebpf: add sched_cls_type
    and map it to sk_filter's verifier ops").
    
    BPF_PROG_TYPE_SCHED_CLS and BPF_PROG_TYPE_SCHED_ACT need to be
    separate since both will have a different set of functionality in
    future (classifier vs action), thus we won't run into ABI troubles
    when the point in time comes to diverge functionality from the
    classifier.
    
    The future plan for act_bpf would be that it will be able to write
    into skb->data and alter selected fields mirrored in struct __sk_buff.
    
    For an initial support, it's sufficient to map it to sk_filter_ops.
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Cc: Jiri Pirko <jiri@resnulli.us>
    Reviewed-by: default avatarJiri Pirko <jiri@resnulli.us>
    Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    94caee8c
bpf.h 5.14 KB