• Andrey Ignatov's avatar
    selftests/bpf: Test for sk helpers in cgroup skb · 68e916bc
    Andrey Ignatov authored
    Test bpf_sk_lookup_tcp, bpf_sk_release, bpf_sk_cgroup_id and
    bpf_sk_ancestor_cgroup_id helpers from cgroup skb program.
    
    The test creates a testing cgroup, starts a TCPv6 server inside the
    cgroup and creates two client sockets: one inside testing cgroup and one
    outside.
    
    Then it attaches cgroup skb program to the cgroup that checks all TCP
    segments coming to the server and allows only those coming from the
    cgroup of the server. If a segment comes from a peer outside of the
    cgroup, it'll be dropped.
    
    Finally the test checks that client from inside testing cgroup can
    successfully connect to the server, but client outside the cgroup fails
    to connect by timeout.
    
    The main goal of the test is to check newly introduced
    bpf_sk_{,ancestor_}cgroup_id helpers.
    
    It also checks a couple of socket lookup helpers (tcp & release), but
    lookup helpers were introduced much earlier and covered by other tests.
    Here it's mostly checked that they can be called from cgroup skb.
    Signed-off-by: default avatarAndrey Ignatov <rdna@fb.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Acked-by: default avatarYonghong Song <yhs@fb.com>
    Link: https://lore.kernel.org/bpf/171f4c5d75e8ff4fe1c4e8c1c12288b5240a4549.1589486450.git.rdna@fb.com
    68e916bc
cgroup_skb_sk_lookup.c 2.52 KB