All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heinrich Kuhn <heinrich.kuhn@netronome.com>
To: dev@dpdk.org
Cc: Heinrich Kuhn <heinrich.kuhn@netronome.com>,
	Simon Horman <simon.horman@corigine.com>
Subject: [dpdk-dev] [PATCH v3 1/7] net/nfp: split rxtx headers into separate file
Date: Thu, 29 Jul 2021 15:47:05 +0200	[thread overview]
Message-ID: <20210729134711.35870-2-heinrich.kuhn@netronome.com> (raw)
In-Reply-To: <20210729134711.35870-1-heinrich.kuhn@netronome.com>

This change splits out the rx/tx specific structs and defines from the
main nfp_net_pmd header file and into their own header file.

Signed-off-by: Heinrich Kuhn <heinrich.kuhn@netronome.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
---
 drivers/net/nfp/nfp_net.c     |   1 +
 drivers/net/nfp/nfp_net_pmd.h | 248 ------------------------------
 drivers/net/nfp/nfp_rxtx.h    | 276 ++++++++++++++++++++++++++++++++++
 3 files changed, 277 insertions(+), 248 deletions(-)
 create mode 100644 drivers/net/nfp/nfp_rxtx.h

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index a30e78db16..29eb8c84ad 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -40,6 +40,7 @@
 #include "nfpcore/nfp_nsp.h"
 
 #include "nfp_net_pmd.h"
+#include "nfp_rxtx.h"
 #include "nfp_net_logs.h"
 #include "nfp_net_ctrl.h"
 
diff --git a/drivers/net/nfp/nfp_net_pmd.h b/drivers/net/nfp/nfp_net_pmd.h
index 212f9ef162..a3a3ba32d6 100644
--- a/drivers/net/nfp/nfp_net_pmd.h
+++ b/drivers/net/nfp/nfp_net_pmd.h
@@ -23,19 +23,6 @@
 /* Forward declaration */
 struct nfp_net_adapter;
 
-/*
- * The maximum number of descriptors is limited by design as
- * DPDK uses uint16_t variables for these values
- */
-#define NFP_NET_MAX_TX_DESC (32 * 1024)
-#define NFP_NET_MIN_TX_DESC 64
-
-#define NFP_NET_MAX_RX_DESC (32 * 1024)
-#define NFP_NET_MIN_RX_DESC 64
-
-/* Descriptor alignment */
-#define NFP_ALIGN_RING_DESC 128
-
 #define NFP_TX_MAX_SEG     UINT8_MAX
 #define NFP_TX_MAX_MTU_SEG 8
 
@@ -150,241 +137,6 @@ static inline void nn_writeq(uint64_t val, volatile void *addr)
 	nn_writel(val, addr);
 }
 
