[ovs-dev] [PATCH dpdk-latest 2/2] netdev-dpdk: Fix build with 21.11-rc1.

Stokes, Ian ian.stokes at intel.com
Tue Nov 2 14:31:55 UTC 2021


> 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 at 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



More information about the dev mailing list