• Martin KaFai Lau's avatar
    bpf: selftest: Adapt sock_fields test to use skel and global variables · b18c1f0a
    Martin KaFai Lau authored
    skel is used.
    
    Global variables are used to store the result from bpf prog.
    addr_map, sock_result_map, and tcp_sock_result_map are gone.
    Instead, global variables listen_tp, srv_sa6, cli_tp,, srv_tp,
    listen_sk, srv_sk, and cli_sk are added.
    Because of that, bpf_addr_array_idx and bpf_result_array_idx are also
    no longer needed.
    
    CHECK() macro from test_progs.h is reused and bail as soon as
    a CHECK failure.
    
    shutdown() is used to ensure the previous data-ack is received.
    The bytes_acked, bytes_received, and the pkt_out_cnt checks are
    using "<" to accommodate the final ack may not have been received/sent.
    It is enough since it is not the focus of this test.
    
    The sk local storage is all initialized to 0xeB9F now, so the
    check_sk_pkt_out_cnt() always checks with the 0xeB9F base.  It is to
    keep things simple.
    
    The next patch will reuse helpers from network_helpers.h to simplify
    things further.
    Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Link: https://lore.kernel.org/bpf/20200925000434.3858204-1-kafai@fb.com
    b18c1f0a
sock_fields.c 13.1 KB