Message ID | 20211025205251.6145-2-david.marchand@redhat.com |
---|---|
State | Superseded |
Headers | show |
Series | [ovs-dev,dpdk-latest,1/2] netdev-dpdk: Remove unused attribute from rte_flow rule. | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
ovsrobot/github-robot-_Build_and_Test | fail | github build: failed |
> PKT_[RT]X_* and other mbuf macros have been prefixed with RTE_MBUF_ [1]. > Update accordingly. > > 1: https://git.dpdk.org/dpdk/commit/?id=daa02b5cddbb > > Signed-off-by: David Marchand <david.marchand@redhat.com> HI David, thanks for the patches, I was just running these through github and spotted there was a failure in the build not sure if it's related to these patches or possibly a different patch that has been upstream to DPDK main and may require a follow on patch Error and build link below. ../../lib/ofp-packet.c: note: in included file (through /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h, ../../lib/netdev-dpdk.h, ../../lib/dp-packet.h): /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:92:37: error: invalid bitfield specifier for type restricted ovs_be16. /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:93:37: error: invalid bitfield specifier for type restricted ovs_be16. /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:94:40: error: invalid bitfield specifier for type restricted ovs_be16. /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:95:37: error: invalid bitfield specifier for type restricted ovs_be16. /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:96:40: error: invalid bitfield specifier for type restricted ovs_be16. /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:97:37: error: invalid bitfield specifier for type restricted ovs_be16. /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:98:37: error: invalid bitfield specifier for type restricted ovs_be16. /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:99:40: error: invalid bitfield specifier for type restricted ovs_be16. /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:100:39: error: invalid bitfield specifier for type restricted ovs_be16. Regards Ian > --- > lib/dp-packet.h | 26 ++++++++++++++------------ > lib/netdev-dpdk.c | 18 +++++++++--------- > 2 files changed, 23 insertions(+), 21 deletions(-) > > diff --git a/lib/dp-packet.h b/lib/dp-packet.h > index 3dc582fbfd..ee0805ae69 100644 > --- a/lib/dp-packet.h > +++ b/lib/dp-packet.h > @@ -58,29 +58,31 @@ enum OVS_PACKED_ENUM dp_packet_source { > enum dp_packet_offload_mask { > /* Value 0 is not used. */ > /* Is the 'rss_hash' valid? */ > - DEF_OL_FLAG(DP_PACKET_OL_RSS_HASH, PKT_RX_RSS_HASH, 0x1), > + DEF_OL_FLAG(DP_PACKET_OL_RSS_HASH, RTE_MBUF_F_RX_RSS_HASH, > 0x1), > /* Is the 'flow_mark' valid? */ > - DEF_OL_FLAG(DP_PACKET_OL_FLOW_MARK, PKT_RX_FDIR_ID, 0x2), > + DEF_OL_FLAG(DP_PACKET_OL_FLOW_MARK, RTE_MBUF_F_RX_FDIR_ID, > 0x2), > /* Bad L4 checksum in the packet. */ > - DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_BAD, > PKT_RX_L4_CKSUM_BAD, 0x4), > + DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_BAD, > RTE_MBUF_F_RX_L4_CKSUM_BAD, 0x4), > /* Bad IP checksum in the packet. */ > - DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_BAD, > PKT_RX_IP_CKSUM_BAD, 0x8), > + DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_BAD, > RTE_MBUF_F_RX_IP_CKSUM_BAD, 0x8), > /* Valid L4 checksum in the packet. */ > - DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_GOOD, > PKT_RX_L4_CKSUM_GOOD, 0x10), > + DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_GOOD, > RTE_MBUF_F_RX_L4_CKSUM_GOOD, > + 0x10), > /* Valid IP checksum in the packet. */ > - DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_GOOD, > PKT_RX_IP_CKSUM_GOOD, 0x20), > + DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_GOOD, > RTE_MBUF_F_RX_IP_CKSUM_GOOD, > + 0x20), > /* TCP Segmentation Offload. */ > - DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_SEG, PKT_TX_TCP_SEG, 0x40), > + DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_SEG, RTE_MBUF_F_TX_TCP_SEG, > 0x40), > /* Offloaded packet is IPv4. */ > - DEF_OL_FLAG(DP_PACKET_OL_TX_IPV4, PKT_TX_IPV4, 0x80), > + DEF_OL_FLAG(DP_PACKET_OL_TX_IPV4, RTE_MBUF_F_TX_IPV4, 0x80), > /* Offloaded packet is IPv6. */ > - DEF_OL_FLAG(DP_PACKET_OL_TX_IPV6, PKT_TX_IPV6, 0x100), > + DEF_OL_FLAG(DP_PACKET_OL_TX_IPV6, RTE_MBUF_F_TX_IPV6, 0x100), > /* Offload TCP checksum. */ > - DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_CKSUM, PKT_TX_TCP_CKSUM, > 0x200), > + DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_CKSUM, > RTE_MBUF_F_TX_TCP_CKSUM, 0x200), > /* Offload UDP checksum. */ > - DEF_OL_FLAG(DP_PACKET_OL_TX_UDP_CKSUM, PKT_TX_UDP_CKSUM, > 0x400), > + DEF_OL_FLAG(DP_PACKET_OL_TX_UDP_CKSUM, > RTE_MBUF_F_TX_UDP_CKSUM, 0x400), > /* Offload SCTP checksum. */ > - DEF_OL_FLAG(DP_PACKET_OL_TX_SCTP_CKSUM, PKT_TX_SCTP_CKSUM, > 0x800), > + DEF_OL_FLAG(DP_PACKET_OL_TX_SCTP_CKSUM, > RTE_MBUF_F_TX_SCTP_CKSUM, 0x800), > /* Adding new field requires adding to DP_PACKET_OL_SUPPORTED_MASK. > */ > }; > > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c > index 6d3fd6beda..db08aec440 100644 > --- a/lib/netdev-dpdk.c > +++ b/lib/netdev-dpdk.c > @@ -2165,14 +2165,14 @@ netdev_dpdk_prep_hwol_packet(struct > netdev_dpdk *dev, struct rte_mbuf *mbuf) > { > struct dp_packet *pkt = CONTAINER_OF(mbuf, struct dp_packet, mbuf); > > - if (mbuf->ol_flags & PKT_TX_L4_MASK) { > + if (mbuf->ol_flags & RTE_MBUF_F_TX_L4_MASK) { > mbuf->l2_len = (char *)dp_packet_l3(pkt) - (char *)dp_packet_eth(pkt); > mbuf->l3_len = (char *)dp_packet_l4(pkt) - (char *)dp_packet_l3(pkt); > mbuf->outer_l2_len = 0; > mbuf->outer_l3_len = 0; > } > > - if (mbuf->ol_flags & PKT_TX_TCP_SEG) { > + if (mbuf->ol_flags & RTE_MBUF_F_TX_TCP_SEG) { > struct tcp_header *th = dp_packet_l4(pkt); > > if (!th) { > @@ -2182,11 +2182,11 @@ netdev_dpdk_prep_hwol_packet(struct > netdev_dpdk *dev, struct rte_mbuf *mbuf) > } > > mbuf->l4_len = TCP_OFFSET(th->tcp_ctl) * 4; > - mbuf->ol_flags |= PKT_TX_TCP_CKSUM; > + mbuf->ol_flags |= RTE_MBUF_F_TX_TCP_CKSUM; > mbuf->tso_segsz = dev->mtu - mbuf->l3_len - mbuf->l4_len; > > - if (mbuf->ol_flags & PKT_TX_IPV4) { > - mbuf->ol_flags |= PKT_TX_IP_CKSUM; > + if (mbuf->ol_flags & RTE_MBUF_F_TX_IPV4) { > + mbuf->ol_flags |= RTE_MBUF_F_TX_IP_CKSUM; > } > } > return true; > @@ -2533,7 +2533,7 @@ netdev_dpdk_filter_packet_len(struct netdev_dpdk > *dev, struct rte_mbuf **pkts, > for (i = 0; i < pkt_cnt; i++) { > pkt = pkts[i]; > if (OVS_UNLIKELY((pkt->pkt_len > dev->max_packet_len) > - && !(pkt->ol_flags & PKT_TX_TCP_SEG))) { > + && !(pkt->ol_flags & RTE_MBUF_F_TX_TCP_SEG))) { > VLOG_WARN_RL(&rl, "%s: Too big size %" PRIu32 " " > "max_packet_len %d", dev->up.name, pkt->pkt_len, > dev->max_packet_len); > @@ -2755,12 +2755,12 @@ dpdk_copy_dp_packet_to_mbuf(struct > rte_mempool *mp, struct dp_packet *pkt_orig) > mbuf_dest->tx_offload = pkt_orig->mbuf.tx_offload; > mbuf_dest->packet_type = pkt_orig->mbuf.packet_type; > mbuf_dest->ol_flags |= (pkt_orig->mbuf.ol_flags & > - ~(EXT_ATTACHED_MBUF | IND_ATTACHED_MBUF)); > + ~(RTE_MBUF_F_EXTERNAL | RTE_MBUF_F_INDIRECT)); > > memcpy(&pkt_dest->l2_pad_size, &pkt_orig->l2_pad_size, > sizeof(struct dp_packet) - offsetof(struct dp_packet, l2_pad_size)); > > - if (mbuf_dest->ol_flags & PKT_TX_L4_MASK) { > + if (mbuf_dest->ol_flags & RTE_MBUF_F_TX_L4_MASK) { > mbuf_dest->l2_len = (char *)dp_packet_l3(pkt_dest) > - (char *)dp_packet_eth(pkt_dest); > mbuf_dest->l3_len = (char *)dp_packet_l4(pkt_dest) > @@ -2805,7 +2805,7 @@ dpdk_do_tx_copy(struct netdev *netdev, int qid, > struct dp_packet_batch *batch) > uint32_t size = dp_packet_size(packet); > > if (size > dev->max_packet_len > - && !(packet->mbuf.ol_flags & PKT_TX_TCP_SEG)) { > + && !(packet->mbuf.ol_flags & RTE_MBUF_F_TX_TCP_SEG)) { > VLOG_WARN_RL(&rl, "Too big size %u max_packet_len %d", size, > dev->max_packet_len); > mtu_drops++; > -- > 2.23.0
> > PKT_[RT]X_* and other mbuf macros have been prefixed with RTE_MBUF_ [1]. > > Update accordingly. > > > > 1: https://git.dpdk.org/dpdk/commit/?id=daa02b5cddbb > > > > Signed-off-by: David Marchand <david.marchand@redhat.com> > > HI David, thanks for the patches, I was just running these through github and > spotted there was a failure in the build not sure if it's related to these patches or > possibly a different patch that has been upstream to DPDK main and may require > a follow on patch > > Error and build link below. Apologies, forgot to add the build link. https://github.com/istokes/ovs/actions/runs/1412616124 Regards Ian > > ../../lib/ofp-packet.c: note: in included file (through > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h, ../../lib/netdev- > dpdk.h, ../../lib/dp-packet.h): > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:92:37: error: > invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:93:37: error: > invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:94:40: error: > invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:95:37: error: > invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:96:40: error: > invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:97:37: error: > invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:98:37: error: > invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:99:40: error: > invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:100:39: error: > invalid bitfield specifier for type restricted ovs_be16. > > > Regards > Ian > > > --- > > lib/dp-packet.h | 26 ++++++++++++++------------ > > lib/netdev-dpdk.c | 18 +++++++++--------- > > 2 files changed, 23 insertions(+), 21 deletions(-) > > > > diff --git a/lib/dp-packet.h b/lib/dp-packet.h > > index 3dc582fbfd..ee0805ae69 100644 > > --- a/lib/dp-packet.h > > +++ b/lib/dp-packet.h > > @@ -58,29 +58,31 @@ enum OVS_PACKED_ENUM dp_packet_source { > > enum dp_packet_offload_mask { > > /* Value 0 is not used. */ > > /* Is the 'rss_hash' valid? */ > > - DEF_OL_FLAG(DP_PACKET_OL_RSS_HASH, PKT_RX_RSS_HASH, 0x1), > > + DEF_OL_FLAG(DP_PACKET_OL_RSS_HASH, RTE_MBUF_F_RX_RSS_HASH, > > 0x1), > > /* Is the 'flow_mark' valid? */ > > - DEF_OL_FLAG(DP_PACKET_OL_FLOW_MARK, PKT_RX_FDIR_ID, 0x2), > > + DEF_OL_FLAG(DP_PACKET_OL_FLOW_MARK, RTE_MBUF_F_RX_FDIR_ID, > > 0x2), > > /* Bad L4 checksum in the packet. */ > > - DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_BAD, > > PKT_RX_L4_CKSUM_BAD, 0x4), > > + DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_BAD, > > RTE_MBUF_F_RX_L4_CKSUM_BAD, 0x4), > > /* Bad IP checksum in the packet. */ > > - DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_BAD, > > PKT_RX_IP_CKSUM_BAD, 0x8), > > + DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_BAD, > > RTE_MBUF_F_RX_IP_CKSUM_BAD, 0x8), > > /* Valid L4 checksum in the packet. */ > > - DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_GOOD, > > PKT_RX_L4_CKSUM_GOOD, 0x10), > > + DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_GOOD, > > RTE_MBUF_F_RX_L4_CKSUM_GOOD, > > + 0x10), > > /* Valid IP checksum in the packet. */ > > - DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_GOOD, > > PKT_RX_IP_CKSUM_GOOD, 0x20), > > + DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_GOOD, > > RTE_MBUF_F_RX_IP_CKSUM_GOOD, > > + 0x20), > > /* TCP Segmentation Offload. */ > > - DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_SEG, PKT_TX_TCP_SEG, 0x40), > > + DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_SEG, RTE_MBUF_F_TX_TCP_SEG, > > 0x40), > > /* Offloaded packet is IPv4. */ > > - DEF_OL_FLAG(DP_PACKET_OL_TX_IPV4, PKT_TX_IPV4, 0x80), > > + DEF_OL_FLAG(DP_PACKET_OL_TX_IPV4, RTE_MBUF_F_TX_IPV4, 0x80), > > /* Offloaded packet is IPv6. */ > > - DEF_OL_FLAG(DP_PACKET_OL_TX_IPV6, PKT_TX_IPV6, 0x100), > > + DEF_OL_FLAG(DP_PACKET_OL_TX_IPV6, RTE_MBUF_F_TX_IPV6, 0x100), > > /* Offload TCP checksum. */ > > - DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_CKSUM, PKT_TX_TCP_CKSUM, > > 0x200), > > + DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_CKSUM, > > RTE_MBUF_F_TX_TCP_CKSUM, 0x200), > > /* Offload UDP checksum. */ > > - DEF_OL_FLAG(DP_PACKET_OL_TX_UDP_CKSUM, PKT_TX_UDP_CKSUM, > > 0x400), > > + DEF_OL_FLAG(DP_PACKET_OL_TX_UDP_CKSUM, > > RTE_MBUF_F_TX_UDP_CKSUM, 0x400), > > /* Offload SCTP checksum. */ > > - DEF_OL_FLAG(DP_PACKET_OL_TX_SCTP_CKSUM, PKT_TX_SCTP_CKSUM, > > 0x800), > > + DEF_OL_FLAG(DP_PACKET_OL_TX_SCTP_CKSUM, > > RTE_MBUF_F_TX_SCTP_CKSUM, 0x800), > > /* Adding new field requires adding to DP_PACKET_OL_SUPPORTED_MASK. > > */ > > }; > > > > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c > > index 6d3fd6beda..db08aec440 100644 > > --- a/lib/netdev-dpdk.c > > +++ b/lib/netdev-dpdk.c > > @@ -2165,14 +2165,14 @@ netdev_dpdk_prep_hwol_packet(struct > > netdev_dpdk *dev, struct rte_mbuf *mbuf) > > { > > struct dp_packet *pkt = CONTAINER_OF(mbuf, struct dp_packet, mbuf); > > > > - if (mbuf->ol_flags & PKT_TX_L4_MASK) { > > + if (mbuf->ol_flags & RTE_MBUF_F_TX_L4_MASK) { > > mbuf->l2_len = (char *)dp_packet_l3(pkt) - (char *)dp_packet_eth(pkt); > > mbuf->l3_len = (char *)dp_packet_l4(pkt) - (char *)dp_packet_l3(pkt); > > mbuf->outer_l2_len = 0; > > mbuf->outer_l3_len = 0; > > } > > > > - if (mbuf->ol_flags & PKT_TX_TCP_SEG) { > > + if (mbuf->ol_flags & RTE_MBUF_F_TX_TCP_SEG) { > > struct tcp_header *th = dp_packet_l4(pkt); > > > > if (!th) { > > @@ -2182,11 +2182,11 @@ netdev_dpdk_prep_hwol_packet(struct > > netdev_dpdk *dev, struct rte_mbuf *mbuf) > > } > > > > mbuf->l4_len = TCP_OFFSET(th->tcp_ctl) * 4; > > - mbuf->ol_flags |= PKT_TX_TCP_CKSUM; > > + mbuf->ol_flags |= RTE_MBUF_F_TX_TCP_CKSUM; > > mbuf->tso_segsz = dev->mtu - mbuf->l3_len - mbuf->l4_len; > > > > - if (mbuf->ol_flags & PKT_TX_IPV4) { > > - mbuf->ol_flags |= PKT_TX_IP_CKSUM; > > + if (mbuf->ol_flags & RTE_MBUF_F_TX_IPV4) { > > + mbuf->ol_flags |= RTE_MBUF_F_TX_IP_CKSUM; > > } > > } > > return true; > > @@ -2533,7 +2533,7 @@ netdev_dpdk_filter_packet_len(struct netdev_dpdk > > *dev, struct rte_mbuf **pkts, > > for (i = 0; i < pkt_cnt; i++) { > > pkt = pkts[i]; > > if (OVS_UNLIKELY((pkt->pkt_len > dev->max_packet_len) > > - && !(pkt->ol_flags & PKT_TX_TCP_SEG))) { > > + && !(pkt->ol_flags & RTE_MBUF_F_TX_TCP_SEG))) { > > VLOG_WARN_RL(&rl, "%s: Too big size %" PRIu32 " " > > "max_packet_len %d", dev->up.name, pkt->pkt_len, > > dev->max_packet_len); > > @@ -2755,12 +2755,12 @@ dpdk_copy_dp_packet_to_mbuf(struct > > rte_mempool *mp, struct dp_packet *pkt_orig) > > mbuf_dest->tx_offload = pkt_orig->mbuf.tx_offload; > > mbuf_dest->packet_type = pkt_orig->mbuf.packet_type; > > mbuf_dest->ol_flags |= (pkt_orig->mbuf.ol_flags & > > - ~(EXT_ATTACHED_MBUF | IND_ATTACHED_MBUF)); > > + ~(RTE_MBUF_F_EXTERNAL | RTE_MBUF_F_INDIRECT)); > > > > memcpy(&pkt_dest->l2_pad_size, &pkt_orig->l2_pad_size, > > sizeof(struct dp_packet) - offsetof(struct dp_packet, l2_pad_size)); > > > > - if (mbuf_dest->ol_flags & PKT_TX_L4_MASK) { > > + if (mbuf_dest->ol_flags & RTE_MBUF_F_TX_L4_MASK) { > > mbuf_dest->l2_len = (char *)dp_packet_l3(pkt_dest) > > - (char *)dp_packet_eth(pkt_dest); > > mbuf_dest->l3_len = (char *)dp_packet_l4(pkt_dest) > > @@ -2805,7 +2805,7 @@ dpdk_do_tx_copy(struct netdev *netdev, int qid, > > struct dp_packet_batch *batch) > > uint32_t size = dp_packet_size(packet); > > > > if (size > dev->max_packet_len > > - && !(packet->mbuf.ol_flags & PKT_TX_TCP_SEG)) { > > + && !(packet->mbuf.ol_flags & RTE_MBUF_F_TX_TCP_SEG)) { > > VLOG_WARN_RL(&rl, "Too big size %u max_packet_len %d", size, > > dev->max_packet_len); > > mtu_drops++; > > -- > > 2.23.0
On Tue, Nov 2, 2021 at 3:32 PM Stokes, Ian <ian.stokes@intel.com> wrote: > > > PKT_[RT]X_* and other mbuf macros have been prefixed with RTE_MBUF_ [1]. > > Update accordingly. > > > > 1: https://git.dpdk.org/dpdk/commit/?id=daa02b5cddbb > > > > Signed-off-by: David Marchand <david.marchand@redhat.com> > > HI David, thanks for the patches, I was just running these through github and spotted there was a failure in the build not sure if it's related to these patches or possibly a different patch that has been upstream to DPDK main and may require a follow on patch > > Error and build link below. > > ../../lib/ofp-packet.c: note: in included file (through /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h, ../../lib/netdev-dpdk.h, ../../lib/dp-packet.h): > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:92:37: error: invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:93:37: error: invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:94:40: error: invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:95:37: error: invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:96:40: error: invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:97:37: error: invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:98:37: error: invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:99:40: error: invalid bitfield specifier for type restricted ovs_be16. > /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_l2tpv2.h:100:39: error: invalid bitfield specifier for type restricted ovs_be16. The sparse issue was coming from a DPDK issue. The patch is in next-net and will be in -rc2. https://git.dpdk.org/next/dpdk-next-net/commit/?id=ea278f0a42849c4b60d13d2167d54562cf7e9852 FYI, there will be a new issue in 21.11-rc2, since a struct rename is about to get merge for vhost. https://patchwork.dpdk.org/project/dpdk/patch/20211102104748.57078-1-maxime.coquelin@redhat.com/ I can respin this series with additional fix.
diff --git a/lib/dp-packet.h b/lib/dp-packet.h index 3dc582fbfd..ee0805ae69 100644 --- a/lib/dp-packet.h +++ b/lib/dp-packet.h @@ -58,29 +58,31 @@ enum OVS_PACKED_ENUM dp_packet_source { enum dp_packet_offload_mask { /* Value 0 is not used. */ /* Is the 'rss_hash' valid? */ - DEF_OL_FLAG(DP_PACKET_OL_RSS_HASH, PKT_RX_RSS_HASH, 0x1), + DEF_OL_FLAG(DP_PACKET_OL_RSS_HASH, RTE_MBUF_F_RX_RSS_HASH, 0x1), /* Is the 'flow_mark' valid? */ - DEF_OL_FLAG(DP_PACKET_OL_FLOW_MARK, PKT_RX_FDIR_ID, 0x2), + DEF_OL_FLAG(DP_PACKET_OL_FLOW_MARK, RTE_MBUF_F_RX_FDIR_ID, 0x2), /* Bad L4 checksum in the packet. */ - DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_BAD, PKT_RX_L4_CKSUM_BAD, 0x4), + DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_BAD, RTE_MBUF_F_RX_L4_CKSUM_BAD, 0x4), /* Bad IP checksum in the packet. */ - DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_BAD, PKT_RX_IP_CKSUM_BAD, 0x8), + DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_BAD, RTE_MBUF_F_RX_IP_CKSUM_BAD, 0x8), /* Valid L4 checksum in the packet. */ - DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_GOOD, PKT_RX_L4_CKSUM_GOOD, 0x10), + DEF_OL_FLAG(DP_PACKET_OL_RX_L4_CKSUM_GOOD, RTE_MBUF_F_RX_L4_CKSUM_GOOD, + 0x10), /* Valid IP checksum in the packet. */ - DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_GOOD, PKT_RX_IP_CKSUM_GOOD, 0x20), + DEF_OL_FLAG(DP_PACKET_OL_RX_IP_CKSUM_GOOD, RTE_MBUF_F_RX_IP_CKSUM_GOOD, + 0x20), /* TCP Segmentation Offload. */ - DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_SEG, PKT_TX_TCP_SEG, 0x40), + DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_SEG, RTE_MBUF_F_TX_TCP_SEG, 0x40), /* Offloaded packet is IPv4. */ - DEF_OL_FLAG(DP_PACKET_OL_TX_IPV4, PKT_TX_IPV4, 0x80), + DEF_OL_FLAG(DP_PACKET_OL_TX_IPV4, RTE_MBUF_F_TX_IPV4, 0x80), /* Offloaded packet is IPv6. */ - DEF_OL_FLAG(DP_PACKET_OL_TX_IPV6, PKT_TX_IPV6, 0x100), + DEF_OL_FLAG(DP_PACKET_OL_TX_IPV6, RTE_MBUF_F_TX_IPV6, 0x100), /* Offload TCP checksum. */ - DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_CKSUM, PKT_TX_TCP_CKSUM, 0x200), + DEF_OL_FLAG(DP_PACKET_OL_TX_TCP_CKSUM, RTE_MBUF_F_TX_TCP_CKSUM, 0x200), /* Offload UDP checksum. */ - DEF_OL_FLAG(DP_PACKET_OL_TX_UDP_CKSUM, PKT_TX_UDP_CKSUM, 0x400), + DEF_OL_FLAG(DP_PACKET_OL_TX_UDP_CKSUM, RTE_MBUF_F_TX_UDP_CKSUM, 0x400), /* Offload SCTP checksum. */ - DEF_OL_FLAG(DP_PACKET_OL_TX_SCTP_CKSUM, PKT_TX_SCTP_CKSUM, 0x800), + DEF_OL_FLAG(DP_PACKET_OL_TX_SCTP_CKSUM, RTE_MBUF_F_TX_SCTP_CKSUM, 0x800), /* Adding new field requires adding to DP_PACKET_OL_SUPPORTED_MASK. */ }; diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 6d3fd6beda..db08aec440 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -2165,14 +2165,14 @@ netdev_dpdk_prep_hwol_packet(struct netdev_dpdk *dev, struct rte_mbuf *mbuf) { struct dp_packet *pkt = CONTAINER_OF(mbuf, struct dp_packet, mbuf); - if (mbuf->ol_flags & PKT_TX_L4_MASK) { + if (mbuf->ol_flags & RTE_MBUF_F_TX_L4_MASK) { mbuf->l2_len = (char *)dp_packet_l3(pkt) - (char *)dp_packet_eth(pkt); mbuf->l3_len = (char *)dp_packet_l4(pkt) - (char *)dp_packet_l3(pkt); mbuf->outer_l2_len = 0; mbuf->outer_l3_len = 0; } - if (mbuf->ol_flags & PKT_TX_TCP_SEG) { + if (mbuf->ol_flags & RTE_MBUF_F_TX_TCP_SEG) { struct tcp_header *th = dp_packet_l4(pkt); if (!th) { @@ -2182,11 +2182,11 @@ netdev_dpdk_prep_hwol_packet(struct netdev_dpdk *dev, struct rte_mbuf *mbuf) } mbuf->l4_len = TCP_OFFSET(th->tcp_ctl) * 4; - mbuf->ol_flags |= PKT_TX_TCP_CKSUM; + mbuf->ol_flags |= RTE_MBUF_F_TX_TCP_CKSUM; mbuf->tso_segsz = dev->mtu - mbuf->l3_len - mbuf->l4_len; - if (mbuf->ol_flags & PKT_TX_IPV4) { - mbuf->ol_flags |= PKT_TX_IP_CKSUM; + if (mbuf->ol_flags & RTE_MBUF_F_TX_IPV4) { + mbuf->ol_flags |= RTE_MBUF_F_TX_IP_CKSUM; } } return true; @@ -2533,7 +2533,7 @@ netdev_dpdk_filter_packet_len(struct netdev_dpdk *dev, struct rte_mbuf **pkts, for (i = 0; i < pkt_cnt; i++) { pkt = pkts[i]; if (OVS_UNLIKELY((pkt->pkt_len > dev->max_packet_len) - && !(pkt->ol_flags & PKT_TX_TCP_SEG))) { + && !(pkt->ol_flags & RTE_MBUF_F_TX_TCP_SEG))) { VLOG_WARN_RL(&rl, "%s: Too big size %" PRIu32 " " "max_packet_len %d", dev->up.name, pkt->pkt_len, dev->max_packet_len); @@ -2755,12 +2755,12 @@ dpdk_copy_dp_packet_to_mbuf(struct rte_mempool *mp, struct dp_packet *pkt_orig) mbuf_dest->tx_offload = pkt_orig->mbuf.tx_offload; mbuf_dest->packet_type = pkt_orig->mbuf.packet_type; mbuf_dest->ol_flags |= (pkt_orig->mbuf.ol_flags & - ~(EXT_ATTACHED_MBUF | IND_ATTACHED_MBUF)); + ~(RTE_MBUF_F_EXTERNAL | RTE_MBUF_F_INDIRECT)); memcpy(&pkt_dest->l2_pad_size, &pkt_orig->l2_pad_size, sizeof(struct dp_packet) - offsetof(struct dp_packet, l2_pad_size)); - if (mbuf_dest->ol_flags & PKT_TX_L4_MASK) { + if (mbuf_dest->ol_flags & RTE_MBUF_F_TX_L4_MASK) { mbuf_dest->l2_len = (char *)dp_packet_l3(pkt_dest) - (char *)dp_packet_eth(pkt_dest); mbuf_dest->l3_len = (char *)dp_packet_l4(pkt_dest) @@ -2805,7 +2805,7 @@ dpdk_do_tx_copy(struct netdev *netdev, int qid, struct dp_packet_batch *batch) uint32_t size = dp_packet_size(packet); if (size > dev->max_packet_len - && !(packet->mbuf.ol_flags & PKT_TX_TCP_SEG)) { + && !(packet->mbuf.ol_flags & RTE_MBUF_F_TX_TCP_SEG)) { VLOG_WARN_RL(&rl, "Too big size %u max_packet_len %d", size, dev->max_packet_len); mtu_drops++;
PKT_[RT]X_* and other mbuf macros have been prefixed with RTE_MBUF_ [1]. Update accordingly. 1: https://git.dpdk.org/dpdk/commit/?id=daa02b5cddbb Signed-off-by: David Marchand <david.marchand@redhat.com> --- lib/dp-packet.h | 26 ++++++++++++++------------ lib/netdev-dpdk.c | 18 +++++++++--------- 2 files changed, 23 insertions(+), 21 deletions(-)