• Andrey Ignatov's avatar
    selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in test_sock_addr · 976b4f3a
    Andrey Ignatov authored
    Test that sys_sendmsg BPF hook doesn't break sys_sendmsg behaviour to
    rewrite destination IPv6 = [::] with [::1] (BSD'ism).
    
    Two test cases are added:
    
    1) User passes dst IPv6 = [::] and BPF_CGROUP_UDP6_SENDMSG program
       doesn't touch it.
    
    2) User passes dst IPv6 != [::], but BPF_CGROUP_UDP6_SENDMSG program
       rewrites it with [::].
    
    In both cases [::1] is used by sys_sendmsg code eventually and datagram
    is sent successfully for unconnected UDP socket.
    
    Example of relevant output:
      Test case: sendmsg6: set dst IP = [::] (BSD'ism) .. [PASS]
      Test case: sendmsg6: preserve dst IP = [::] (BSD'ism) .. [PASS]
    Signed-off-by: default avatarAndrey Ignatov <rdna@fb.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    976b4f3a
test_sock_addr.c 33.4 KB