aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoltan Kiss <zoltan.kiss@linaro.org>2015-12-21 18:32:49 +0000
committerZoltan Kiss <zoltan.kiss@linaro.org>2015-12-21 18:32:49 +0000
commit84fa3e7a760bd5757aa7611e475fbbaff04c67a6 (patch)
treeac3f542d920b9b4ce59780f55ffbc8452e8bd4b0
parent878e720b8d20ce954513e3338cf9dcd7d89cb3b5 (diff)
linux-dpdk: remove clang warningsv1.5.0.0_DPDK_2.2.0-rc1
There is a type compatibility issue in recv_pkt_dpdk(), although it doesn't have an effect as both of them are pointers. The rte_mbuf accessor functions are bringing up alignment change warnings, which are false-positives in this case. These fields are defined with their appropriate type in the original structure, so their alignment is guaranteed, but the reason for these functions is to hide that structure. Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
-rw-r--r--platform/linux-dpdk/include/odp/packet.h16
-rw-r--r--platform/linux-dpdk/odp_packet_dpdk.c2
2 files changed, 9 insertions, 9 deletions
diff --git a/platform/linux-dpdk/include/odp/packet.h b/platform/linux-dpdk/include/odp/packet.h
index 73837594e..993e842f8 100644
--- a/platform/linux-dpdk/include/odp/packet.h
+++ b/platform/linux-dpdk/include/odp/packet.h
@@ -47,12 +47,12 @@ extern const uint64_t rss_flag;
*/
static inline uint32_t odp_packet_len(odp_packet_t pkt)
{
- return *(uint32_t *)((char *)pkt + pkt_len_offset);
+ return *(uint32_t *)(void *)((char *)pkt + pkt_len_offset);
}
static inline uint32_t odp_packet_seg_len(odp_packet_t pkt)
{
- return *(uint16_t *)((char *)pkt + seg_len_offset);
+ return *(uint16_t *)(void *)((char *)pkt + seg_len_offset);
}
static inline void *odp_packet_user_area(odp_packet_t pkt)
@@ -62,25 +62,25 @@ static inline void *odp_packet_user_area(odp_packet_t pkt)
static inline uint32_t odp_packet_user_area_size(odp_packet_t pkt)
{
- return *(uint32_t *)((char *)pkt + udata_len_offset);
+ return *(uint32_t *)(void *)((char *)pkt + udata_len_offset);
}
static inline void *odp_packet_data(odp_packet_t pkt)
{
- char** buf_addr = (char **)((char *)pkt + buf_addr_offset);
- uint16_t data_off = *(uint16_t *)((char *)pkt + data_off_offset);
+ char** buf_addr = (char **)(void *)((char *)pkt + buf_addr_offset);
+ uint16_t data_off = *(uint16_t *)(void *)((char *)pkt + data_off_offset);
return (void *)(*buf_addr + data_off);
}
static inline uint32_t odp_packet_flow_hash(odp_packet_t pkt)
{
- return *(uint32_t *)((char *)pkt + rss_offset);
+ return *(uint32_t *)(void *)((char *)pkt + rss_offset);
}
static inline void odp_packet_flow_hash_set(odp_packet_t pkt, uint32_t flow_hash)
{
- *(uint32_t *)((char *)pkt + rss_offset) = flow_hash;
- *(uint64_t *)((char *)pkt + ol_flags_offset) |= rss_flag;
+ *(uint32_t *)(void *)((char *)pkt + rss_offset) = flow_hash;
+ *(uint64_t *)(void *)((char *)pkt + ol_flags_offset) |= rss_flag;
}
/**
diff --git a/platform/linux-dpdk/odp_packet_dpdk.c b/platform/linux-dpdk/odp_packet_dpdk.c
index e692ab409..3a24b0334 100644
--- a/platform/linux-dpdk/odp_packet_dpdk.c
+++ b/platform/linux-dpdk/odp_packet_dpdk.c
@@ -179,7 +179,7 @@ int recv_pkt_dpdk(pkt_dpdk_t * const pkt_dpdk, odp_packet_t pkt_table[],
ODP_DBG("PMD requires >%d buffers burst. "
"Current %d, dropped %d\n", min, len, min - len);
saved_pkt_table = pkt_table;
- pkt_table = malloc(min * sizeof(odp_packet_t*));
+ pkt_table = malloc(min * sizeof(odp_packet_t));
}
nb_rx = rte_eth_rx_burst((uint8_t)pkt_dpdk->portid,