[dpdk-dev] [PATCH v5 15/21] rte_ip.h: cast type decided by sizeof to uint32

Andy Green andy at warmcat.com
Thu May 17 15:50:07 CEST 2018


/projects/lagopus/src/dpdk/build/include/rte_ip.h:
In function 'rte_ipv4_udptcp_cksum':
/projects/lagopus/src/dpdk/build/include/rte_byteorder.h:
51:24: warning: conversion from 'long unsigned int' to
'uint32_t' {aka 'unsigned int'} may change value
[-Wconversion]
 #define rte_bswap16(x) ((uint16_t)
(__builtin_constant_p(x) ?  \
                        ^
/projects/lagopus/src/dpdk/build/include/rte_byteorder.h:
85:29: note: in expansion of macro 'rte_bswap16'
 #define rte_be_to_cpu_16(x) rte_bswap16(x)
                             ^~~~~~~~~~~
/projects/lagopus/src/dpdk/build/include/rte_ip.h:321:11:
note: in expansion of macro 'rte_be_to_cpu_16'
  l4_len = rte_be_to_cpu_16(ipv4_hdr->total_length) -
           ^~~~~~~~~~~~~~~~

Signed-off-by: Andy Green <andy at warmcat.com>
---
 lib/librte_net/rte_ip.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
index 8689e9113..88dfbaa9a 100644
--- a/lib/librte_net/rte_ip.h
+++ b/lib/librte_net/rte_ip.h
@@ -318,8 +318,8 @@ rte_ipv4_udptcp_cksum(const struct ipv4_hdr *ipv4_hdr, const void *l4_hdr)
 	uint32_t cksum;
 	uint32_t l4_len;
 
-	l4_len = rte_be_to_cpu_16(ipv4_hdr->total_length) -
-		sizeof(struct ipv4_hdr);
+	l4_len = (uint32_t)(rte_be_to_cpu_16(ipv4_hdr->total_length) -
+		sizeof(struct ipv4_hdr));
 
 	cksum = rte_raw_cksum(l4_hdr, l4_len);
 	cksum += rte_ipv4_phdr_cksum(ipv4_hdr, 0);



More information about the dev mailing list