]> git.baikalelectronics.ru Git - kernel.git/commit
selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in test_sock_addr
authorAndrey Ignatov <rdna@fb.com>
Fri, 4 Jan 2019 09:07:08 +0000 (01:07 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 5 Jan 2019 04:23:33 +0000 (20:23 -0800)
commit2e35a1d472954b3d0b0c80109de158620f658d15
tree34278582594c9b6909bab6005a955521dc3d4ee1
parent32a96ee016a3336369d4cf1c97986c875dda4e5b
selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in test_sock_addr

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: Andrey Ignatov <rdna@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/test_sock_addr.c