[PATCH bpf-next v2 10/13] selftests/bpf: rename pseudo headers checksum computation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



network_helpers.h provides helpers to compute checksum for pseudo
headers but no helpers to compute the global checksums.

Before adding those, rename the pseudo header checksum helper to clarify
their role.

Signed-off-by: Alexis Lothoré (eBPF Foundation) <alexis.lothore@xxxxxxxxxxx>
---
Changes in v2:
- new patch
---
 tools/testing/selftests/bpf/network_helpers.h         | 14 +++++++-------
 tools/testing/selftests/bpf/prog_tests/xdp_metadata.c |  5 +++--
 tools/testing/selftests/bpf/xdp_hw_metadata.c         | 12 ++++++++----
 3 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/tools/testing/selftests/bpf/network_helpers.h b/tools/testing/selftests/bpf/network_helpers.h
index c9b72960c651ab9fb249f6eb9e153b8416b7a488..6d1ae56080c56a65c437899c32566f0e4c496c33 100644
--- a/tools/testing/selftests/bpf/network_helpers.h
+++ b/tools/testing/selftests/bpf/network_helpers.h
@@ -127,9 +127,9 @@ static inline __sum16 build_ip_csum(struct iphdr *iph)
 	return csum_fold(sum);
 }
 
-static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
-					__u32 len, __u8 proto,
-					__wsum csum)
+static inline __sum16 build_ipv4_pseudo_header_csum(__be32 saddr, __be32 daddr,
+						    __u32 len, __u8 proto,
+						    __wsum csum)
 {
 	__u64 s = csum;
 
@@ -142,10 +142,10 @@ static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
 	return csum_fold((__u32)s);
 }
 
-static inline __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
-				      const struct in6_addr *daddr,
-					__u32 len, __u8 proto,
-					__wsum csum)
+static inline __sum16
+build_ipv6_pseudo_header_csum(const struct in6_addr *saddr,
+			      const struct in6_addr *daddr, __u32 len,
+			      __u8 proto, __wsum csum)
 {
 	__u64 s = csum;
 	int i;
diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
index 7f8e161655336127e5bd7a573d1a09db85a92f53..0e69390ac0c2d8959c614e7d29fea1c31910cf9b 100644
--- a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
+++ b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
@@ -180,8 +180,9 @@ static int generate_packet(struct xsk *xsk, __u16 dst_port)
 	udph->source = htons(UDP_SOURCE_PORT);
 	udph->dest = htons(dst_port);
 	udph->len = htons(sizeof(*udph) + UDP_PAYLOAD_BYTES);
-	udph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr,
-					 ntohs(udph->len), IPPROTO_UDP, 0);
+	udph->check = ~build_ipv4_pseudo_header_csum(iph->saddr, iph->daddr,
+						     ntohs(udph->len),
+						     IPPROTO_UDP, 0);
 
 	memset(udph + 1, 0xAA, UDP_PAYLOAD_BYTES);
 
diff --git a/tools/testing/selftests/bpf/xdp_hw_metadata.c b/tools/testing/selftests/bpf/xdp_hw_metadata.c
index 6f9956eed797f30b9611596909ef2954654eab18..0ef3c020cc9f77a0a149859493468313071ad66b 100644
--- a/tools/testing/selftests/bpf/xdp_hw_metadata.c
+++ b/tools/testing/selftests/bpf/xdp_hw_metadata.c
@@ -378,11 +378,15 @@ static void ping_pong(struct xsk *xsk, void *rx_packet, clockid_t clock_id)
 
 	want_csum = udph->check;
 	if (ip6h)
-		udph->check = ~csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr,
-					       ntohs(udph->len), IPPROTO_UDP, 0);
+		udph->check = ~build_ipv6_pseudo_header_csum(&ip6h->saddr,
+							     &ip6h->daddr,
+							     ntohs(udph->len),
+							     IPPROTO_UDP, 0);
 	else
-		udph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr,
-						 ntohs(udph->len), IPPROTO_UDP, 0);
+		udph->check = ~build_ipv4_pseudo_header_csum(iph->saddr,
+							     iph->daddr,
+							     ntohs(udph->len),
+							     IPPROTO_UDP, 0);
 
 	meta->flags |= XDP_TXMD_FLAGS_CHECKSUM;
 	if (iph)

-- 
2.47.0





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux