* [dpdk-dev] [RFC] Clang errors with bit fields and setting value of ~0.
@ 2014-11-29 16:33 Keith Wiles
2014-12-01 10:38 ` Olivier MATZ
0 siblings, 1 reply; 2+ messages in thread
From: Keith Wiles @ 2014-11-29 16:33 UTC (permalink / raw)
To: dev
error: implicit truncation from 'int' to bitfield
changes value from -1 to 127 [-Werror,-Wbitfield-constant-conversion]
tx_offload_mask.l2_len = ~0;
Converted to use correct bit values
tx_offload_mask.l2_len = 0x7f;
Signer-off-by: Keith Wiles <keith.wiles@windriver.com>
---
lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
index 8559ef6..de5ae09 100644
--- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
+++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
@@ -381,7 +381,7 @@ ixgbe_set_xmit_ctx(struct igb_tx_queue* txq,
mss_l4len_idx |= (ctx_idx << IXGBE_ADVTXD_IDX_SHIFT);
if (ol_flags & PKT_TX_VLAN_PKT) {
- tx_offload_mask.vlan_tci = ~0;
+ tx_offload_mask.vlan_tci = 0xFFFF;
}
/* check if TCP segmentation required for this packet */
@@ -391,17 +391,17 @@ ixgbe_set_xmit_ctx(struct igb_tx_queue* txq,
IXGBE_ADVTXD_TUCMD_L4T_TCP |
IXGBE_ADVTXD_DTYP_CTXT | IXGBE_ADVTXD_DCMD_DEXT;
- tx_offload_mask.l2_len = ~0;
- tx_offload_mask.l3_len = ~0;
- tx_offload_mask.l4_len = ~0;
- tx_offload_mask.tso_segsz = ~0;
+ tx_offload_mask.l2_len = 0x7f;
+ tx_offload_mask.l3_len = 0x1ff;
+ tx_offload_mask.l4_len = 0xff;
+ tx_offload_mask.tso_segsz = 0xffff;
mss_l4len_idx |= tx_offload.tso_segsz << IXGBE_ADVTXD_MSS_SHIFT;
mss_l4len_idx |= tx_offload.l4_len << IXGBE_ADVTXD_L4LEN_SHIFT;
} else { /* no TSO, check if hardware checksum is needed */
if (ol_flags & PKT_TX_IP_CKSUM) {
type_tucmd_mlhl = IXGBE_ADVTXD_TUCMD_IPV4;
- tx_offload_mask.l2_len = ~0;
- tx_offload_mask.l3_len = ~0;
+ tx_offload_mask.l2_len = 0x7f;
+ tx_offload_mask.l3_len = 0x1ff;
}
switch (ol_flags & PKT_TX_L4_MASK) {
@@ -409,23 +409,23 @@ ixgbe_set_xmit_ctx(struct igb_tx_queue* txq,
type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_L4T_UDP |
IXGBE_ADVTXD_DTYP_CTXT | IXGBE_ADVTXD_DCMD_DEXT;
mss_l4len_idx |= sizeof(struct udp_hdr) << IXGBE_ADVTXD_L4LEN_SHIFT;
- tx_offload_mask.l2_len = ~0;
- tx_offload_mask.l3_len = ~0;
+ tx_offload_mask.l2_len = 0x7f;
+ tx_offload_mask.l3_len = 0x1ff;
break;
case PKT_TX_TCP_CKSUM:
type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_L4T_TCP |
IXGBE_ADVTXD_DTYP_CTXT | IXGBE_ADVTXD_DCMD_DEXT;
mss_l4len_idx |= sizeof(struct tcp_hdr) << IXGBE_ADVTXD_L4LEN_SHIFT;
- tx_offload_mask.l2_len = ~0;
- tx_offload_mask.l3_len = ~0;
- tx_offload_mask.l4_len = ~0;
+ tx_offload_mask.l2_len = 0x7f;
+ tx_offload_mask.l3_len = 0x1ff;
+ tx_offload_mask.l4_len = 0xff;
break;
case PKT_TX_SCTP_CKSUM:
type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_L4T_SCTP |
IXGBE_ADVTXD_DTYP_CTXT | IXGBE_ADVTXD_DCMD_DEXT;
mss_l4len_idx |= sizeof(struct sctp_hdr) << IXGBE_ADVTXD_L4LEN_SHIFT;
- tx_offload_mask.l2_len = ~0;
- tx_offload_mask.l3_len = ~0;
+ tx_offload_mask.l2_len = 0x7f;
+ tx_offload_mask.l3_len = 0x1ff;
break;
default:
type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_L4T_RSV |
--
1.9.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-12-01 10:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-29 16:33 [dpdk-dev] [RFC] Clang errors with bit fields and setting value of ~0 Keith Wiles
2014-12-01 10:38 ` Olivier MATZ
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).