Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/bpf: Add u32()/u64() to sockmap_helpers

Add integer wrappers for convenient sockmap usage.

While there, fix misaligned trailing slashes.

Suggested-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Michal Luczaj <mhal@rbox.co>
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/r/20250515-selftests-sockmap-redir-v3-3-a1ea723f7e7e@rbox.co

authored by

Michal Luczaj and committed by
Martin KaFai Lau
b57482b0 d8785794

+11 -14
+11 -14
tools/testing/selftests/bpf/prog_tests/sockmap_helpers.h
··· 5 5 6 6 #define MAX_TEST_NAME 80 7 7 8 + #define u32(v) ((u32){(v)}) 9 + #define u64(v) ((u64){(v)}) 10 + 8 11 #define __always_unused __attribute__((__unused__)) 9 12 10 13 #define xbpf_map_delete_elem(fd, key) \ 11 14 ({ \ 12 15 int __ret = bpf_map_delete_elem((fd), (key)); \ 13 - if (__ret < 0) \ 16 + if (__ret < 0) \ 14 17 FAIL_ERRNO("map_delete"); \ 15 18 __ret; \ 16 19 }) ··· 21 18 #define xbpf_map_lookup_elem(fd, key, val) \ 22 19 ({ \ 23 20 int __ret = bpf_map_lookup_elem((fd), (key), (val)); \ 24 - if (__ret < 0) \ 21 + if (__ret < 0) \ 25 22 FAIL_ERRNO("map_lookup"); \ 26 23 __ret; \ 27 24 }) ··· 29 26 #define xbpf_map_update_elem(fd, key, val, flags) \ 30 27 ({ \ 31 28 int __ret = bpf_map_update_elem((fd), (key), (val), (flags)); \ 32 - if (__ret < 0) \ 29 + if (__ret < 0) \ 33 30 FAIL_ERRNO("map_update"); \ 34 31 __ret; \ 35 32 }) ··· 38 35 ({ \ 39 36 int __ret = \ 40 37 bpf_prog_attach((prog), (target), (type), (flags)); \ 41 - if (__ret < 0) \ 38 + if (__ret < 0) \ 42 39 FAIL_ERRNO("prog_attach(" #type ")"); \ 43 40 __ret; \ 44 41 }) ··· 46 43 #define xbpf_prog_detach2(prog, target, type) \ 47 44 ({ \ 48 45 int __ret = bpf_prog_detach2((prog), (target), (type)); \ 49 - if (__ret < 0) \ 46 + if (__ret < 0) \ 50 47 FAIL_ERRNO("prog_detach2(" #type ")"); \ 51 48 __ret; \ 52 49 }) ··· 69 66 __ret; \ 70 67 }) 71 68 72 - static inline int add_to_sockmap(int sock_mapfd, int fd1, int fd2) 69 + static inline int add_to_sockmap(int mapfd, int fd1, int fd2) 73 70 { 74 - u64 value; 75 - u32 key; 76 71 int err; 77 72 78 - key = 0; 79 - value = fd1; 80 - err = xbpf_map_update_elem(sock_mapfd, &key, &value, BPF_NOEXIST); 73 + err = xbpf_map_update_elem(mapfd, &u32(0), &u64(fd1), BPF_NOEXIST); 81 74 if (err) 82 75 return err; 83 76 84 - key = 1; 85 - value = fd2; 86 - return xbpf_map_update_elem(sock_mapfd, &key, &value, BPF_NOEXIST); 77 + return xbpf_map_update_elem(mapfd, &u32(1), &u64(fd2), BPF_NOEXIST); 87 78 } 88 79 89 80 #endif // __SOCKMAP_HELPERS__