-/* TX descriptor format */
-#define PCIE_DESC_TX_EOP                (1 << 7)
-#define PCIE_DESC_TX_OFFSET_MASK        (0x7f)
-
-/* Flags in the host TX descriptor */
-#define PCIE_DESC_TX_CSUM               (1 << 7)
-#define PCIE_DESC_TX_IP4_CSUM           (1 << 6)
-#define PCIE_DESC_TX_TCP_CSUM           (1 << 5)
-#define PCIE_DESC_TX_UDP_CSUM           (1 << 4)
-#define PCIE_DESC_TX_VLAN               (1 << 3)
-#define PCIE_DESC_TX_LSO                (1 << 2)
-#define PCIE_DESC_TX_ENCAP_NONE         (0)
-#define PCIE_DESC_TX_ENCAP_VXLAN        (1 << 1)
-#define PCIE_DESC_TX_ENCAP_GRE          (1 << 0)
-
-struct nfp_net_tx_desc {
-	union {
-		struct {
-			uint8_t dma_addr_hi; /* High bits of host buf address */
-			__le16 dma_len;     /* Length to DMA for this desc */
-			uint8_t offset_eop; /* Offset in buf where pkt starts +
-					     * highest bit is eop flag.
-					     */
-			__le32 dma_addr_lo; /* Low 32bit of host buf addr */
-
-			__le16 mss;         /* MSS to be used for LSO */
-			uint8_t lso_hdrlen; /* LSO, where the data starts */
-			uint8_t flags;      /* TX Flags, see @PCIE_DESC_TX_* */
-
-			union {
-				struct {
-					/*
-					 * L3 and L4 header offsets required
-					 * for TSOv2
-					 */
-					uint8_t l3_offset;
-					uint8_t l4_offset;
-				};
-				__le16 vlan; /* VLAN tag to add if indicated */
-			};
-			__le16 data_len;    /* Length of frame + meta data */
-		} __rte_packed;
-		__le32 vals[4];
-	};
-};
-
-struct nfp_net_txq {
-	struct nfp_net_hw *hw; /* Backpointer to nfp_net structure */
-
-	/*
-	 * Queue information: @qidx is the queue index from Linux's
-	 * perspective.  @tx_qcidx is the index of the Queue
-	 * Controller Peripheral queue relative to the TX queue BAR.
-	 * @cnt is the size of the queue in number of
-	 * descriptors. @qcp_q is a pointer to the base of the queue
-	 * structure on the NFP
-	 */
-	uint8_t *qcp_q;
-
-	/*
-	 * Read and Write pointers.  @wr_p and @rd_p are host side pointer,
-	 * they are free running and have little relation to the QCP pointers *
-	 * @qcp_rd_p is a local copy queue controller peripheral read pointer
-	 */
-
-	uint32_t wr_p;
-	uint32_t rd_p;
-
-	uint32_t tx_count;
-
-	uint32_t tx_free_thresh;
-
-	/*
-	 * For each descriptor keep a reference to the mbuf and
-	 * DMA address used until completion is signalled.
-	 */
-	struct {
-		struct rte_mbuf *mbuf;
-	} *txbufs;
-
-	/*
-	 * Information about the host side queue location. @txds is
-	 * the virtual address for the queue, @dma is the DMA address
-	 * of the queue and @size is the size in bytes for the queue
-	 * (needed for free)
-	 */
-	struct nfp_net_tx_desc *txds;
-
-	/*
-	 * At this point 48 bytes have been used for all the fields in the
-	 * TX critical path. We have room for 8 bytes and still all placed
-	 * in a cache line. We are not using the threshold values below but
-	 * if we need to, we can add the most used in the remaining bytes.
-	 */
-	uint32_t tx_rs_thresh; /* not used by now. Future? */
-	uint32_t tx_pthresh;   /* not used by now. Future? */
-	uint32_t tx_hthresh;   /* not used by now. Future? */
-	uint32_t tx_wthresh;   /* not used by now. Future? */
-	uint16_t port_id;
-	int qidx;
-	int tx_qcidx;
-	__le64 dma;
-} __rte_aligned(64);
-
-/* RX and freelist descriptor format */
-#define PCIE_DESC_RX_DD                 (1 << 7)
-#define PCIE_DESC_RX_META_LEN_MASK      (0x7f)
-
-/* Flags in the RX descriptor */
-#define PCIE_DESC_RX_RSS                (1 << 15)
-#define PCIE_DESC_RX_I_IP4_CSUM         (1 << 14)
-#define PCIE_DESC_RX_I_IP4_CSUM_OK      (1 << 13)
-#define PCIE_DESC_RX_I_TCP_CSUM         (1 << 12)
-#define PCIE_DESC_RX_I_TCP_CSUM_OK      (1 << 11)
-#define PCIE_DESC_RX_I_UDP_CSUM         (1 << 10)
-#define PCIE_DESC_RX_I_UDP_CSUM_OK      (1 <<  9)
-#define PCIE_DESC_RX_SPARE              (1 <<  8)
-#define PCIE_DESC_RX_EOP                (1 <<  7)
-#define PCIE_DESC_RX_IP4_CSUM           (1 <<  6)
-#define PCIE_DESC_RX_IP4_CSUM_OK        (1 <<  5)
-#define PCIE_DESC_RX_TCP_CSUM           (1 <<  4)
-#define PCIE_DESC_RX_TCP_CSUM_OK        (1 <<  3)
-#define PCIE_DESC_RX_UDP_CSUM           (1 <<  2)
-#define PCIE_DESC_RX_UDP_CSUM_OK        (1 <<  1)
-#define PCIE_DESC_RX_VLAN               (1 <<  0)
-
-#define PCIE_DESC_RX_L4_CSUM_OK         (PCIE_DESC_RX_TCP_CSUM_OK | \
-					 PCIE_DESC_RX_UDP_CSUM_OK)
-struct nfp_net_rx_desc {
-	union {
-		/* Freelist descriptor */
-		struct {
-			uint8_t dma_addr_hi;
-			__le16 spare;
-			uint8_t dd;
-
-			__le32 dma_addr_lo;
-		} __rte_packed fld;
-
-		/* RX descriptor */
-		struct {
-			__le16 data_len;
-			uint8_t reserved;
-			uint8_t meta_len_dd;
-
-			__le16 flags;
-			__le16 vlan;
-		} __rte_packed rxd;
-
-		__le32 vals[2];
-	};
-};
-
-struct nfp_net_rx_buff {
-	struct rte_mbuf *mbuf;
-};
-
-struct nfp_net_rxq {
-	struct nfp_net_hw *hw;	/* Backpointer to nfp_net structure */
-
-	 /*
-	  * @qcp_fl and @qcp_rx are pointers to the base addresses of the
-	  * freelist and RX queue controller peripheral queue structures on the
-	  * NFP
-	  */
-	uint8_t *qcp_fl;
-	uint8_t *qcp_rx;
-
-	/*
-	 * Read and Write pointers.  @wr_p and @rd_p are host side
-	 * pointer, they are free running and have little relation to
-	 * the QCP pointers. @wr_p is where the driver adds new
-	 * freelist descriptors and @rd_p is where the driver start
-	 * reading descriptors for newly arrive packets from.
-	 */
-	uint32_t rd_p;
-
-	/*
-	 * For each buffer placed on the freelist, record the
-	 * associated SKB
-	 */
-	struct nfp_net_rx_buff *rxbufs;
-
-	/*
-	 * Information about the host side queue location.  @rxds is
-	 * the virtual address for the queue
-	 */
-	struct nfp_net_rx_desc *rxds;
-
-	/*
-	 * The mempool is created by the user specifying a mbuf size.
-	 * We save here the reference of the mempool needed in the RX
-	 * path and the mbuf size for checking received packets can be
-	 * safely copied to the mbuf using the NFP_NET_RX_OFFSET
-	 */
-	struct rte_mempool *mem_pool;
-	uint16_t mbuf_size;
-
-	/*
-	 * Next two fields are used for giving more free descriptors
-	 * to the NFP
-	 */
-	uint16_t rx_free_thresh;
-	uint16_t nb_rx_hold;
-
-	 /* the size of the queue in number of descriptors */
-	uint16_t rx_count;
-
-	/*
-	 * Fields above this point fit in a single cache line and are all used
-	 * in the RX critical path. Fields below this point are just used
-	 * during queue configuration or not used at all (yet)
-	 */
-
-	/* referencing dev->data->port_id */
-	uint16_t port_id;
-
-	uint8_t  crc_len; /* Not used by now */
-	uint8_t  drop_en; /* Not used by now */
-
-	/* DMA address of the queue */
-	__le64 dma;
-
-	/*
-	 * Queue information: @qidx is the queue index from Linux's
-	 * perspective.  @fl_qcidx is the index of the Queue
-	 * Controller peripheral queue relative to the RX queue BAR
-	 * used for the freelist and @rx_qcidx is the Queue Controller
-	 * Peripheral index for the RX queue.
-	 */
-	int qidx;
-	int fl_qcidx;
-	int rx_qcidx;
-} __rte_aligned(64);
-
 struct nfp_pf_dev {
 	/* Backpointer to associated pci device */
 	struct rte_pci_device *pci_dev;
diff --git a/drivers/net/nfp/nfp_rxtx.h b/drivers/net/nfp/nfp_rxtx.h
new file mode 100644
index 0000000000..41a3a4b4e7
--- /dev/null
+++ b/drivers/net/nfp/nfp_rxtx.h
@@ -0,0 +1,276 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright (c) 2014-2021 Netronome Systems, Inc.
+ * All rights reserved.
+ */
+
+/*
+ * vim:shiftwidth=8:noexpandtab
+ *
+ * @file dpdk/pmd/nfp_rxtx.h
+ *
+ * Netronome NFP Rx/Tx specific header file
+ */
+
+#ifndef _NFP_RXTX_H_
+#define _NFP_RXTX_H_
+
+#include <linux/types.h>
+#include <rte_io.h>
+
+/*
+ * The maximum number of descriptors is limited by design as
+ * DPDK uses uint16_t variables for these values
+ */
+#define NFP_NET_MAX_TX_DESC (32 * 1024)
+#define NFP_NET_MIN_TX_DESC 64
+
+#define NFP_NET_MAX_RX_DESC (32 * 1024)
+#define NFP_NET_MIN_RX_DESC 64
+
+/* Descriptor alignment */
+#define NFP_ALIGN_RING_DESC 128
+
+/* TX descriptor format */
+#define PCIE_DESC_TX_EOP                (1 << 7)
+#define PCIE_DESC_TX_OFFSET_MASK        (0x7f)
+
+/* Flags in the host TX descriptor */
+#define PCIE_DESC_TX_CSUM               (1 << 7)
+#define PCIE_DESC_TX_IP4_CSUM           (1 << 6)
+#define PCIE_DESC_TX_TCP_CSUM           (1 << 5)
+#define PCIE_DESC_TX_UDP_CSUM           (1 << 4)
+#define PCIE_DESC_TX_VLAN               (1 << 3)
+#define PCIE_DESC_TX_LSO                (1 << 2)
+#define PCIE_DESC_TX_ENCAP_NONE         (0)
+#define PCIE_DESC_TX_ENCAP_VXLAN        (1 << 1)
+#define PCIE_DESC_TX_ENCAP_GRE          (1 << 0)
+
+struct nfp_net_tx_desc {
+	union {
+		struct {
+			uint8_t dma_addr_hi; /* High bits of host buf address */
+			__le16 dma_len;     /* Length to DMA for this desc */
+			uint8_t offset_eop; /* Offset in buf where pkt starts +
+					     * highest bit is eop flag.
+					     */
+			__le32 dma_addr_lo; /* Low 32bit of host buf addr */
+
+			__le16 mss;         /* MSS to be used for LSO */
+			uint8_t lso_hdrlen; /* LSO, where the data starts */
+			uint8_t flags;      /* TX Flags, see @PCIE_DESC_TX_* */
+
+			union {
+				struct {
+					/*
+					 * L3 and L4 header offsets required
+					 * for TSOv2
+					 */
+					uint8_t l3_offset;
+					uint8_t l4_offset;
+				};
+				__le16 vlan; /* VLAN tag to add if indicated */
+			};
+			__le16 data_len;    /* Length of frame + meta data */
+		} __rte_packed;
+		__le32 vals[4];
+	};
+};
+
+struct nfp_net_txq {
+	struct nfp_net_hw *hw; /* Backpointer to nfp_net structure */
+
+	/*
+	 * Queue information: @qidx is the queue index from Linux's
+	 * perspective.  @tx_qcidx is the index of the Queue
+	 * Controller Peripheral queue relative to the TX queue BAR.
+	 * @cnt is the size of the queue in number of
+	 * descriptors. @qcp_q is a pointer to the base of the queue
+	 * structure on the NFP
+	 */
+	uint8_t *qcp_q;
+
+	/*
+	 * Read and Write pointers.  @wr_p and @rd_p are host side pointer,
+	 * they are free running and have little relation to the QCP pointers *
+	 * @qcp_rd_p is a local copy queue controller peripheral read pointer
+	 */
+
+	uint32_t wr_p;
+	uint32_t rd_p;
+
+	uint32_t tx_count;
+
+	uint32_t tx_free_thresh;
+
+	/*
+	 * For each descriptor keep a reference to the mbuf and
+	 * DMA address used until completion is signalled.
+	 */
+	struct {
+		struct rte_mbuf *mbuf;
+	} *txbufs;
+
+	/*
+	 * Information about the host side queue location. @txds is
+	 * the virtual address for the queue, @dma is the DMA address
+	 * of the queue and @size is the size in bytes for the queue
+	 * (needed for free)
+	 */
+	struct nfp_net_tx_desc *txds;
+
+	/*
+	 * At this point 48 bytes have been used for all the fields in the
+	 * TX critical path. We have room for 8 bytes and still all placed
+	 * in a cache line. We are not using the threshold values below but
+	 * if we need to, we can add the most used in the remaining bytes.
+	 */
+	uint32_t tx_rs_thresh; /* not used by now. Future? */
+	uint32_t tx_pthresh;   /* not used by now. Future? */
+	uint32_t tx_hthresh;   /* not used by now. Future? */
+	uint32_t tx_wthresh;   /* not used by now. Future? */
+	uint16_t port_id;
+	int qidx;
+	int tx_qcidx;
+	__le64 dma;
+} __rte_aligned(64);
+
+/* RX and freelist descriptor format */
+#define PCIE_DESC_RX_DD                 (1 << 7)
+#define PCIE_DESC_RX_META_LEN_MASK      (0x7f)
+
+/* Flags in the RX descriptor */
+#define PCIE_DESC_RX_RSS                (1 << 15)
+#define PCIE_DESC_RX_I_IP4_CSUM         (1 << 14)
+#define PCIE_DESC_RX_I_IP4_CSUM_OK      (1 << 13)
+#define PCIE_DESC_RX_I_TCP_CSUM         (1 << 12)
+#define PCIE_DESC_RX_I_TCP_CSUM_OK      (1 << 11)
+#define PCIE_DESC_RX_I_UDP_CSUM         (1 << 10)
+#define PCIE_DESC_RX_I_UDP_CSUM_OK      (1 <<  9)
+#define PCIE_DESC_RX_SPARE              (1 <<  8)
+#define PCIE_DESC_RX_EOP                (1 <<  7)
+#define PCIE_DESC_RX_IP4_CSUM           (1 <<  6)
+#define PCIE_DESC_RX_IP4_CSUM_OK        (1 <<  5)
+#define PCIE_DESC_RX_TCP_CSUM           (1 <<  4)
+#define PCIE_DESC_RX_TCP_CSUM_OK        (1 <<  3)
+#define PCIE_DESC_RX_UDP_CSUM           (1 <<  2)
+#define PCIE_DESC_RX_UDP_CSUM_OK        (1 <<  1)
+#define PCIE_DESC_RX_VLAN               (1 <<  0)
+
+#define PCIE_DESC_RX_L4_CSUM_OK         (PCIE_DESC_RX_TCP_CSUM_OK | \
+					 PCIE_DESC_RX_UDP_CSUM_OK)
+
+struct nfp_net_rx_desc {
+	union {
+		/* Freelist descriptor */
+		struct {
+			uint8_t dma_addr_hi;
+			__le16 spare;
+			uint8_t dd;
+
+			__le32 dma_addr_lo;
+		} __rte_packed fld;
+
+		/* RX descriptor */
+		struct {
+			__le16 data_len;
+			uint8_t reserved;
+			uint8_t meta_len_dd;
+
+			__le16 flags;
+			__le16 vlan;
+		} __rte_packed rxd;
+
+		__le32 vals[2];
+	};
+};
+
+struct nfp_net_rx_buff {
+	struct rte_mbuf *mbuf;
+};
+
+struct nfp_net_rxq {
+	struct nfp_net_hw *hw;	/* Backpointer to nfp_net structure */
+
+	 /*
+	  * @qcp_fl and @qcp_rx are pointers to the base addresses of the
+	  * freelist and RX queue controller peripheral queue structures on the
+	  * NFP
+	  */
+	uint8_t *qcp_fl;
+	uint8_t *qcp_rx;
+
+	/*
+	 * Read and Write pointers.  @wr_p and @rd_p are host side
+	 * pointer, they are free running and have little relation to
+	 * the QCP pointers. @wr_p is where the driver adds new
+	 * freelist descriptors and @rd_p is where the driver start
+	 * reading descriptors for newly arrive packets from.
+	 */
+	uint32_t rd_p;
+
+	/*
+	 * For each buffer placed on the freelist, record the
+	 * associated SKB
+	 */
+	struct nfp_net_rx_buff *rxbufs;
+
+	/*
+	 * Information about the host side queue location.  @rxds is
+	 * the virtual address for the queue
+	 */
+	struct nfp_net_rx_desc *rxds;
+
+	/*
+	 * The mempool is created by the user specifying a mbuf size.
+	 * We save here the reference of the mempool needed in the RX
+	 * path and the mbuf size for checking received packets can be
+	 * safely copied to the mbuf using the NFP_NET_RX_OFFSET
+	 */
+	struct rte_mempool *mem_pool;
+	uint16_t mbuf_size;
+
+	/*
+	 * Next two fields are used for giving more free descriptors
+	 * to the NFP
+	 */
+	uint16_t rx_free_thresh;
+	uint16_t nb_rx_hold;
+
+	 /* the size of the queue in number of descriptors */
+	uint16_t rx_count;
+
+	/*
+	 * Fields above this point fit in a single cache line and are all used
+	 * in the RX critical path. Fields below this point are just used
+	 * during queue configuration or not used at all (yet)
+	 */
+
+	/* referencing dev->data->port_id */
+	uint16_t port_id;
+
+	uint8_t  crc_len; /* Not used by now */
+	uint8_t  drop_en; /* Not used by now */
+
+	/* DMA address of the queue */
+	__le64 dma;
+
+	/*
+	 * Queue information: @qidx is the queue index from Linux's
+	 * perspective.  @fl_qcidx is the index of the Queue
+	 * Controller peripheral queue relative to the RX queue BAR
+	 * used for the freelist and @rx_qcidx is the Queue Controller
+	 * Peripheral index for the RX queue.
+	 */
+	int qidx;
+	int fl_qcidx;
+	int rx_qcidx;
+} __rte_aligned(64);
+
+#endif /* _NFP_RXTX_H_ */
+/*
+ * Local variables:
+ * c-file-style: "Linux"
+ * indent-tabs-mode: t
+ * End:
+ */
+
-- 
2.30.1 (Apple Git-130)


  reply	other threads:[~2021-07-29 13:47 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-16  8:23 [dpdk-dev] [PATCH 0/7] Refactor the NFP PMD Heinrich Kuhn
2021-07-16  8:23 ` [dpdk-dev] [PATCH 1/7] net/nfp: split rxtx headers into separate file Heinrich Kuhn
2021-07-16  8:23 ` [dpdk-dev] [PATCH 2/7] net/nfp: move rxtx functions to their own file Heinrich Kuhn
2021-07-16  8:23 ` [dpdk-dev] [PATCH 3/7] net/nfp: move CPP bridge to a separate file Heinrich Kuhn
2021-07-16  8:23 ` [dpdk-dev] [PATCH 4/7] net/nfp: prototype common functions in header file Heinrich Kuhn
2021-07-16  8:23 ` [dpdk-dev] [PATCH 5/7] net/nfp: move VF functions into new file Heinrich Kuhn
2021-07-16  8:23 ` [dpdk-dev] [PATCH 6/7] net/nfp: move PF " Heinrich Kuhn
2021-07-16  8:23 ` [dpdk-dev] [PATCH 7/7] net/nfp: batch file rename for consistency Heinrich Kuhn
2021-07-16  8:35 ` [dpdk-dev] [PATCH v2 0/7] Refactor the NFP PMD Heinrich Kuhn
2021-07-16  8:35   ` [dpdk-dev] [PATCH v2 1/7] net/nfp: split rxtx headers into separate file Heinrich Kuhn
2021-07-16  8:35   ` [dpdk-dev] [PATCH v2 2/7] net/nfp: move rxtx functions to their own file Heinrich Kuhn
2021-07-16  8:35   ` [dpdk-dev] [PATCH v2 3/7] net/nfp: move CPP bridge to a separate file Heinrich Kuhn
2021-07-16  8:35   ` [dpdk-dev] [PATCH v2 4/7] net/nfp: prototype common functions in header file Heinrich Kuhn
2021-07-16  8:35   ` [dpdk-dev] [PATCH v2 5/7] net/nfp: move VF functions into new file Heinrich Kuhn
2021-07-16  8:35   ` [dpdk-dev] [PATCH v2 6/7] net/nfp: move PF " Heinrich Kuhn
2021-07-16  8:35   ` [dpdk-dev] [PATCH v2 7/7] net/nfp: batch file rename for consistency Heinrich Kuhn
2021-07-23  9:18   ` [dpdk-dev] [PATCH v2 0/7] Refactor the NFP PMD Thomas Monjalon
2021-07-29 13:48     ` Heinrich Kuhn
2021-07-29 13:47   ` [dpdk-dev] [PATCH v3 " Heinrich Kuhn
2021-07-29 13:47     ` Heinrich Kuhn [this message]
2021-07-29 13:47     ` [dpdk-dev] [PATCH v3 2/7] net/nfp: move rxtx functions to their own file Heinrich Kuhn
2021-07-29 13:47     ` [dpdk-dev] [PATCH v3 3/7] net/nfp: move CPP bridge to a separate file Heinrich Kuhn
2021-07-29 13:47     ` [dpdk-dev] [PATCH v3 4/7] net/nfp: prototype common functions in header file Heinrich Kuhn
2021-08-17 14:44       ` Ferruh Yigit
2021-08-17 16:29         ` Ferruh Yigit
2021-07-29 13:47     ` [dpdk-dev] [PATCH v3 5/7] net/nfp: move VF functions into new file Heinrich Kuhn
2021-07-29 13:47     ` [dpdk-dev] [PATCH v3 6/7] net/nfp: move PF " Heinrich Kuhn
2021-07-29 13:47     ` [dpdk-dev] [PATCH v3 7/7] net/nfp: batch file rename for consistency Heinrich Kuhn
2021-08-13 12:46     ` [dpdk-dev] [PATCH v3 0/7] Refactor the NFP PMD Heinrich Kuhn
2021-08-13 14:47       ` Ferruh Yigit
2021-08-17 16:29     ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210729134711.35870-2-heinrich.kuhn@netronome.com \
    --to=heinrich.kuhn@netronome.com \
    --cc=dev@dpdk.org \
    --cc=simon.horman@corigine.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.