Skip to content
Snippets Groups Projects
  1. Oct 02, 2020
  2. Aug 24, 2020
    • Martin KaFai Lau's avatar
      bpf: selftests: Tcp header options · ad2f8eb0
      Martin KaFai Lau authored
      
      This patch adds tests for the new bpf tcp header option feature.
      
      test_tcp_hdr_options.c:
      - It tests header option writing and parsing in 3WHS: regular
        connection establishment, fastopen, and syncookie.
      - In syncookie, the passive side's bpf prog is asking the active side
        to resend its bpf header option by specifying a RESEND bit in the
        outgoing SYNACK. handle_active_estab() and write_nodata_opt() has
        some details.
      - handle_passive_estab() has comments on fastopen.
      - It also has test for header writing and parsing in FIN packet.
      - Most of the tests is writing an experimental option 254 with magic 0xeB9F.
      - The no_exprm_estab() also tests writing a regular TCP option
        without any magic.
      
      test_misc_tcp_options.c:
      - It is an one directional test.  Active side writes option and
        passive side parses option.  The focus is to exercise
        the new helpers and API.
      - Testing the new helper: bpf_load_hdr_opt() and bpf_store_hdr_opt().
      - Testing the bpf_getsockopt(TCP_BPF_SYN).
      - Negative tests for the above helpers.
      - Testing the sock_ops->skb_data.
      
      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/20200820190117.2886749-1-kafai@fb.com
      ad2f8eb0
Loading