DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] drivers/common: mark symbols as internal
@ 2020-09-02  9:59 David Marchand
  2020-09-02 10:10 ` [dpdk-dev] [EXT] " Anoob Joseph
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: David Marchand @ 2020-09-02  9:59 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, haiyue.wang, Anoob Joseph, Ray Kinsella,
	Neil Horman, Jingjing Wu, Beilei Xing, Liron Himi, Harman Kalra

Now that we have the internal tag, let's avoid confusion with exported
symbols in common drivers that were using the experimental tag as a
workaround.
There is also no need to put internal API symbols in the public stable
ABI.

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
Note: I noticed a patch from Haiyue for iavf.
I am fine with reposting per driver, but it seems worth a tree-wide
change from my pov.

---
 drivers/common/cpt/cpt_pmd_ops_helper.h             |  8 +++++---
 drivers/common/cpt/rte_common_cpt_version.map       | 13 +++----------
 drivers/common/iavf/iavf_prototype.h                |  8 ++++++++
 drivers/common/iavf/rte_common_iavf_version.map     |  2 +-
 drivers/common/mvep/rte_common_mvep_version.map     |  2 +-
 drivers/common/mvep/rte_mvep_common.h               |  3 +++
 drivers/common/octeontx/octeontx_mbox.h             |  5 +++++
 .../common/octeontx/rte_common_octeontx_version.map |  2 +-
 8 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/drivers/common/cpt/cpt_pmd_ops_helper.h b/drivers/common/cpt/cpt_pmd_ops_helper.h
index 716ae94c8e..413ca50edd 100644
--- a/drivers/common/cpt/cpt_pmd_ops_helper.h
+++ b/drivers/common/cpt/cpt_pmd_ops_helper.h
@@ -18,7 +18,7 @@
  * @return
  *   - length
  */
-
+__rte_internal
 int32_t
 cpt_pmd_ops_helper_get_mlen_direct_mode(void);
 
@@ -29,6 +29,7 @@ cpt_pmd_ops_helper_get_mlen_direct_mode(void);
  * @return
  *   - length
  */
+__rte_internal
 int
 cpt_pmd_ops_helper_get_mlen_sg_mode(void);
 
@@ -38,6 +39,7 @@ cpt_pmd_ops_helper_get_mlen_sg_mode(void);
  * @return
  *  - length
  */
+__rte_internal
 int
 cpt_pmd_ops_helper_asym_get_mlen(void);
 
@@ -50,13 +52,13 @@ cpt_pmd_ops_helper_asym_get_mlen(void);
  * @return
  *  - 0 on success, negative on error
  */
-__rte_experimental
+__rte_internal
 int cpt_fpm_init(uint64_t *fpm_table_iova);
 
 /*
  * Clear ECC FMUL precomputed table
  */
-__rte_experimental
+__rte_internal
 void cpt_fpm_clear(void);
 
 #endif /* _CPT_PMD_OPS_HELPER_H_ */
diff --git a/drivers/common/cpt/rte_common_cpt_version.map b/drivers/common/cpt/rte_common_cpt_version.map
index 4d85021a87..b4080e0f8c 100644
--- a/drivers/common/cpt/rte_common_cpt_version.map
+++ b/drivers/common/cpt/rte_common_cpt_version.map
@@ -1,18 +1,11 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
+	cpt_fpm_clear;
+	cpt_fpm_init;
 	cpt_pmd_ops_helper_asym_get_mlen;
 	cpt_pmd_ops_helper_get_mlen_direct_mode;
 	cpt_pmd_ops_helper_get_mlen_sg_mode;
 
 	local: *;
 };
-
-EXPERIMENTAL {
-	global:
-
-	cpt_fpm_clear;
-	cpt_fpm_init;
-
-	local: *;
-};
diff --git a/drivers/common/iavf/iavf_prototype.h b/drivers/common/iavf/iavf_prototype.h
index 31ce2af494..1b72127092 100644
--- a/drivers/common/iavf/iavf_prototype.h
+++ b/drivers/common/iavf/iavf_prototype.h
@@ -5,6 +5,8 @@
 #ifndef _IAVF_PROTOTYPE_H_
 #define _IAVF_PROTOTYPE_H_
 
+#include <rte_compat.h>
+
 #include "iavf_type.h"
 #include "iavf_alloc.h"
 #include "virtchnl.h"
@@ -17,7 +19,9 @@
  */
 
 /* adminq functions */
+__rte_internal
 enum iavf_status iavf_init_adminq(struct iavf_hw *hw);
+__rte_internal
 enum iavf_status iavf_shutdown_adminq(struct iavf_hw *hw);
 enum iavf_status iavf_init_asq(struct iavf_hw *hw);
 enum iavf_status iavf_init_arq(struct iavf_hw *hw);
@@ -30,6 +34,7 @@ void iavf_free_adminq_asq(struct iavf_hw *hw);
 void iavf_free_adminq_arq(struct iavf_hw *hw);
 enum iavf_status iavf_validate_mac_addr(u8 *mac_addr);
 void iavf_adminq_init_ring_data(struct iavf_hw *hw);
+__rte_internal
 enum iavf_status iavf_clean_arq_element(struct iavf_hw *hw,
 					struct iavf_arq_event_info *e,
 					u16 *events_pending);
@@ -61,6 +66,7 @@ enum iavf_status iavf_aq_set_rss_key(struct iavf_hw *hw,
 const char *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err aq_err);
 const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status stat_err);
 
+__rte_internal
 enum iavf_status iavf_set_mac_type(struct iavf_hw *hw);
 
 extern struct iavf_rx_ptype_decoded iavf_ptype_lookup[];
@@ -76,9 +82,11 @@ void iavf_acquire_spinlock(struct iavf_spinlock *sp);
 void iavf_release_spinlock(struct iavf_spinlock *sp);
 void iavf_destroy_spinlock(struct iavf_spinlock *sp);
 
+__rte_internal
 void iavf_vf_parse_hw_config(struct iavf_hw *hw,
 			     struct virtchnl_vf_resource *msg);
 enum iavf_status iavf_vf_reset(struct iavf_hw *hw);
+__rte_internal
 enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
 				enum virtchnl_ops v_opcode,
 				enum iavf_status v_retval,
diff --git a/drivers/common/iavf/rte_common_iavf_version.map b/drivers/common/iavf/rte_common_iavf_version.map
index 44142499e0..e0f117197c 100644
--- a/drivers/common/iavf/rte_common_iavf_version.map
+++ b/drivers/common/iavf/rte_common_iavf_version.map
@@ -1,4 +1,4 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
 	iavf_aq_send_msg_to_pf;
diff --git a/drivers/common/mvep/rte_common_mvep_version.map b/drivers/common/mvep/rte_common_mvep_version.map
index e5af82c61d..cbac7bfa8d 100644
--- a/drivers/common/mvep/rte_common_mvep_version.map
+++ b/drivers/common/mvep/rte_common_mvep_version.map
@@ -1,4 +1,4 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
 	rte_mvep_deinit;
diff --git a/drivers/common/mvep/rte_mvep_common.h b/drivers/common/mvep/rte_mvep_common.h
index 0593cefcd2..b10540316b 100644
--- a/drivers/common/mvep/rte_mvep_common.h
+++ b/drivers/common/mvep/rte_mvep_common.h
@@ -5,6 +5,7 @@
 #ifndef __RTE_MVEP_COMMON_H__
 #define __RTE_MVEP_COMMON_H__
 
+#include <rte_compat.h>
 #include <rte_kvargs.h>
 
 enum mvep_module_type {
@@ -15,7 +16,9 @@ enum mvep_module_type {
 	MVEP_MOD_T_LAST
 };
 
+__rte_internal
 int rte_mvep_init(enum mvep_module_type module, struct rte_kvargs *kvlist);
+__rte_internal
 int rte_mvep_deinit(enum mvep_module_type module);
 
 #endif /* __RTE_MVEP_COMMON_H__ */
diff --git a/drivers/common/octeontx/octeontx_mbox.h b/drivers/common/octeontx/octeontx_mbox.h
index e56719cb85..706b198f6e 100644
--- a/drivers/common/octeontx/octeontx_mbox.h
+++ b/drivers/common/octeontx/octeontx_mbox.h
@@ -35,11 +35,16 @@ struct octeontx_mbox_hdr {
 	uint8_t res_code; /* Functional layer response code */
 };
 
+__rte_internal
 int octeontx_mbox_init(void);
 void octeontx_set_global_domain(uint16_t global_domain);
+__rte_internal
 uint16_t octeontx_get_global_domain(void);
+__rte_internal
 int octeontx_mbox_set_ram_mbox_base(uint8_t *ram_mbox_base, uint16_t domain);
+__rte_internal
 int octeontx_mbox_set_reg(uint8_t *reg, uint16_t domain);
+__rte_internal
 int octeontx_mbox_send(struct octeontx_mbox_hdr *hdr,
 		void *txdata, uint16_t txlen, void *rxdata, uint16_t rxlen);
 
diff --git a/drivers/common/octeontx/rte_common_octeontx_version.map b/drivers/common/octeontx/rte_common_octeontx_version.map
index 30f3fa65e0..049f66b331 100644
--- a/drivers/common/octeontx/rte_common_octeontx_version.map
+++ b/drivers/common/octeontx/rte_common_octeontx_version.map
@@ -1,4 +1,4 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
 	octeontx_get_global_domain;
-- 
2.23.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [EXT] [PATCH] drivers/common: mark symbols as internal
  2020-09-02  9:59 [dpdk-dev] [PATCH] drivers/common: mark symbols as internal David Marchand
@ 2020-09-02 10:10 ` Anoob Joseph
  2020-09-02 14:34 ` [dpdk-dev] " Ferruh Yigit
  2020-10-01  7:55 ` [dpdk-dev] [PATCH v2] drivers/common: mark all " David Marchand
  2 siblings, 0 replies; 6+ messages in thread
