test suite reviews and discussions
 help / color / mirror / Atom feed
From: Hongbo Li <hongbox.li@intel.com>
To: dts@dpdk.org
Cc: Hongbo Li <hongbox.li@intel.com>
Subject: [dts][PATCH V2 3/3] tests/*: enable ICE_25G-E823C_QSFP supported cases
Date: Fri, 30 Dec 2022 21:57:55 +0800	[thread overview]
Message-ID: <20221230135755.8650-3-hongbox.li@intel.com> (raw)
In-Reply-To: <20221230135755.8650-1-hongbox.li@intel.com>

add ICE_25G-E823C_QSFP supported cases

Signed-off-by: Hongbo Li <hongbox.li@intel.com>
---
 tests/TestSuite_ice_advanced_iavf_rss_gtpu.py  |  7 ++++++-
 tests/TestSuite_ice_dcf_acl_filter.py          |  7 ++++++-
 tests/TestSuite_ice_dcf_flow_priority.py       |  7 ++++++-
 tests/TestSuite_ice_dcf_switch_filter.py       |  7 ++++++-
 tests/TestSuite_ice_dcf_switch_filter_gtpu.py  |  7 ++++++-
 tests/TestSuite_ice_flow_priority.py           |  7 ++++++-
 tests/TestSuite_ice_iavf_rx_timestamp.py       |  3 ++-
 tests/TestSuite_ice_qinq.py                    |  7 ++++++-
 tests/TestSuite_ice_rss_configure.py           |  7 ++++++-
 tests/TestSuite_ice_rx_timestamp.py            |  3 ++-
 tests/TestSuite_ice_switch_filter.py           |  7 ++++++-
 tests/TestSuite_ice_switch_filter_pppoe.py     |  7 ++++++-
 tests/TestSuite_ipgre.py                       |  1 +
 tests/TestSuite_nvgre.py                       | 18 +++++++++++++++---
 tests/TestSuite_pmdrssreta.py                  |  1 +
 ...TestSuite_runtime_vf_queue_number_kernel.py |  1 +
 tests/TestSuite_uni_pkt.py                     |  1 +
 tests/TestSuite_userspace_ethtool.py           | 18 +++++++++++++++---
 tests/TestSuite_vf_rss.py                      |  1 +
 tests/TestSuite_vxlan.py                       | 18 +++++++++++++++---
 20 files changed, 114 insertions(+), 21 deletions(-)

diff --git a/tests/TestSuite_ice_advanced_iavf_rss_gtpu.py b/tests/TestSuite_ice_advanced_iavf_rss_gtpu.py
index 9577fbfe..5c8e57ec 100644
--- a/tests/TestSuite_ice_advanced_iavf_rss_gtpu.py
+++ b/tests/TestSuite_ice_advanced_iavf_rss_gtpu.py
@@ -8457,7 +8457,12 @@ mac_ipv6_gtpc_symmetric_toeplitz = [mac_ipv6_gtpc_symmetric]
 
 
 class TestICEAdvancedIAVFRSSGTPU(TestCase):
-    supported_nic = ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"]
+    supported_nic = [
+        "ICE_100G-E810C_QSFP",
+        "ICE_25G-E810C_SFP",
+        "ICE_25G-E810_XXV_SFP",
+        "ICE_25G-E823C_QSFP",
+    ]
 
     @check_supported_nic(supported_nic)
     @skip_unsupported_pkg("os default")
diff --git a/tests/TestSuite_ice_dcf_acl_filter.py b/tests/TestSuite_ice_dcf_acl_filter.py
index 3fb0b163..107358cc 100644
--- a/tests/TestSuite_ice_dcf_acl_filter.py
+++ b/tests/TestSuite_ice_dcf_acl_filter.py
@@ -878,7 +878,12 @@ class ICEDCFACLFilterTest(TestCase):
         """
         self.verify(
             self.nic
-            in ["ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP", "ICE_100G-E810C_QSFP"],
+            in [
+                "ICE_25G-E810C_SFP",
+                "ICE_25G-E810_XXV_SFP",
+                "ICE_100G-E810C_QSFP",
+                "ICE_25G-E823C_QSFP",
+            ],
             "nic is not Intel® Ethernet 800 Series",
         )
         self.dut_ports = self.dut.get_ports(self.nic)
diff --git a/tests/TestSuite_ice_dcf_flow_priority.py b/tests/TestSuite_ice_dcf_flow_priority.py
index d8ae2b4b..3984bb0f 100644
--- a/tests/TestSuite_ice_dcf_flow_priority.py
+++ b/tests/TestSuite_ice_dcf_flow_priority.py
@@ -1830,7 +1830,12 @@ tv_mac_vlan_pppoe_ipcp_pay = {
 
 
 class ICEDCFFlowPriorityTest(TestCase):
-    supported_nic = ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"]
+    supported_nic = [
+        "ICE_100G-E810C_QSFP",
+        "ICE_25G-E810C_SFP",
+        "ICE_25G-E810_XXV_SFP",
+        "ICE_25G-E823C_QSFP",
+    ]
     # enable dcf
     dcf_representor = True
 
diff --git a/tests/TestSuite_ice_dcf_switch_filter.py b/tests/TestSuite_ice_dcf_switch_filter.py
index 23f9800b..3560d065 100644
--- a/tests/TestSuite_ice_dcf_switch_filter.py
+++ b/tests/TestSuite_ice_dcf_switch_filter.py
@@ -2036,7 +2036,12 @@ sv_mac_test_drop_action = [
 
 
 class ICEDCFSwitchFilterTest(TestCase):
-    supported_nic = ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"]
+    supported_nic = [
+        "ICE_100G-E810C_QSFP",
+        "ICE_25G-E810C_SFP",
+        "ICE_25G-E810_XXV_SFP",
+        "ICE_25G-E823C_QSFP",
+    ]
 
     def bind_nics_driver(self, ports, driver=""):
         # modprobe vfio driver
diff --git a/tests/TestSuite_ice_dcf_switch_filter_gtpu.py b/tests/TestSuite_ice_dcf_switch_filter_gtpu.py
index 5e822ac3..75024010 100644
--- a/tests/TestSuite_ice_dcf_switch_filter_gtpu.py
+++ b/tests/TestSuite_ice_dcf_switch_filter_gtpu.py
@@ -3536,7 +3536,12 @@ sv_mac_ipv6_gtpu_ipv6_tcp = [sv_mac_ipv6_gtpu_ipv6_tcp_1, sv_mac_ipv6_gtpu_ipv6_
 
 
 class ICEDCFSwitchFilterGTPUTest(TestCase):
-    supported_nic = ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"]
+    supported_nic = [
+        "ICE_100G-E810C_QSFP",
+        "ICE_25G-E810C_SFP",
+        "ICE_25G-E810_XXV_SFP",
+        "ICE_25G-E823C_QSFP",
+    ]
 
     @check_supported_nic(supported_nic)
     @skip_unsupported_pkg(["os default", "wireless"])
diff --git a/tests/TestSuite_ice_flow_priority.py b/tests/TestSuite_ice_flow_priority.py
index 8f569ba3..c3fde9d2 100644
--- a/tests/TestSuite_ice_flow_priority.py
+++ b/tests/TestSuite_ice_flow_priority.py
@@ -393,7 +393,12 @@ tv_mac_vlan_pppoe_ipcp_pay = {
 
 
 class ICEPFFlowPriorityTest(TestCase):
-    supported_nic = ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"]
+    supported_nic = [
+        "ICE_100G-E810C_QSFP",
+        "ICE_25G-E810C_SFP",
+        "ICE_25G-E810_XXV_SFP",
+        "ICE_25G-E823C_QSFP",
+    ]
 
     @check_supported_nic(supported_nic)
     def set_up_all(self):
diff --git a/tests/TestSuite_ice_iavf_rx_timestamp.py b/tests/TestSuite_ice_iavf_rx_timestamp.py
index 56463215..dc61da6c 100644
--- a/tests/TestSuite_ice_iavf_rx_timestamp.py
+++ b/tests/TestSuite_ice_iavf_rx_timestamp.py
@@ -74,7 +74,8 @@ class IAVFTimestampConfigureTest(TestCase):
         Generic filter Prerequistites
         """
         self.verify(
-            self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"],
+            self.nic
+            in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP", "ICE_25G-E823C_QSFP"],
             "%s nic not support vf timestamp" % self.nic,
         )
         self.dut_ports = self.dut.get_ports(self.nic)
diff --git a/tests/TestSuite_ice_qinq.py b/tests/TestSuite_ice_qinq.py
index 345477bf..5f01dfef 100644
--- a/tests/TestSuite_ice_qinq.py
+++ b/tests/TestSuite_ice_qinq.py
@@ -405,7 +405,12 @@ tvs_mac_l4_qinq_dcf_pipeline_mode = [tv_mac_qinq_ipv6_udp, tv_mac_qinq_ipv6_tcp]
 
 class TestICEQinq(TestCase):
     @check_supported_nic(
-        ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP", "ICE_25G-E810_XXV_SFP"]
+        [
+            "ICE_25G-E810C_SFP",
+            "ICE_100G-E810C_QSFP",
+            "ICE_25G-E810_XXV_SFP",
+            "ICE_25G-E823C_QSFP",
+        ]
     )
     def set_up_all(self):
         """
diff --git a/tests/TestSuite_ice_rss_configure.py b/tests/TestSuite_ice_rss_configure.py
index c0f73c82..aa59f07a 100644
--- a/tests/TestSuite_ice_rss_configure.py
+++ b/tests/TestSuite_ice_rss_configure.py
@@ -301,7 +301,12 @@ class RSSConfigureTest(TestCase):
         self.pf_pci = self.dut.ports_info[self.dut_ports[0]]["pci"]
         self.verify(
             self.nic
-            in ["ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP", "ICE_100G-E810C_QSFP"],
+            in [
+                "ICE_25G-E810C_SFP",
+                "ICE_25G-E810_XXV_SFP",
+                "ICE_100G-E810C_QSFP",
+                "ICE_25G-E823C_QSFP",
+            ],
             "%s nic not support ethertype filter" % self.nic,
         )
         self.rsspro = RssProcessing(self, self.pmdout, [self.__tx_iface], rxq=16)
diff --git a/tests/TestSuite_ice_rx_timestamp.py b/tests/TestSuite_ice_rx_timestamp.py
index 9d86edb9..79809988 100644
--- a/tests/TestSuite_ice_rx_timestamp.py
+++ b/tests/TestSuite_ice_rx_timestamp.py
@@ -74,7 +74,8 @@ class TimestampConfigureTest(TestCase):
         Generic filter Prerequistites
         """
         self.verify(
-            self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"],
+            self.nic
+            in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP", "ICE_25G-E823C_QSFP"],
             "%s nic not support timestamp" % self.nic,
         )
         self.dut_ports = self.dut.get_ports(self.nic)
diff --git a/tests/TestSuite_ice_switch_filter.py b/tests/TestSuite_ice_switch_filter.py
index 8bc64f9b..6a5f2aff 100644
--- a/tests/TestSuite_ice_switch_filter.py
+++ b/tests/TestSuite_ice_switch_filter.py
@@ -4349,7 +4349,12 @@ class ICESwitchFilterTest(TestCase):
         """
         self.verify(
             self.nic
-            in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP", "ICE_25G-E810_XXV_SFP"],
+            in [
+                "ICE_25G-E810C_SFP",
+                "ICE_100G-E810C_QSFP",
+                "ICE_25G-E810_XXV_SFP",
+                "ICE_25G-E823C_QSFP",
+            ],
             "%s nic not support Intel® Ethernet 800 Series switch filter" % self.nic,
         )
         self.dut_ports = self.dut.get_ports(self.nic)
diff --git a/tests/TestSuite_ice_switch_filter_pppoe.py b/tests/TestSuite_ice_switch_filter_pppoe.py
index d2853969..7ddd1e9c 100644
--- a/tests/TestSuite_ice_switch_filter_pppoe.py
+++ b/tests/TestSuite_ice_switch_filter_pppoe.py
@@ -2918,7 +2918,12 @@ class ICESwitchFilterPPPOETest(TestCase):
         """
         self.verify(
             self.nic
-            in ["ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP", "ICE_100G-E810C_QSFP"],
+            in [
+                "ICE_25G-E810C_SFP",
+                "ICE_25G-E810_XXV_SFP",
+                "ICE_100G-E810C_QSFP",
+                "ICE_25G-E823C_QSFP",
+            ],
             "%s nic not support Intel® Ethernet 800 Series switch filter" % self.nic,
         )
         self.dut_ports = self.dut.get_ports(self.nic)
diff --git a/tests/TestSuite_ipgre.py b/tests/TestSuite_ipgre.py
index ecd8e19c..14c57812 100644
--- a/tests/TestSuite_ipgre.py
+++ b/tests/TestSuite_ipgre.py
@@ -45,6 +45,7 @@ class TestIpgre(TestCase):
                 "I40E_40G-QSFP_B",
                 "I40E_25G-25G_SFP28",
                 "I40E_10G-10G_BASE_T_BC",
+                "ICE_25G-E823C_QSFP",
                 "ICE_25G-E810C_SFP",
                 "ICE_100G-E810C_QSFP",
                 "cavium_a063",
diff --git a/tests/TestSuite_nvgre.py b/tests/TestSuite_nvgre.py
index 6005b4eb..46ea6bad 100644
--- a/tests/TestSuite_nvgre.py
+++ b/tests/TestSuite_nvgre.py
@@ -386,7 +386,11 @@ class TestNvgre(TestCase):
             self.compile_switch = "CONFIG_RTE_LIBRTE_I40E_INC_VECTOR"
         elif self.nic in ["IXGBE_10G-X550T", "IXGBE_10G-X550EM_X_10G_T"]:
             self.compile_switch = "CONFIG_RTE_IXGBE_INC_VECTOR"
-        elif self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+        elif self.nic in [
+            "ICE_25G-E810C_SFP",
+            "ICE_100G-E810C_QSFP",
+            "ICE_25G-E823C_QSFP",
+        ]:
             print("Intel® Ethernet 800 Series support default none VECTOR")
         else:
             self.verify(False, "%s not support NVGRE case" % self.nic)
@@ -723,7 +727,11 @@ class TestNvgre(TestCase):
         verify nvgre packet with ipv6
         """
         # packet type detect must used without VECTOR pmd
-        if self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+        if self.nic in [
+            "ICE_25G-E810C_SFP",
+            "ICE_100G-E810C_QSFP",
+            "ICE_25G-E823C_QSFP",
+        ]:
             print("Intel® Ethernet 800 Series support default none VECTOR")
             src_vec_model = "n"
 
@@ -815,7 +823,11 @@ class TestNvgre(TestCase):
         verify nvgre packet with ipv4
         """
         # packet type detect must used without VECTOR pmd
-        if self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+        if self.nic in [
+            "ICE_25G-E810C_SFP",
+            "ICE_100G-E810C_QSFP",
+            "ICE_25G-E823C_QSFP",
+        ]:
             print("Intel® Ethernet 800 Series support default none VECTOR")
             src_vec_model = "n"
 
diff --git a/tests/TestSuite_pmdrssreta.py b/tests/TestSuite_pmdrssreta.py
index d765ebf0..1fd20f7a 100644
--- a/tests/TestSuite_pmdrssreta.py
+++ b/tests/TestSuite_pmdrssreta.py
@@ -285,6 +285,7 @@ class TestPmdrssreta(TestCase):
     def test_rss_key_size(self):
         nic_rss_key_size = {
             "ICE_25G-E810C_SFP": 52,
+            "ICE_25G-E823C_QSFP": 52,
             "ICE_100G-E810C_QSFP": 52,
             "I40E_10G-SFP_XL710": 52,
             "I40E_40G-QSFP_A": 52,
diff --git a/tests/TestSuite_runtime_vf_queue_number_kernel.py b/tests/TestSuite_runtime_vf_queue_number_kernel.py
index 68639dfa..ea6800c1 100644
--- a/tests/TestSuite_runtime_vf_queue_number_kernel.py
+++ b/tests/TestSuite_runtime_vf_queue_number_kernel.py
@@ -36,6 +36,7 @@ class TestRuntimeVfQueueNumberKernel(TestCase):
                 "I40E_10G-10G_BASE_T_BC",
                 "ICE_100G-E810C_QSFP",
                 "ICE_25G-E810C_SFP",
+                "ICE_25G-E823C_QSFP",
             ],
             "Only supported by Intel® Ethernet 700 Series and Intel® Ethernet 800 Series",
         )
diff --git a/tests/TestSuite_uni_pkt.py b/tests/TestSuite_uni_pkt.py
index b7950830..e883b84d 100644
--- a/tests/TestSuite_uni_pkt.py
+++ b/tests/TestSuite_uni_pkt.py
@@ -278,6 +278,7 @@ class TestUniPacket(TestCase):
             self.nic
             in [
                 "ICE_25G-E810C_SFP",
+                "ICE_25G-E823C_QSFP",
                 "ICE_100G-E810C_QSFP",
                 "IXGBE_10G-82599_SFP",
                 "I40E_10G-SFP_XL710",
diff --git a/tests/TestSuite_userspace_ethtool.py b/tests/TestSuite_userspace_ethtool.py
index 9bef4587..d8db9073 100644
--- a/tests/TestSuite_userspace_ethtool.py
+++ b/tests/TestSuite_userspace_ethtool.py
@@ -579,7 +579,11 @@ class TestUserspaceEthtool(TestCase):
             mtu_threshold = 2026
             offset = 4
         # RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + ICE_VLAN_TAG_SIZE * 2
-        if self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+        if self.nic in [
+            "ICE_25G-E810C_SFP",
+            "ICE_100G-E810C_QSFP",
+            "ICE_25G-E823C_QSFP",
+        ]:
             offset = 8
         for index in range(len(self.ports)):
             port = self.ports[index]
@@ -590,7 +594,11 @@ class TestUserspaceEthtool(TestCase):
             self.tester.send_expect("ifconfig %s mtu 9000" % (intf), "# ")
             for mtu in mtus:
                 # Intel® Ethernet 800 Series should stop port before set mtu
-                if self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+                if self.nic in [
+                    "ICE_25G-E810C_SFP",
+                    "ICE_100G-E810C_QSFP",
+                    "ICE_25G-E823C_QSFP",
+                ]:
                     self.dut.send_expect("stop %s" % index, "EthApp>")
                 # The mtu threshold is 2022,When it is greater than 2022, the open/stop port is required.
                 if mtu > mtu_threshold:
@@ -606,7 +614,11 @@ class TestUserspaceEthtool(TestCase):
                     self.dut.send_expect("open %s" % index, "EthApp>")
                 self.dut.send_expect("mtu %d %d" % (index, mtu), "EthApp>")
 
-                if self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+                if self.nic in [
+                    "ICE_25G-E810C_SFP",
+                    "ICE_100G-E810C_QSFP",
+                    "ICE_25G-E823C_QSFP",
+                ]:
                     self.dut.send_expect("open %s" % index, "EthApp>")
 
                 self.tester.is_interface_up(intf)
diff --git a/tests/TestSuite_vf_rss.py b/tests/TestSuite_vf_rss.py
index 058d53db..a6772baf 100644
--- a/tests/TestSuite_vf_rss.py
+++ b/tests/TestSuite_vf_rss.py
@@ -268,6 +268,7 @@ class TestVfRss(TestCase):
                 "I40E_10G-SFP_X722",
                 "I40E_10G-10G_BASE_T_X722",
                 "I40E_10G-10G_BASE_T_BC",
+                "ICE_25G-E823C_QSFP",
                 "ICE_25G-E810C_SFP",
                 "ICE_100G-E810C_QSFP",
             ],
diff --git a/tests/TestSuite_vxlan.py b/tests/TestSuite_vxlan.py
index c69d7903..1bf12743 100644
--- a/tests/TestSuite_vxlan.py
+++ b/tests/TestSuite_vxlan.py
@@ -276,7 +276,11 @@ class TestVxlan(TestCase):
             self.compile_switch = "CONFIG_RTE_LIBRTE_I40E_INC_VECTOR"
         elif self.nic in ["IXGBE_10G-X550T", "IXGBE_10G-X550EM_X_10G_T"]:
             self.compile_switch = "CONFIG_RTE_IXGBE_INC_VECTOR"
-        elif self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+        elif self.nic in [
+            "ICE_25G-E810C_SFP",
+            "ICE_100G-E810C_QSFP",
+            "ICE_25G-E823C_QSFP",
+        ]:
             print("Intel® Ethernet 700 Series support default none VECTOR")
         else:
             self.verify(False, "%s not support this vxlan" % self.nic)
@@ -679,7 +683,11 @@ class TestVxlan(TestCase):
         """
         verify vxlan packet detection
         """
-        if self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+        if self.nic in [
+            "ICE_25G-E810C_SFP",
+            "ICE_100G-E810C_QSFP",
+            "ICE_25G-E823C_QSFP",
+        ]:
             print("Intel® Ethernet 700 Series support default none VECTOR")
             src_vec_model = "n"
         self.eal_para = self.dut.create_eal_parameters(
@@ -718,7 +726,11 @@ class TestVxlan(TestCase):
         """
         verify vxlan packet detection with ipv6 header
         """
-        if self.nic in ["ICE_25G-E810C_SFP", "ICE_100G-E810C_QSFP"]:
+        if self.nic in [
+            "ICE_25G-E810C_SFP",
+            "ICE_100G-E810C_QSFP",
+            "ICE_25G-E823C_QSFP",
+        ]:
             print("Intel® Ethernet 700 Series support default none VECTOR")
             src_vec_model = "n"
 
-- 
2.17.1


  parent reply	other threads:[~2022-12-30  5:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-30 13:57 [dts][PATCH V2 1/3] framework/settings: " Hongbo Li
2022-12-30 13:57 ` [dts][PATCH V2 2/3] conf/test_case*: " Hongbo Li
2022-12-30 13:57 ` Hongbo Li [this message]
2023-01-04  1:33   ` [dts][PATCH V2 3/3] tests/*: " lijuan.tu

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=20221230135755.8650-3-hongbox.li@intel.com \
    --to=hongbox.li@intel.com \
    --cc=dts@dpdk.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).