test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH V1 0/4] *** move case from generic_filter to generic_flow_api ***
@ 2021-09-29 18:28 Yan Xia
  2021-09-29 18:28 ` [dts] [PATCH V1 1/4] test_plans/generic_filter_test_plan: move case from generic_filter to generic_flow_api Yan Xia
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Yan Xia @ 2021-09-29 18:28 UTC (permalink / raw)
  To: dts; +Cc: Yan Xia

*** move case from generic_filter to generic_flow_api ***

Yan Xia (4):
  test_plans/generic_filter_test_plan: move case from generic_filter to
    generic_flow_api
  test_plans/generic_flow_api_test_plan: move case from generic_filter
    to generic_flow_api
  tests/generic_filter: move case from generic_filter to
    generic_flow_api
  tests/generic_flow_api: move case from generic_filter to
    generic_flow_api

 test_plans/generic_filter_test_plan.rst   | 36 -----------
 test_plans/generic_flow_api_test_plan.rst | 37 +++++++++++
 tests/TestSuite_generic_filter.py         | 67 --------------------
 tests/TestSuite_generic_flow_api.py       | 75 +++++++++++++++++++++++
 4 files changed, 112 insertions(+), 103 deletions(-)

-- 
2.32.0


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

* [dts] [PATCH V1 1/4] test_plans/generic_filter_test_plan: move case from generic_filter to generic_flow_api
  2021-09-29 18:28 [dts] [PATCH V1 0/4] *** move case from generic_filter to generic_flow_api *** Yan Xia
@ 2021-09-29 18:28 ` Yan Xia
  2021-09-29 18:28 ` [dts] [PATCH V1 2/4] test_plans/generic_flow_api_test_plan: " Yan Xia
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Yan Xia @ 2021-09-29 18:28 UTC (permalink / raw)
  To: dts; +Cc: Yan Xia

move case from generic_filter to generic_flow_api

Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
 test_plans/generic_filter_test_plan.rst | 36 -------------------------
 1 file changed, 36 deletions(-)

diff --git a/test_plans/generic_filter_test_plan.rst b/test_plans/generic_filter_test_plan.rst
index 10043629..e35d0381 100644
--- a/test_plans/generic_filter_test_plan.rst
+++ b/test_plans/generic_filter_test_plan.rst
@@ -396,39 +396,3 @@ Configure the traffic generator to send udp packets and arp packets. Then
 Verify that the packet are not received on the queue 1 and queue 3::
 
     testpmd> quit
-
-Test Case 10: 128 queues
-========================
-
-This case is designed for NIC(niantic). Since NIC(niantic) has 128 transmit
-queues, it should be supports 128 kinds of filter if Hardware have enough
-cores.  
-DPDK enable 64 queues in ixgbe driver by default. Enlarge queue number to 128
-for 128 queues test::
-
-    sed -i -e 's/#define IXGBE_NONE_MODE_TX_NB_QUEUES 64$/#define IXGBE_NONE_MODE_TX_NB_QUEUES 128/' drivers/net/ixgbe/ixgbe_ethdev.h
-
-Launch the app ``testpmd`` with the following arguments::
-
-    ./testpmd -c fffff -n 4 -- -i --disable-rss --rxq=128 --txq=128 --nb-cores=16 --nb-ports=2 --total-num-mbufs=60000
-
-    testpmd>set stat_qmap rx 0 0 0
-    testpmd>set stat_qmap rx 0 64 1
-    testpmd>set stat_qmap rx 0 64 2
-    testpmd>vlan set strip off 0
-    testpmd>vlan set strip off 1
-    testpmd>vlan set filter off 0
-    testpmd>vlan set filter off 1
-
-Enable the 5-tuple Filters with different queues (64,127) on port 0 for
-niantic::
-
-    testpmd> 5tuple_filter 0 add dst_ip 2.2.2.5 src_ip 2.2.2.4 dst_port 1 src_port 1 protocol 0x06 mask 0x1f flags 0x0 priority 3 queue 64 index 1
-    testpmd> 5tuple_filter 0 add dst_ip 2.2.2.5 src_ip 2.2.2.4 dst_port 2 src_port 1 protocol 0x06 mask 0x1f flags 0x0 priority 3 queue 127 index 1
-
-Send packets(`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 1 `src_port` =
-1 `protocol` = tcp) and (`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 2
-`src_port` = 1 `protocol` = tcp ). Then reading the stats for port 0 after
-sending packets. packets are received on the queue 64 and queue 127 When
-setting 5-tuple Filter with queue(128), it will display failure because the
-number of queues no more than 128.
-- 
2.32.0


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

* [dts] [PATCH V1 2/4] test_plans/generic_flow_api_test_plan: move case from generic_filter to generic_flow_api
  2021-09-29 18:28 [dts] [PATCH V1 0/4] *** move case from generic_filter to generic_flow_api *** Yan Xia
  2021-09-29 18:28 ` [dts] [PATCH V1 1/4] test_plans/generic_filter_test_plan: move case from generic_filter to generic_flow_api Yan Xia
@ 2021-09-29 18:28 ` Yan Xia
  2021-09-29 18:28 ` [dts] [PATCH V1 3/4] tests/generic_filter: " Yan Xia
  2021-09-29 18:28 ` [dts] [PATCH V1 4/4] tests/generic_flow_api: " Yan Xia
  3 siblings, 0 replies; 7+ messages in thread
From: Yan Xia @ 2021-09-29 18:28 UTC (permalink / raw)
  To: dts; +Cc: Yan Xia

move case from generic_filter to generic_flow_api

Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
 test_plans/generic_flow_api_test_plan.rst | 37 +++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/test_plans/generic_flow_api_test_plan.rst b/test_plans/generic_flow_api_test_plan.rst
index 760f8e82..d3029430 100644
--- a/test_plans/generic_flow_api_test_plan.rst
+++ b/test_plans/generic_flow_api_test_plan.rst
@@ -2154,3 +2154,40 @@ Configure the traffic generator to send syn packets. Then Verify that
 the packet are not received on the queue 2::
 
     testpmd> stop
+
+Test Case: 128 queues
+========================
+
+This case is designed for NIC(niantic). Since NIC(niantic) has 128 transmit
+queues, it should be supports 128 kinds of filter if Hardware have enough
+cores.
+DPDK enable 64 queues in ixgbe driver by default. Enlarge queue number to 128
+for 128 queues test::
+
+    sed -i -e 's/#define IXGBE_NONE_MODE_TX_NB_QUEUES 64$/#define IXGBE_NONE_MODE_TX_NB_QUEUES 128/' drivers/net/ixgbe/ixgbe_ethdev.h
+
+Launch the app ``testpmd`` with the following arguments::
+
+    ./testpmd -l 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53 -n 4 -- -i --disable-rss --rxq=128 --txq=128 --portmask=0x3 --nb-cores=4      --total-num-mbufs=263168
+
+    testpmd>set stat_qmap rx 0 0 0
+    testpmd>set stat_qmap rx 1 0 0
+    testpmd>vlan set strip off 0
+    testpmd>vlan set strip off 1
+    testpmd>vlan set filter off 0
+    testpmd>vlan set filter off 1
+
+Create the 5-tuple Filters with different queues (64,127) on port 0 for
+niantic::
+
+    testpmd> set stat_qmap rx 0 64 1
+    testpmd> flow create 0 ingress pattern eth / ipv4 dst is 2.2.2.5 src is 2.2.2.4 / tcp dst is 1 src is 1 / end actions queue index 64 / end
+    testpmd> set stat_qmap rx 0 127 2
+    testpmd> flow create 0 ingress pattern eth / ipv4 dst is 2.2.2.5 src is 2.2.2.4 / tcp dst is 2 src is 1 / end actions queue index 127 / end
+
+Send packets(`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 1 `src_port` =
+1 `protocol` = tcp) and (`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 2
+`src_port` = 1 `protocol` = tcp ). Then reading the stats for port 0 after
+sending packets. packets are received on the queue 64 and queue 127 When
+setting 5-tuple Filter with queue(128), it will display failure because the
+number of queues no more than 128.
-- 
2.32.0


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

* [dts] [PATCH V1 3/4] tests/generic_filter: move case from generic_filter to generic_flow_api
  2021-09-29 18:28 [dts] [PATCH V1 0/4] *** move case from generic_filter to generic_flow_api *** Yan Xia
  2021-09-29 18:28 ` [dts] [PATCH V1 1/4] test_plans/generic_filter_test_plan: move case from generic_filter to generic_flow_api Yan Xia
  2021-09-29 18:28 ` [dts] [PATCH V1 2/4] test_plans/generic_flow_api_test_plan: " Yan Xia
@ 2021-09-29 18:28 ` Yan Xia
  2021-09-29 18:28 ` [dts] [PATCH V1 4/4] tests/generic_flow_api: " Yan Xia
  3 siblings, 0 replies; 7+ messages in thread
From: Yan Xia @ 2021-09-29 18:28 UTC (permalink / raw)
  To: dts; +Cc: Yan Xia

move case from generic_filter to generic_flow_api

Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
 tests/TestSuite_generic_filter.py | 67 -------------------------------
 1 file changed, 67 deletions(-)

diff --git a/tests/TestSuite_generic_filter.py b/tests/TestSuite_generic_filter.py
index 173e4f72..e789a928 100644
--- a/tests/TestSuite_generic_filter.py
+++ b/tests/TestSuite_generic_filter.py
@@ -549,73 +549,6 @@ class TestGeneric_filter(TestCase):
         else:
             self.verify(False, "%s nic not support this test" % self.nic)
 
-    def test_128_queues(self):
-        # testpmd can't support assign queue to received packet, so can't test
-        set_filter_flag = 1
-        packet_flag = 1
-        if self.kdriver == "ixgbe":
-            self.dut.send_expect("sed -i -e 's/#define IXGBE_NONE_MODE_TX_NB_QUEUES 64$/#define IXGBE_NONE_MODE_TX_NB_QUEUES 128/' drivers/net/ixgbe/ixgbe_ethdev.h", "# ",30)
-            self.dut.build_install_dpdk(self.target)
-            global valports
-            total_mbufs = self.request_mbufs(128) * len(valports)
-            self.pmdout.start_testpmd(
-                "all", "--disable-rss --rxq=128 --txq=128 --portmask=%s --nb-cores=4 --total-num-mbufs=%d" % (portMask, total_mbufs))
-            self.dut.send_expect(
-                "set stat_qmap rx %s 0 0" % valports[0], "testpmd> ")
-            self.dut.send_expect(
-                "set stat_qmap rx %s 0 0" % valports[1], "testpmd> ")
-            self.dut.send_expect(
-                "vlan set strip off %s" % valports[0], "testpmd> ")
-            self.dut.send_expect(
-                "vlan set strip off %s" % valports[1], "testpmd> ")
-            self.dut.send_expect(
-                "vlan set filter off %s" % valports[0], "testpmd> ")
-            self.dut.send_expect(
-                "vlan set filter off %s" % valports[1], "testpmd> ")
-            queue = ['64', '127', '128']
-
-            for i in [0, 1, 2]:
-                if i == 2:
-                    out = self.dut.send_expect(
-                        "set stat_qmap rx %s %s %s" % (valports[0], queue[i], (i + 1)), "testpmd> ")
-                    if 'Invalid RX queue %s' % (queue[i]) not in out:
-                        set_filter_flag = 0
-                        break
-                    cmd = "flow create {} ingress pattern eth / ".format(
-                        valports[0]) + "ipv4 dst is 2.2.2.5 src is 2.2.2.4 / tcp dst is {} src is 1 / ".format(
-                        i + 1) + "end actions queue index {} / end".format(queue[i])
-                    out = self.dut.send_expect(cmd, "testpmd> ")
-                    if 'Invalid argument' not in out:
-                        set_filter_flag = 0
-                        break
-                    continue
-                else:
-                    self.dut.send_expect("set stat_qmap rx %s %s %s" %
-                                         (valports[0], queue[i], (i + 1)), "testpmd> ")
-                    cmd = "flow create {} ingress pattern eth / ".format(
-                        valports[0]) + "ipv4 dst is 2.2.2.5 src is 2.2.2.4 / tcp dst is {} src is 1 / ".format(
-                        i + 1) + "end actions queue index {} / end".format(queue[i])
-                    self.dut.send_expect(cmd, "testpmd> ")
-                    self.dut.send_expect("start", "testpmd> ", 120)
-                global filters_index
-                filters_index = i
-                self.filter_send_packet("packet")
-                time.sleep(1)
-                out = self.dut.send_expect("stop", "testpmd> ")
-                p = re.compile(r"Forward Stats for RX Port= \d+/Queue=(\s?\d+)")
-                res = p.findall(out)
-                queues = [int(i) for i in res]
-                if queues[0] != int(queue[i]):
-                    packet_flag = 0
-                    break
-            self.dut.send_expect("quit", "#", timeout=30)
-            self.dut.send_expect("sed -i -e 's/#define IXGBE_NONE_MODE_TX_NB_QUEUES 128$/#define IXGBE_NONE_MODE_TX_NB_QUEUES 64/' drivers/net/ixgbe/ixgbe_ethdev.h", "# ",30)
-            self.dut.build_install_dpdk(self.target)
-            self.verify(set_filter_flag == 1, "set filters error")
-            self.verify(packet_flag == 1, "packet pass assert error")
-        else:
-            self.verify(False, "%s not support this test" % self.nic)
-
     def tear_down(self):
         """
         Run after each test case.
-- 
2.32.0


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

* [dts] [PATCH V1 4/4] tests/generic_flow_api: move case from generic_filter to generic_flow_api
  2021-09-29 18:28 [dts] [PATCH V1 0/4] *** move case from generic_filter to generic_flow_api *** Yan Xia
                   ` (2 preceding siblings ...)
  2021-09-29 18:28 ` [dts] [PATCH V1 3/4] tests/generic_filter: " Yan Xia
@ 2021-09-29 18:28 ` Yan Xia
  2021-09-30  2:09   ` Chen, LingliX
  3 siblings, 1 reply; 7+ messages in thread
From: Yan Xia @ 2021-09-29 18:28 UTC (permalink / raw)
  To: dts; +Cc: Yan Xia

move case from generic_filter to generic_flow_api

Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
 tests/TestSuite_generic_flow_api.py | 75 +++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/tests/TestSuite_generic_flow_api.py b/tests/TestSuite_generic_flow_api.py
index 32805e46..ee0ee6bb 100644
--- a/tests/TestSuite_generic_flow_api.py
+++ b/tests/TestSuite_generic_flow_api.py
@@ -154,6 +154,12 @@ class TestGeneric_flow_api(TestCase):
             time.sleep(2)
         self.vf_flag = 0
 
+    def request_mbufs(self, queue_num):
+        """
+        default txq/rxq descriptor is 64
+        """
+        return 1024 * queue_num + 512
+
     def verify_result(self, pf_vf, expect_rxpkts, expect_queue, verify_mac):
         """
         verify the packet to the expected queue or be dropped
@@ -2638,6 +2644,75 @@ class TestGeneric_flow_api(TestCase):
         self.tester.send_expect("ifconfig %s mtu %s" % (txItf, 1500), "# ")
         self.tester.send_expect("ifconfig %s mtu %s" % (rxItf, 1500), "# ")
 
+    def test_128_queues(self):
+
+        set_filter_flag = 1
+        packet_flag = 1
+        if self.kdriver == "ixgbe":
+            self.dut.send_expect("sed -i -e 's/#define IXGBE_NONE_MODE_TX_NB_QUEUES 64$/#define IXGBE_NONE_MODE_TX_NB_QUEUES 128/' drivers/net/ixgbe/ixgbe_ethdev.h", "# ",30)
+            self.dut.build_install_dpdk(self.target)
+            global valports
+            total_mbufs = self.request_mbufs(128) * len(valports)
+            self.pmdout.start_testpmd(
+                "all", "--disable-rss --rxq=128 --txq=128 --portmask=%s --nb-cores=4 --total-num-mbufs=%d" % (portMask, total_mbufs))
+            self.dut.send_expect(
+                "set stat_qmap rx %s 0 0" % valports[0], "testpmd> ")
+            self.dut.send_expect(
+                "set stat_qmap rx %s 0 0" % valports[1], "testpmd> ")
+            self.dut.send_expect(
+                "vlan set strip off %s" % valports[0], "testpmd> ")
+            self.dut.send_expect(
+                "vlan set strip off %s" % valports[1], "testpmd> ")
+            self.dut.send_expect(
+                "vlan set filter off %s" % valports[0], "testpmd> ")
+            self.dut.send_expect(
+                "vlan set filter off %s" % valports[1], "testpmd> ")
+            queue = ['64', '127', '128']
+            for i in [0, 1, 2]:
+                if i == 2:
+                    out = self.dut.send_expect(
+                        "set stat_qmap rx %s %s %s" % (valports[0], queue[i], (i + 1)), "testpmd> ")
+                    if 'Invalid RX queue %s' % (queue[i]) not in out:
+                        set_filter_flag = 0
+                        break
+                    cmd = "flow create {} ingress pattern eth / ".format(
+                        valports[0]) + "ipv4 dst is 2.2.2.5 src is 2.2.2.4 / tcp dst is {} src is 1 / ".format(
+                        i + 1) + "end actions queue index {} / end".format(queue[i])
+                    out = self.dut.send_expect(cmd, "testpmd> ")
+                    if 'Invalid argument' not in out:
+                        set_filter_flag = 0
+                        break
+                    continue
+                else:
+                    self.dut.send_expect("set stat_qmap rx %s %s %s" %
+                                         (valports[0], queue[i], (i + 1)), "testpmd> ")
+                    cmd = "flow create {} ingress pattern eth / ".format(
+                        valports[0]) + "ipv4 dst is 2.2.2.5 src is 2.2.2.4 / tcp dst is {} src is 1 / ".format(
+                        i + 1) + "end actions queue index {} / end".format(queue[i])
+                    self.dut.send_expect(cmd, "testpmd> ")
+                    self.dut.send_expect("start", "testpmd> ", 120)
+                global filters_index
+                filters_index = i
+                if (filters_index == 0):
+                    self.sendpkt(pktstr='Ether(dst="%s")/IP(src="2.2.2.4",dst="2.2.2.5")/TCP(sport=1,dport=1,flags=0)' % self.pf_mac)
+                if (filters_index == 1):
+                    self.sendpkt(pktstr='Ether(dst="%s")/Dot1Q(prio=3)/IP(src="2.2.2.4",dst="2.2.2.5")/TCP(sport=1,dport=2,flags=0)' % self.pf_mac)
+                time.sleep(1)
+                out = self.dut.send_expect("stop", "testpmd> ")
+                p = re.compile(r"Forward Stats for RX Port= \d+/Queue=(\s?\d+)")
+                res = p.findall(out)
+                queues = [int(i) for i in res]
+                if queues[0] != int(queue[i]):
+                    packet_flag = 0
+                    break
+            self.dut.send_expect("quit", "#", timeout=30)
+            self.dut.send_expect("sed -i -e 's/#define IXGBE_NONE_MODE_TX_NB_QUEUES 128$/#define IXGBE_NONE_MODE_TX_NB_QUEUES 64/' drivers/net/ixgbe/ixgbe_ethdev.h", "# ",30)
+            self.dut.build_install_dpdk(self.target)
+            self.verify(set_filter_flag == 1, "set filters error")
+            self.verify(packet_flag == 1, "packet pass assert error")
+        else:
+            self.verify(False, "%s not support this test" % self.nic)
+
     def tear_down(self):
         """
         Run after each test case.
-- 
2.32.0


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

* Re: [dts] [PATCH V1 4/4] tests/generic_flow_api: move case from generic_filter to generic_flow_api
  2021-09-29 18:28 ` [dts] [PATCH V1 4/4] tests/generic_flow_api: " Yan Xia
@ 2021-09-30  2:09   ` Chen, LingliX
  2021-10-22  9:26     ` Tu, Lijuan
  0 siblings, 1 reply; 7+ messages in thread
From: Chen, LingliX @ 2021-09-30  2:09 UTC (permalink / raw)
  To: dts

[-- Attachment #1: Type: text/plain, Size: 454 bytes --]


> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Yan Xia
> Sent: Thursday, September 30, 2021 2:29 AM
> To: dts@dpdk.org
> Cc: Xia, YanX <yanx.xia@intel.com>
> Subject: [dts] [PATCH V1 4/4] tests/generic_flow_api: move case from
> generic_filter to generic_flow_api
> 
> move case from generic_filter to generic_flow_api
> 
> Signed-off-by: Yan Xia <yanx.xia@intel.com>

Tested-by: Yan Xia <yanx.xia@intel.com>

[-- Attachment #2: TestGeneric_flow_api.log --]
[-- Type: application/octet-stream, Size: 575732 bytes --]

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

* Re: [dts] [PATCH V1 4/4] tests/generic_flow_api: move case from generic_filter to generic_flow_api
  2021-09-30  2:09   ` Chen, LingliX
@ 2021-10-22  9:26     ` Tu, Lijuan
  0 siblings, 0 replies; 7+ messages in thread
From: Tu, Lijuan @ 2021-10-22  9:26 UTC (permalink / raw)
  To: Chen, LingliX, dts


> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Chen, LingliX
> Sent: 2021年9月30日 10:09
> To: dts@dpdk.org
> Subject: Re: [dts] [PATCH V1 4/4] tests/generic_flow_api: move case from
> generic_filter to generic_flow_api
> 
> 
> > -----Original Message-----
> > From: dts <dts-bounces@dpdk.org> On Behalf Of Yan Xia
> > Sent: Thursday, September 30, 2021 2:29 AM
> > To: dts@dpdk.org
> > Cc: Xia, YanX <yanx.xia@intel.com>
> > Subject: [dts] [PATCH V1 4/4] tests/generic_flow_api: move case from
> > generic_filter to generic_flow_api
> >
> > move case from generic_filter to generic_flow_api
> >
> > Signed-off-by: Yan Xia <yanx.xia@intel.com>
> 
> Tested-by: Yan Xia <yanx.xia@intel.com>

Applied

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

end of thread, other threads:[~2021-10-22  9:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29 18:28 [dts] [PATCH V1 0/4] *** move case from generic_filter to generic_flow_api *** Yan Xia
2021-09-29 18:28 ` [dts] [PATCH V1 1/4] test_plans/generic_filter_test_plan: move case from generic_filter to generic_flow_api Yan Xia
2021-09-29 18:28 ` [dts] [PATCH V1 2/4] test_plans/generic_flow_api_test_plan: " Yan Xia
2021-09-29 18:28 ` [dts] [PATCH V1 3/4] tests/generic_filter: " Yan Xia
2021-09-29 18:28 ` [dts] [PATCH V1 4/4] tests/generic_flow_api: " Yan Xia
2021-09-30  2:09   ` Chen, LingliX
2021-10-22  9:26     ` Tu, Lijuan

test suite reviews and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/dts/0 dts/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 dts dts/ http://inbox.dpdk.org/dts \
		dts@dpdk.org
	public-inbox-index dts

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


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