From: Anoob Joseph @ 2020-09-02 10:10 UTC (permalink / raw)
  To: David Marchand, dev
  Cc: ferruh.yigit, haiyue.wang, Ray Kinsella, Neil Horman,
	Jingjing Wu, Beilei Xing, Liron Himi, Harman Kalra,
	Ankur Dwivedi

> ----------------------------------------------------------------------
> Now that we have the internal tag, let's avoid confusion with exported
> symbols in common drivers that were using the experimental tag as a
> workaround.
> There is also no need to put internal API symbols in the public stable ABI.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> Note: I noticed a patch from Haiyue for iavf.
> I am fine with reposting per driver, but it seems worth a tree-wide change
> from my pov.
> 
Acked-by: Anoob Joseph <anoobj@marvell.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/common: mark symbols as internal
  2020-09-02  9:59 [dpdk-dev] [PATCH] drivers/common: mark symbols as internal David Marchand
  2020-09-02 10:10 ` [dpdk-dev] [EXT] " Anoob Joseph
@ 2020-09-02 14:34 ` Ferruh Yigit
  2020-10-01  7:55 ` [dpdk-dev] [PATCH v2] drivers/common: mark all " David Marchand
  2 siblings, 0 replies; 6+ messages in thread
From: Ferruh Yigit @ 2020-09-02 14:34 UTC (permalink / raw)
  To: David Marchand, dev
  Cc: haiyue.wang, Anoob Joseph, Ray Kinsella, Neil Horman,
	Jingjing Wu, Beilei Xing, Liron Himi, Harman Kalra

On 9/2/2020 10:59 AM, David Marchand wrote:
> Now that we have the internal tag, let's avoid confusion with exported
> symbols in common drivers that were using the experimental tag as a
> workaround.
> There is also no need to put internal API symbols in the public stable
> ABI.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> Note: I noticed a patch from Haiyue for iavf.
> I am fine with reposting per driver, but it seems worth a tree-wide
> change from my pov.
> 
> ---
>  drivers/common/cpt/cpt_pmd_ops_helper.h             |  8 +++++---
>  drivers/common/cpt/rte_common_cpt_version.map       | 13 +++----------
>  drivers/common/iavf/iavf_prototype.h                |  8 ++++++++
>  drivers/common/iavf/rte_common_iavf_version.map     |  2 +-

iavf one sent as separate patch [1] and applied to next-net [2].


[1]
https://patches.dpdk.org/patch/75564/

[2]
https://git.dpdk.org/next/dpdk-next-net/commit/?h=main&id=f59221bda2ad1f7aa118dc41d6bac4bd3a3d4654

>  drivers/common/mvep/rte_common_mvep_version.map     |  2 +-
>  drivers/common/mvep/rte_mvep_common.h               |  3 +++
>  drivers/common/octeontx/octeontx_mbox.h             |  5 +++++
>  .../common/octeontx/rte_common_octeontx_version.map |  2 +-
>  8 files changed, 27 insertions(+), 16 deletions(-)

<...>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v2] drivers/common: mark all symbols as internal
  2020-09-02  9:59 [dpdk-dev] [PATCH] drivers/common: mark symbols as internal David Marchand
  2020-09-02 10:10 ` [dpdk-dev] [EXT] " Anoob Joseph
  2020-09-02 14:34 ` [dpdk-dev] " Ferruh Yigit
@ 2020-10-01  7:55 ` David Marchand
  2020-10-01  8:00   ` Kinsella, Ray
  2 siblings, 1 reply; 6+ messages in thread
From: David Marchand @ 2020-10-01  7:55 UTC (permalink / raw)
  To: dev; +Cc: Anoob Joseph, Ray Kinsella, Neil Horman, Liron Himi, Harman Kalra

Now that we have the internal tag, let's avoid confusion with exported
symbols in common drivers that were using the experimental tag as a
workaround.
There is also no need to put internal API symbols in the public stable
ABI.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
---
Changes since v1:
- rebased and dropped iavf bits,

---
 drivers/common/cpt/cpt_pmd_ops_helper.h             |  8 +++++---
 drivers/common/cpt/rte_common_cpt_version.map       | 13 +++----------
 drivers/common/mvep/rte_common_mvep_version.map     |  2 +-
 drivers/common/mvep/rte_mvep_common.h               |  3 +++
 drivers/common/octeontx/octeontx_mbox.h             |  5 +++++
 .../common/octeontx/rte_common_octeontx_version.map |  2 +-
 6 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/drivers/common/cpt/cpt_pmd_ops_helper.h b/drivers/common/cpt/cpt_pmd_ops_helper.h
index 716ae94c8e..413ca50edd 100644
--- a/drivers/common/cpt/cpt_pmd_ops_helper.h
+++ b/drivers/common/cpt/cpt_pmd_ops_helper.h
@@ -18,7 +18,7 @@
  * @return
  *   - length
  */
-
+__rte_internal
 int32_t
 cpt_pmd_ops_helper_get_mlen_direct_mode(void);
 
@@ -29,6 +29,7 @@ cpt_pmd_ops_helper_get_mlen_direct_mode(void);
  * @return
  *   - length
  */
+__rte_internal
 int
 cpt_pmd_ops_helper_get_mlen_sg_mode(void);
 
@@ -38,6 +39,7 @@ cpt_pmd_ops_helper_get_mlen_sg_mode(void);
  * @return
  *  - length
  */
+__rte_internal
 int
 cpt_pmd_ops_helper_asym_get_mlen(void);
 
@@ -50,13 +52,13 @@ cpt_pmd_ops_helper_asym_get_mlen(void);
  * @return
  *  - 0 on success, negative on error
  */
-__rte_experimental
+__rte_internal
 int cpt_fpm_init(uint64_t *fpm_table_iova);
 
 /*
  * Clear ECC FMUL precomputed table
  */
-__rte_experimental
+__rte_internal
 void cpt_fpm_clear(void);
 
 #endif /* _CPT_PMD_OPS_HELPER_H_ */
diff --git a/drivers/common/cpt/rte_common_cpt_version.map b/drivers/common/cpt/rte_common_cpt_version.map
index 4d85021a87..b4080e0f8c 100644
--- a/drivers/common/cpt/rte_common_cpt_version.map
+++ b/drivers/common/cpt/rte_common_cpt_version.map
@@ -1,18 +1,11 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
+	cpt_fpm_clear;
+	cpt_fpm_init;
 	cpt_pmd_ops_helper_asym_get_mlen;
 	cpt_pmd_ops_helper_get_mlen_direct_mode;
 	cpt_pmd_ops_helper_get_mlen_sg_mode;
 
 	local: *;
 };
-
-EXPERIMENTAL {
-	global:
-
-	cpt_fpm_clear;
-	cpt_fpm_init;
-
-	local: *;
-};
diff --git a/drivers/common/mvep/rte_common_mvep_version.map b/drivers/common/mvep/rte_common_mvep_version.map
index e5af82c61d..cbac7bfa8d 100644
--- a/drivers/common/mvep/rte_common_mvep_version.map
+++ b/drivers/common/mvep/rte_common_mvep_version.map
@@ -1,4 +1,4 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
 	rte_mvep_deinit;
diff --git a/drivers/common/mvep/rte_mvep_common.h b/drivers/common/mvep/rte_mvep_common.h
index 0593cefcd2..b10540316b 100644
--- a/drivers/common/mvep/rte_mvep_common.h
+++ b/drivers/common/mvep/rte_mvep_common.h
@@ -5,6 +5,7 @@
 #ifndef __RTE_MVEP_COMMON_H__
 #define __RTE_MVEP_COMMON_H__
 
+#include <rte_compat.h>
 #include <rte_kvargs.h>
 
 enum mvep_module_type {
@@ -15,7 +16,9 @@ enum mvep_module_type {
 	MVEP_MOD_T_LAST
 };
 
+__rte_internal
 int rte_mvep_init(enum mvep_module_type module, struct rte_kvargs *kvlist);
+__rte_internal
 int rte_mvep_deinit(enum mvep_module_type module);
 
 #endif /* __RTE_MVEP_COMMON_H__ */
diff --git a/drivers/common/octeontx/octeontx_mbox.h b/drivers/common/octeontx/octeontx_mbox.h
index e56719cb85..706b198f6e 100644
--- a/drivers/common/octeontx/octeontx_mbox.h
+++ b/drivers/common/octeontx/octeontx_mbox.h
@@ -35,11 +35,16 @@ struct octeontx_mbox_hdr {
 	uint8_t res_code; /* Functional layer response code */
 };
 
+__rte_internal
 int octeontx_mbox_init(void);
 void octeontx_set_global_domain(uint16_t global_domain);
+__rte_internal
 uint16_t octeontx_get_global_domain(void);
+__rte_internal
 int octeontx_mbox_set_ram_mbox_base(uint8_t *ram_mbox_base, uint16_t domain);
+__rte_internal
 int octeontx_mbox_set_reg(uint8_t *reg, uint16_t domain);
+__rte_internal
 int octeontx_mbox_send(struct octeontx_mbox_hdr *hdr,
 		void *txdata, uint16_t txlen, void *rxdata, uint16_t rxlen);
 
diff --git a/drivers/common/octeontx/rte_common_octeontx_version.map b/drivers/common/octeontx/rte_common_octeontx_version.map
index 30f3fa65e0..049f66b331 100644
--- a/drivers/common/octeontx/rte_common_octeontx_version.map
+++ b/drivers/common/octeontx/rte_common_octeontx_version.map
@@ -1,4 +1,4 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
 	octeontx_get_global_domain;
-- 
2.23.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH v2] drivers/common: mark all symbols as internal
  2020-10-01  7:55 ` [dpdk-dev] [PATCH v2] drivers/common: mark all " David Marchand
@ 2020-10-01  8:00   ` Kinsella, Ray
  2020-10-05 23:16     ` Thomas Monjalon
  0 siblings, 1 reply; 6+ messages in thread
From: Kinsella, Ray @ 2020-10-01  8:00 UTC (permalink / raw)
  To: David Marchand, dev; +Cc: Anoob Joseph, Neil Horman, Liron Himi, Harman Kalra



On 01/10/2020 08:55, David Marchand wrote:
> Now that we have the internal tag, let's avoid confusion with exported
> symbols in common drivers that were using the experimental tag as a
> workaround.
> There is also no need to put internal API symbols in the public stable
> ABI.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> Acked-by: Anoob Joseph <anoobj@marvell.com>
> ---
> Changes since v1:
> - rebased and dropped iavf bits,
> 
> ---
>  drivers/common/cpt/cpt_pmd_ops_helper.h             |  8 +++++---
>  drivers/common/cpt/rte_common_cpt_version.map       | 13 +++----------
>  drivers/common/mvep/rte_common_mvep_version.map     |  2 +-
>  drivers/common/mvep/rte_mvep_common.h               |  3 +++
>  drivers/common/octeontx/octeontx_mbox.h             |  5 +++++
>  .../common/octeontx/rte_common_octeontx_version.map |  2 +-
>  6 files changed, 18 insertions(+), 15 deletions(-)
> 
[SNIP]

Acked-by: Ray Kinsella <mdr@ashroe.eu>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH v2] drivers/common: mark all symbols as internal
  2020-10-01  8:00   ` Kinsella, Ray
@ 2020-10-05 23:16     ` Thomas Monjalon
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2020-10-05 23:16 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, Anoob Joseph, Neil Horman, Liron Himi, Harman Kalra, Kinsella, Ray

01/10/2020 10:00, Kinsella, Ray:
> On 01/10/2020 08:55, David Marchand wrote:
> > Now that we have the internal tag, let's avoid confusion with exported
> > symbols in common drivers that were using the experimental tag as a
> > workaround.
> > There is also no need to put internal API symbols in the public stable
> > ABI.
> > 
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > Acked-by: Anoob Joseph <anoobj@marvell.com>
> 
> Acked-by: Ray Kinsella <mdr@ashroe.eu>

Applied, thanks



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-10-05 23:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-02  9:59 [dpdk-dev] [PATCH] drivers/common: mark symbols as internal David Marchand
2020-09-02 10:10 ` [dpdk-dev] [EXT] " Anoob Joseph
2020-09-02 14:34 ` [dpdk-dev] " Ferruh Yigit
2020-10-01  7:55 ` [dpdk-dev] [PATCH v2] drivers/common: mark all " David Marchand
2020-10-01  8:00   ` Kinsella, Ray
2020-10-05 23:16     ` Thomas Monjalon

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git