!587 sync some patches from upstream about bugfix
From: @chenyi211 Reviewed-by: @li-huisong Signed-off-by: @li-huisong
This commit is contained in:
commit
8b1da3c048
36
0420-app-testpmd-fix-RSS-algorithm-choice.patch
Normal file
36
0420-app-testpmd-fix-RSS-algorithm-choice.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From 280a37ad83ef1af5f4f0cf7c486dbb5f87562ca2 Mon Sep 17 00:00:00 2001
|
||||
From: Jie Hai <haijie1@huawei.com>
|
||||
Date: Fri, 15 Mar 2024 11:00:53 +0800
|
||||
Subject: [PATCH 419/431] app/testpmd: fix RSS algorithm choice
|
||||
|
||||
[ upstream commit 74345424a92f14acc608b36b09cb27b84e3a35aa ]
|
||||
|
||||
The RSS algorithm from user is parsed but not passed to the
|
||||
rte_eth_dev_rss_hash_update() API as we wanted, this patch
|
||||
fixes it.
|
||||
|
||||
Fixes: 3da59f30a23f ("app/testpmd: set RSS hash algorithm")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
app/test-pmd/cmdline.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
|
||||
index ae0b47de72..5e77cb2e79 100644
|
||||
--- a/app/test-pmd/cmdline.c
|
||||
+++ b/app/test-pmd/cmdline.c
|
||||
@@ -2449,6 +2449,7 @@ cmd_config_rss_hash_algo_parsed(void *parsed_result,
|
||||
return;
|
||||
}
|
||||
|
||||
+ rss_conf.algorithm = algorithm;
|
||||
ret = rte_eth_dev_rss_hash_update(res->port_id, &rss_conf);
|
||||
if (ret != 0) {
|
||||
fprintf(stderr, "failed to set port %u RSS hash algorithm\n",
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -0,0 +1,94 @@
|
||||
From 50d329b06bc5bb936b25970dae87549f0a90c21f Mon Sep 17 00:00:00 2001
|
||||
From: Jie Hai <haijie1@huawei.com>
|
||||
Date: Wed, 3 Apr 2024 18:16:23 +0800
|
||||
Subject: [PATCH 420/431] net/hns3: disable SCTP verification tag for RSS hash
|
||||
input
|
||||
|
||||
[ upstream commit 47d5fa9a91989c4671ecb8c3a7e767572846570c ]
|
||||
|
||||
When the symmetric RSS algorithm is used, the same packet is
|
||||
expected to be hashed to the same queue in the upstream and
|
||||
downstream directions.
|
||||
|
||||
The problem is that it could map the packets in the same SCTP
|
||||
connection to different NIC RX queues depending on the direction
|
||||
of packets. This is because the verification Tag is used as the
|
||||
RSS hash input for the SCTP packets, and the value depends on the
|
||||
peer end of the SCTP connection and could not be symmetrically
|
||||
used in the hardware-implemented RSS algorithm.
|
||||
|
||||
In addition, the ethdev framework doesn't support setting SCTP
|
||||
V-tag as the RSS hash input. So disable it for all RSS hash
|
||||
algorithms.
|
||||
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
drivers/net/hns3/hns3_rss.c | 6 ++----
|
||||
drivers/net/hns3/hns3_rss.h | 6 ++----
|
||||
2 files changed, 4 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/hns3/hns3_rss.c b/drivers/net/hns3/hns3_rss.c
|
||||
index 15feb26043..3eae4caf52 100644
|
||||
--- a/drivers/net/hns3/hns3_rss.c
|
||||
+++ b/drivers/net/hns3/hns3_rss.c
|
||||
@@ -153,8 +153,7 @@ static const struct {
|
||||
BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_S) |
|
||||
BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_D) |
|
||||
BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_S) |
|
||||
- BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_D) |
|
||||
- BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_VER),
|
||||
+ BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_D),
|
||||
HNS3_RSS_TUPLE_IPV4_SCTP_M },
|
||||
|
||||
/* IPV6-FRAG */
|
||||
@@ -274,8 +273,7 @@ static const struct {
|
||||
BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_S) |
|
||||
BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_D) |
|
||||
BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_SCTP_D) |
|
||||
- BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_SCTP_S) |
|
||||
- BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_SCTP_VER),
|
||||
+ BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_SCTP_S),
|
||||
HNS3_RSS_TUPLE_IPV6_SCTP_M },
|
||||
};
|
||||
|
||||
diff --git a/drivers/net/hns3/hns3_rss.h b/drivers/net/hns3/hns3_rss.h
|
||||
index 9d182a8025..0755760b45 100644
|
||||
--- a/drivers/net/hns3/hns3_rss.h
|
||||
+++ b/drivers/net/hns3/hns3_rss.h
|
||||
@@ -49,7 +49,6 @@ enum hns3_tuple_field {
|
||||
HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_S,
|
||||
HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_D,
|
||||
HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_S,
|
||||
- HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_VER,
|
||||
|
||||
/* IPV4 ENABLE FIELD */
|
||||
HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_D = 24,
|
||||
@@ -74,7 +73,6 @@ enum hns3_tuple_field {
|
||||
HNS3_RSS_FIELD_IPV6_SCTP_EN_SCTP_S,
|
||||
HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_D,
|
||||
HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_S,
|
||||
- HNS3_RSS_FIELD_IPV6_SCTP_EN_SCTP_VER,
|
||||
|
||||
/* IPV6 ENABLE FIELD */
|
||||
HNS3_RSS_FIELD_IPV6_NONFRAG_IP_D = 56,
|
||||
@@ -96,12 +94,12 @@ enum hns3_tuple_field {
|
||||
|
||||
#define HNS3_RSS_TUPLE_IPV4_TCP_M GENMASK(3, 0)
|
||||
#define HNS3_RSS_TUPLE_IPV4_UDP_M GENMASK(11, 8)
|
||||
-#define HNS3_RSS_TUPLE_IPV4_SCTP_M GENMASK(20, 16)
|
||||
+#define HNS3_RSS_TUPLE_IPV4_SCTP_M GENMASK(19, 16)
|
||||
#define HNS3_RSS_TUPLE_IPV4_NONF_M GENMASK(25, 24)
|
||||
#define HNS3_RSS_TUPLE_IPV4_FLAG_M GENMASK(27, 26)
|
||||
#define HNS3_RSS_TUPLE_IPV6_TCP_M GENMASK(35, 32)
|
||||
#define HNS3_RSS_TUPLE_IPV6_UDP_M GENMASK(43, 40)
|
||||
-#define HNS3_RSS_TUPLE_IPV6_SCTP_M GENMASK(52, 48)
|
||||
+#define HNS3_RSS_TUPLE_IPV6_SCTP_M GENMASK(51, 48)
|
||||
#define HNS3_RSS_TUPLE_IPV6_NONF_M GENMASK(57, 56)
|
||||
#define HNS3_RSS_TUPLE_IPV6_FLAG_M GENMASK(59, 58)
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
91
0422-net-hns3-support-power-monitor.patch
Normal file
91
0422-net-hns3-support-power-monitor.patch
Normal file
@ -0,0 +1,91 @@
|
||||
From 97dd5755f1c76addc90c3c6ba7bb7a9c329cfd25 Mon Sep 17 00:00:00 2001
|
||||
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||
Date: Mon, 5 Feb 2024 16:35:21 +0800
|
||||
Subject: [PATCH 421/431] net/hns3: support power monitor
|
||||
|
||||
[ upstream commit 9e1e7dded323ce424aebf992f6ddfa9656655631 ]
|
||||
|
||||
This commit supports power monitor on the Rx queue descriptor of the
|
||||
next poll.
|
||||
|
||||
Note: Although rte_power_monitor() on the ARM platform does not support
|
||||
callback, this commit still implements the callback so that it does not
|
||||
need to be adjusted after the ARM platform supports callback.
|
||||
|
||||
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
drivers/net/hns3/hns3_ethdev.c | 1 +
|
||||
drivers/net/hns3/hns3_ethdev_vf.c | 1 +
|
||||
drivers/net/hns3/hns3_rxtx.c | 21 +++++++++++++++++++++
|
||||
drivers/net/hns3/hns3_rxtx.h | 1 +
|
||||
4 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
|
||||
index c7a2147f39..0e1ca1b314 100644
|
||||
--- a/drivers/net/hns3/hns3_ethdev.c
|
||||
+++ b/drivers/net/hns3/hns3_ethdev.c
|
||||
@@ -6501,6 +6501,7 @@ static const struct eth_dev_ops hns3_eth_dev_ops = {
|
||||
.eth_dev_priv_dump = hns3_eth_dev_priv_dump,
|
||||
.eth_rx_descriptor_dump = hns3_rx_descriptor_dump,
|
||||
.eth_tx_descriptor_dump = hns3_tx_descriptor_dump,
|
||||
+ .get_monitor_addr = hns3_get_monitor_addr,
|
||||
};
|
||||
|
||||
static const struct hns3_reset_ops hns3_reset_ops = {
|
||||
diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c
|
||||
index 0b4ad5a0f7..a6f0d77104 100644
|
||||
--- a/drivers/net/hns3/hns3_ethdev_vf.c
|
||||
+++ b/drivers/net/hns3/hns3_ethdev_vf.c
|
||||
@@ -2290,6 +2290,7 @@ static const struct eth_dev_ops hns3vf_eth_dev_ops = {
|
||||
.eth_dev_priv_dump = hns3_eth_dev_priv_dump,
|
||||
.eth_rx_descriptor_dump = hns3_rx_descriptor_dump,
|
||||
.eth_tx_descriptor_dump = hns3_tx_descriptor_dump,
|
||||
+ .get_monitor_addr = hns3_get_monitor_addr,
|
||||
};
|
||||
|
||||
static const struct hns3_reset_ops hns3vf_reset_ops = {
|
||||
diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
|
||||
index 81edd5258d..49f7177578 100644
|
||||
--- a/drivers/net/hns3/hns3_rxtx.c
|
||||
+++ b/drivers/net/hns3/hns3_rxtx.c
|
||||
@@ -4883,3 +4883,24 @@ hns3_start_rxtx_datapath(struct rte_eth_dev *dev)
|
||||
|
||||
hns3_mp_req_start_rxtx(dev);
|
||||
}
|
||||
+
|
||||
+static int
|
||||
+hns3_monitor_callback(const uint64_t value,
|
||||
+ const uint64_t arg[RTE_POWER_MONITOR_OPAQUE_SZ] __rte_unused)
|
||||
+{
|
||||
+ const uint64_t vld = rte_le_to_cpu_32(BIT(HNS3_RXD_VLD_B));
|
||||
+ return (value & vld) == vld ? -1 : 0;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+hns3_get_monitor_addr(void *rx_queue, struct rte_power_monitor_cond *pmc)
|
||||
+{
|
||||
+ struct hns3_rx_queue *rxq = rx_queue;
|
||||
+ struct hns3_desc *rxdp = &rxq->rx_ring[rxq->next_to_use];
|
||||
+
|
||||
+ pmc->addr = &rxdp->rx.bd_base_info;
|
||||
+ pmc->fn = hns3_monitor_callback;
|
||||
+ pmc->size = sizeof(uint32_t);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/drivers/net/hns3/hns3_rxtx.h b/drivers/net/hns3/hns3_rxtx.h
|
||||
index b6a6513307..18dcc75805 100644
|
||||
--- a/drivers/net/hns3/hns3_rxtx.h
|
||||
+++ b/drivers/net/hns3/hns3_rxtx.h
|
||||
@@ -814,5 +814,6 @@ void hns3_stop_tx_datapath(struct rte_eth_dev *dev);
|
||||
void hns3_start_tx_datapath(struct rte_eth_dev *dev);
|
||||
void hns3_stop_rxtx_datapath(struct rte_eth_dev *dev);
|
||||
void hns3_start_rxtx_datapath(struct rte_eth_dev *dev);
|
||||
+int hns3_get_monitor_addr(void *rx_queue, struct rte_power_monitor_cond *pmc);
|
||||
|
||||
#endif /* HNS3_RXTX_H */
|
||||
--
|
||||
2.33.0
|
||||
|
||||
100
0423-ring-add-telemetry-command-to-list-rings.patch
Normal file
100
0423-ring-add-telemetry-command-to-list-rings.patch
Normal file
@ -0,0 +1,100 @@
|
||||
From 29169ffded36ddc6a0f6d127a70e256a7bd5479f Mon Sep 17 00:00:00 2001
|
||||
From: Jie Hai <haijie1@huawei.com>
|
||||
Date: Mon, 19 Feb 2024 16:32:52 +0800
|
||||
Subject: [PATCH 422/431] ring: add telemetry command to list rings
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
[ upstream commit 36e5c1b91607cc41e73e1108bdc5843c68e3ebc6 ]
|
||||
|
||||
Add a telemetry command to list the rings used in the system.
|
||||
An example using this command is shown below:
|
||||
|
||||
--> /ring/list
|
||||
{
|
||||
"/ring/list": [
|
||||
"HT_0000:7d:00.2",
|
||||
"MP_mb_pool_0"
|
||||
]
|
||||
}
|
||||
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
|
||||
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
|
||||
Acked-by: Huisong Li <lihuisong@huawei.com>
|
||||
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||
Acked-by: Morten Brørup <mb@smartsharesystems.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
lib/ring/meson.build | 1 +
|
||||
lib/ring/rte_ring.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 41 insertions(+)
|
||||
|
||||
diff --git a/lib/ring/meson.build b/lib/ring/meson.build
|
||||
index c20685c689..7fca958ed7 100644
|
||||
--- a/lib/ring/meson.build
|
||||
+++ b/lib/ring/meson.build
|
||||
@@ -18,3 +18,4 @@ indirect_headers += files (
|
||||
'rte_ring_rts.h',
|
||||
'rte_ring_rts_elem_pvt.h',
|
||||
)
|
||||
+deps += ['telemetry']
|
||||
diff --git a/lib/ring/rte_ring.c b/lib/ring/rte_ring.c
|
||||
index f17bd966be..c6e5a738c3 100644
|
||||
--- a/lib/ring/rte_ring.c
|
||||
+++ b/lib/ring/rte_ring.c
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <rte_string_fns.h>
|
||||
#include <rte_spinlock.h>
|
||||
#include <rte_tailq.h>
|
||||
+#include <rte_telemetry.h>
|
||||
|
||||
#include "rte_ring.h"
|
||||
#include "rte_ring_elem.h"
|
||||
@@ -428,3 +429,42 @@ rte_ring_lookup(const char *name)
|
||||
|
||||
return r;
|
||||
}
|
||||
+
|
||||
+static void
|
||||
+ring_walk(void (*func)(struct rte_ring *, void *), void *arg)
|
||||
+{
|
||||
+ struct rte_ring_list *ring_list;
|
||||
+ struct rte_tailq_entry *tailq_entry;
|
||||
+
|
||||
+ ring_list = RTE_TAILQ_CAST(rte_ring_tailq.head, rte_ring_list);
|
||||
+ rte_mcfg_tailq_read_lock();
|
||||
+
|
||||
+ TAILQ_FOREACH(tailq_entry, ring_list, next) {
|
||||
+ (*func)((struct rte_ring *) tailq_entry->data, arg);
|
||||
+ }
|
||||
+
|
||||
+ rte_mcfg_tailq_read_unlock();
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+ring_list_cb(struct rte_ring *r, void *arg)
|
||||
+{
|
||||
+ struct rte_tel_data *d = (struct rte_tel_data *)arg;
|
||||
+
|
||||
+ rte_tel_data_add_array_string(d, r->name);
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+ring_handle_list(const char *cmd __rte_unused,
|
||||
+ const char *params __rte_unused, struct rte_tel_data *d)
|
||||
+{
|
||||
+ rte_tel_data_start_array(d, RTE_TEL_STRING_VAL);
|
||||
+ ring_walk(ring_list_cb, d);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+RTE_INIT(ring_init_telemetry)
|
||||
+{
|
||||
+ rte_telemetry_register_cmd("/ring/list", ring_handle_list,
|
||||
+ "Returns list of available rings. Takes no parameters");
|
||||
+}
|
||||
--
|
||||
2.33.0
|
||||
|
||||
155
0424-ring-add-telemetry-command-for-ring-info.patch
Normal file
155
0424-ring-add-telemetry-command-for-ring-info.patch
Normal file
@ -0,0 +1,155 @@
|
||||
From 5ebb87f1d880410aec6131e7b21ed0c1d9eae225 Mon Sep 17 00:00:00 2001
|
||||
From: Jie Hai <haijie1@huawei.com>
|
||||
Date: Mon, 19 Feb 2024 16:32:53 +0800
|
||||
Subject: [PATCH 1/9] ring: add telemetry command for ring info
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
[ upstream commit 2e99bd65ca788f7f540b2c155208dae2b0128b36 ]
|
||||
|
||||
This patch supports dump of ring information by its name.
|
||||
An example using this command is shown below:
|
||||
|
||||
--> /ring/info,MP_mb_pool_0
|
||||
{
|
||||
"/ring/info": {
|
||||
"name": "MP_mb_pool_0",
|
||||
"socket": 0,
|
||||
"flags": 0,
|
||||
"producer_type": "MP",
|
||||
"consumer_type": "MC",
|
||||
"size": 262144,
|
||||
"mask": "0x3ffff",
|
||||
"capacity": 262143,
|
||||
"used_count": 153197,
|
||||
"mz_name": "RG_MP_mb_pool_0",
|
||||
"mz_len": 2097536,
|
||||
"mz_hugepage_sz": 1073741824,
|
||||
"mz_socket_id": 0,
|
||||
"mz_flags": "0x0"
|
||||
}
|
||||
}
|
||||
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
|
||||
Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
|
||||
Acked-by: Huisong Li <lihuisong@huawei.com>
|
||||
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||
Acked-by: Morten Brørup <mb@smartsharesystems.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
lib/ring/rte_ring.c | 95 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 95 insertions(+)
|
||||
|
||||
diff --git a/lib/ring/rte_ring.c b/lib/ring/rte_ring.c
|
||||
index c6e5a738c3..72ef981c22 100644
|
||||
--- a/lib/ring/rte_ring.c
|
||||
+++ b/lib/ring/rte_ring.c
|
||||
@@ -463,8 +463,103 @@ ring_handle_list(const char *cmd __rte_unused,
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static const char *
|
||||
+ring_prod_sync_type_to_name(struct rte_ring *r)
|
||||
+{
|
||||
+ switch (r->prod.sync_type) {
|
||||
+ case RTE_RING_SYNC_MT:
|
||||
+ return "MP";
|
||||
+ case RTE_RING_SYNC_ST:
|
||||
+ return "SP";
|
||||
+ case RTE_RING_SYNC_MT_RTS:
|
||||
+ return "MP_RTS";
|
||||
+ case RTE_RING_SYNC_MT_HTS:
|
||||
+ return "MP_HTS";
|
||||
+ default:
|
||||
+ return "Unknown";
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static const char *
|
||||
+ring_cons_sync_type_to_name(struct rte_ring *r)
|
||||
+{
|
||||
+ switch (r->cons.sync_type) {
|
||||
+ case RTE_RING_SYNC_MT:
|
||||
+ return "MC";
|
||||
+ case RTE_RING_SYNC_ST:
|
||||
+ return "SC";
|
||||
+ case RTE_RING_SYNC_MT_RTS:
|
||||
+ return "MC_RTS";
|
||||
+ case RTE_RING_SYNC_MT_HTS:
|
||||
+ return "MC_HTS";
|
||||
+ default:
|
||||
+ return "Unknown";
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+struct ring_info_cb_arg {
|
||||
+ char *ring_name;
|
||||
+ struct rte_tel_data *d;
|
||||
+};
|
||||
+
|
||||
+static void
|
||||
+ring_info_cb(struct rte_ring *r, void *arg)
|
||||
+{
|
||||
+ struct ring_info_cb_arg *ring_arg = (struct ring_info_cb_arg *)arg;
|
||||
+ struct rte_tel_data *d = ring_arg->d;
|
||||
+ const struct rte_memzone *mz;
|
||||
+
|
||||
+ if (strncmp(r->name, ring_arg->ring_name, RTE_RING_NAMESIZE))
|
||||
+ return;
|
||||
+
|
||||
+ rte_tel_data_add_dict_string(d, "name", r->name);
|
||||
+ rte_tel_data_add_dict_int(d, "socket", r->memzone->socket_id);
|
||||
+ rte_tel_data_add_dict_int(d, "flags", r->flags);
|
||||
+ rte_tel_data_add_dict_string(d, "producer_type",
|
||||
+ ring_prod_sync_type_to_name(r));
|
||||
+ rte_tel_data_add_dict_string(d, "consumer_type",
|
||||
+ ring_cons_sync_type_to_name(r));
|
||||
+ rte_tel_data_add_dict_int(d, "size", r->size);
|
||||
+ rte_tel_data_add_dict_uint_hex(d, "mask", r->mask, 0);
|
||||
+ rte_tel_data_add_dict_int(d, "capacity", r->capacity);
|
||||
+ rte_tel_data_add_dict_int(d, "used_count", rte_ring_count(r));
|
||||
+
|
||||
+ mz = r->memzone;
|
||||
+ if (mz == NULL)
|
||||
+ return;
|
||||
+ rte_tel_data_add_dict_string(d, "mz_name", mz->name);
|
||||
+ rte_tel_data_add_dict_int(d, "mz_len", mz->len);
|
||||
+ rte_tel_data_add_dict_int(d, "mz_hugepage_sz", mz->hugepage_sz);
|
||||
+ rte_tel_data_add_dict_int(d, "mz_socket_id", mz->socket_id);
|
||||
+ rte_tel_data_add_dict_uint_hex(d, "mz_flags", mz->flags, 0);
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+ring_handle_info(const char *cmd __rte_unused, const char *params,
|
||||
+ struct rte_tel_data *d)
|
||||
+{
|
||||
+ char name[RTE_RING_NAMESIZE] = {0};
|
||||
+ struct ring_info_cb_arg ring_arg;
|
||||
+
|
||||
+ if (params == NULL || strlen(params) == 0 ||
|
||||
+ strlen(params) >= RTE_RING_NAMESIZE)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ rte_strlcpy(name, params, RTE_RING_NAMESIZE);
|
||||
+
|
||||
+ ring_arg.ring_name = name;
|
||||
+ ring_arg.d = d;
|
||||
+
|
||||
+ rte_tel_data_start_dict(d);
|
||||
+ ring_walk(ring_info_cb, &ring_arg);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
RTE_INIT(ring_init_telemetry)
|
||||
{
|
||||
rte_telemetry_register_cmd("/ring/list", ring_handle_list,
|
||||
"Returns list of available rings. Takes no parameters");
|
||||
+ rte_telemetry_register_cmd("/ring/info", ring_handle_info,
|
||||
+ "Returns ring info. Parameters: ring_name.");
|
||||
}
|
||||
--
|
||||
2.33.0
|
||||
|
||||
55
0425-net-hns3-enable-PFC-for-all-user-priorities.patch
Normal file
55
0425-net-hns3-enable-PFC-for-all-user-priorities.patch
Normal file
@ -0,0 +1,55 @@
|
||||
From e6ecd7b0cb7c8f7461ebdfcb394d7ae80392a072 Mon Sep 17 00:00:00 2001
|
||||
From: Jie Hai <haijie1@huawei.com>
|
||||
Date: Wed, 6 Mar 2024 17:20:47 +0800
|
||||
Subject: [PATCH 424/431] net/hns3: enable PFC for all user priorities
|
||||
|
||||
[ upstream commit aae6989df36c105b917cf69975c075dfde2e6b84 ]
|
||||
|
||||
When user set TC number to 4 and enable PFC and ETS by dev_configure,
|
||||
driver only enable user priority 0-3.
|
||||
The packet with user priority 4-7 cannot trigger PFC frame.
|
||||
|
||||
Fix by enabling PFC for all user priorities.
|
||||
|
||||
By the way, the nb_tcs from user can never be 0 because of the ahead
|
||||
check in driver. So remove this redundant code.
|
||||
|
||||
Fixes: 62e3ccc2b94c ("net/hns3: support flow control")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
drivers/net/hns3/hns3_dcb.c | 9 ++-------
|
||||
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c
|
||||
index 2831d3dc62..915e4eb768 100644
|
||||
--- a/drivers/net/hns3/hns3_dcb.c
|
||||
+++ b/drivers/net/hns3/hns3_dcb.c
|
||||
@@ -1499,7 +1499,6 @@ hns3_dcb_info_update(struct hns3_adapter *hns, uint8_t num_tc)
|
||||
static int
|
||||
hns3_dcb_hw_configure(struct hns3_adapter *hns)
|
||||
{
|
||||
- struct rte_eth_dcb_rx_conf *dcb_rx_conf;
|
||||
struct hns3_pf *pf = &hns->pf;
|
||||
struct hns3_hw *hw = &hns->hw;
|
||||
enum hns3_fc_status fc_status = hw->current_fc_status;
|
||||
@@ -1519,12 +1518,8 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns)
|
||||
}
|
||||
|
||||
if (hw->data->dev_conf.dcb_capability_en & RTE_ETH_DCB_PFC_SUPPORT) {
|
||||
- dcb_rx_conf = &hw->data->dev_conf.rx_adv_conf.dcb_rx_conf;
|
||||
- if (dcb_rx_conf->nb_tcs == 0)
|
||||
- hw->dcb_info.pfc_en = 1; /* tc0 only */
|
||||
- else
|
||||
- hw->dcb_info.pfc_en =
|
||||
- RTE_LEN2MASK((uint8_t)dcb_rx_conf->nb_tcs, uint8_t);
|
||||
+ hw->dcb_info.pfc_en =
|
||||
+ RTE_LEN2MASK((uint8_t)HNS3_MAX_USER_PRIO, uint8_t);
|
||||
|
||||
hw->dcb_info.hw_pfc_map =
|
||||
hns3_dcb_undrop_tc_map(hw, hw->dcb_info.pfc_en);
|
||||
--
|
||||
2.33.0
|
||||
|
||||
36
0426-net-hns3-fix-variable-overflow.patch
Normal file
36
0426-net-hns3-fix-variable-overflow.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From 88fe688b023c5f652be22519302b305dc586c5bd Mon Sep 17 00:00:00 2001
|
||||
From: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Date: Wed, 3 Apr 2024 18:16:22 +0800
|
||||
Subject: [PATCH 425/431] net/hns3: fix variable overflow
|
||||
|
||||
[ upstream commit 861bfb275cb4aea37253c3171f922a0131afb1a3 ]
|
||||
|
||||
The function strtoul() returns an unsigned long, which should
|
||||
be received using the variable uint64_t.
|
||||
|
||||
Fixes: 2fc3e696a7f1 ("net/hns3: add runtime config for mailbox limit time")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
drivers/net/hns3/hns3_common.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/hns3/hns3_common.c b/drivers/net/hns3/hns3_common.c
|
||||
index 717649f259..d880dc9c54 100644
|
||||
--- a/drivers/net/hns3/hns3_common.c
|
||||
+++ b/drivers/net/hns3/hns3_common.c
|
||||
@@ -222,7 +222,7 @@ hns3_parse_dev_caps_mask(const char *key, const char *value, void *extra_args)
|
||||
static int
|
||||
hns3_parse_mbx_time_limit(const char *key, const char *value, void *extra_args)
|
||||
{
|
||||
- uint32_t val;
|
||||
+ uint64_t val;
|
||||
|
||||
RTE_SET_USED(key);
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
68
0427-net-hns3-fix-double-free-for-Rx-Tx-queue.patch
Normal file
68
0427-net-hns3-fix-double-free-for-Rx-Tx-queue.patch
Normal file
@ -0,0 +1,68 @@
|
||||
From c73d2a88d8731412cfa5c4e9f10facbeb74e5a04 Mon Sep 17 00:00:00 2001
|
||||
From: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Date: Wed, 3 Apr 2024 18:16:21 +0800
|
||||
Subject: [PATCH 426/431] net/hns3: fix double free for Rx/Tx queue
|
||||
|
||||
[ upstream commit 833a5beab5bfc16708ee9b53c83e2f221cd99f90 ]
|
||||
|
||||
The Pointers to some resources on the Rx/Tx queue need to be set to NULL
|
||||
after free inside the hns3_rx/tx_queue_release(), as this function is
|
||||
called from multiple threads (reset thread, device config thread, etc),
|
||||
leading to double memory free error.
|
||||
|
||||
Fixes: bba636698316 ("net/hns3: support Rx/Tx and related operations")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
drivers/net/hns3/hns3_rxtx.c | 23 ++++++++++++++++++-----
|
||||
1 file changed, 18 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
|
||||
index 49f7177578..0b8c59f4f9 100644
|
||||
--- a/drivers/net/hns3/hns3_rxtx.c
|
||||
+++ b/drivers/net/hns3/hns3_rxtx.c
|
||||
@@ -86,9 +86,14 @@ hns3_rx_queue_release(void *queue)
|
||||
struct hns3_rx_queue *rxq = queue;
|
||||
if (rxq) {
|
||||
hns3_rx_queue_release_mbufs(rxq);
|
||||
- if (rxq->mz)
|
||||
+ if (rxq->mz) {
|
||||
rte_memzone_free(rxq->mz);
|
||||
- rte_free(rxq->sw_ring);
|
||||
+ rxq->mz = NULL;
|
||||
+ }
|
||||
+ if (rxq->sw_ring) {
|
||||
+ rte_free(rxq->sw_ring);
|
||||
+ rxq->sw_ring = NULL;
|
||||
+ }
|
||||
rte_free(rxq);
|
||||
}
|
||||
}
|
||||
@@ -99,10 +104,18 @@ hns3_tx_queue_release(void *queue)
|
||||
struct hns3_tx_queue *txq = queue;
|
||||
if (txq) {
|
||||
hns3_tx_queue_release_mbufs(txq);
|
||||
- if (txq->mz)
|
||||
+ if (txq->mz) {
|
||||
rte_memzone_free(txq->mz);
|
||||
- rte_free(txq->sw_ring);
|
||||
- rte_free(txq->free);
|
||||
+ txq->mz = NULL;
|
||||
+ }
|
||||
+ if (txq->sw_ring) {
|
||||
+ rte_free(txq->sw_ring);
|
||||
+ txq->sw_ring = NULL;
|
||||
+ }
|
||||
+ if (txq->free) {
|
||||
+ rte_free(txq->free);
|
||||
+ txq->free = NULL;
|
||||
+ }
|
||||
rte_free(txq);
|
||||
}
|
||||
}
|
||||
--
|
||||
2.33.0
|
||||
|
||||
37
0428-net-hns3-fix-read-Rx-timestamp-handle.patch
Normal file
37
0428-net-hns3-fix-read-Rx-timestamp-handle.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From da365adce5e00a7dd7791e6ae7ed702de20af30c Mon Sep 17 00:00:00 2001
|
||||
From: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Date: Wed, 3 Apr 2024 18:16:20 +0800
|
||||
Subject: [PATCH 427/431] net/hns3: fix read Rx timestamp handle
|
||||
|
||||
[ upstream commit 0a96792880b7eb410f3c4ae4843d82df7005a627 ]
|
||||
|
||||
The flag RTE_MBUF_F_RX_IEEE1588_PTP depends on the packet
|
||||
type and does not need to be set when reading Rx timestamp.
|
||||
|
||||
Fixes: 38b539d96eb6 ("net/hns3: support IEEE 1588 PTP")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
drivers/net/hns3/hns3_rxtx.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
|
||||
index 0b8c59f4f9..2de31ab9a3 100644
|
||||
--- a/drivers/net/hns3/hns3_rxtx.c
|
||||
+++ b/drivers/net/hns3/hns3_rxtx.c
|
||||
@@ -2401,8 +2401,7 @@ hns3_rx_ptp_timestamp_handle(struct hns3_rx_queue *rxq, struct rte_mbuf *mbuf,
|
||||
{
|
||||
struct hns3_pf *pf = HNS3_DEV_PRIVATE_TO_PF(rxq->hns);
|
||||
|
||||
- mbuf->ol_flags |= RTE_MBUF_F_RX_IEEE1588_PTP |
|
||||
- RTE_MBUF_F_RX_IEEE1588_TMST;
|
||||
+ mbuf->ol_flags |= RTE_MBUF_F_RX_IEEE1588_TMST;
|
||||
if (hns3_timestamp_rx_dynflag > 0) {
|
||||
*RTE_MBUF_DYNFIELD(mbuf, hns3_timestamp_dynfield_offset,
|
||||
rte_mbuf_timestamp_t *) = timestamp;
|
||||
--
|
||||
2.33.0
|
||||
|
||||
45
0429-net-hns3-fix-offload-flag-of-IEEE-1588.patch
Normal file
45
0429-net-hns3-fix-offload-flag-of-IEEE-1588.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From 3d7475b7bbb96565726a4e0f387fd35974682022 Mon Sep 17 00:00:00 2001
|
||||
From: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Date: Wed, 3 Apr 2024 18:16:19 +0800
|
||||
Subject: [PATCH 428/431] net/hns3: fix offload flag of IEEE 1588
|
||||
|
||||
[ upstream commit 5fde4c41f26d2ad607935b76b528e1b64727b5c7 ]
|
||||
|
||||
Currently, the RTE_MBUF_F_RX_IEEE1588_TMST offload flag will
|
||||
not be set when the scatter algorithm is used.
|
||||
This patch fixes it.
|
||||
|
||||
Fixes: 4801f0403b58 ("net/hns3: fix IEEE 1588 PTP for scalar scattered Rx")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Signed-off-by: Jie Hai <haijie1@huawei.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
drivers/net/hns3/hns3_rxtx.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
|
||||
index 2de31ab9a3..5cf2b3af33 100644
|
||||
--- a/drivers/net/hns3/hns3_rxtx.c
|
||||
+++ b/drivers/net/hns3/hns3_rxtx.c
|
||||
@@ -2680,6 +2680,7 @@ hns3_recv_scattered_pkts(void *rx_queue,
|
||||
continue;
|
||||
}
|
||||
|
||||
+ first_seg->ol_flags = 0;
|
||||
if (unlikely(bd_base_info & BIT(HNS3_RXD_TS_VLD_B)))
|
||||
hns3_rx_ptp_timestamp_handle(rxq, first_seg, timestamp);
|
||||
|
||||
@@ -2709,7 +2710,7 @@ hns3_recv_scattered_pkts(void *rx_queue,
|
||||
|
||||
first_seg->port = rxq->port_id;
|
||||
first_seg->hash.rss = rte_le_to_cpu_32(rxd.rx.rss_hash);
|
||||
- first_seg->ol_flags = RTE_MBUF_F_RX_RSS_HASH;
|
||||
+ first_seg->ol_flags |= RTE_MBUF_F_RX_RSS_HASH;
|
||||
if (unlikely(bd_base_info & BIT(HNS3_RXD_LUM_B))) {
|
||||
first_seg->hash.fdir.hi =
|
||||
rte_le_to_cpu_16(rxd.rx.fd_id);
|
||||
--
|
||||
2.33.0
|
||||
|
||||
85
0430-app-testpmd-fix-crash-in-multi-process-forwarding.patch
Normal file
85
0430-app-testpmd-fix-crash-in-multi-process-forwarding.patch
Normal file
@ -0,0 +1,85 @@
|
||||
From 6568baa18852528dafc7559b43fad1dc9f0ff717 Mon Sep 17 00:00:00 2001
|
||||
From: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Date: Tue, 30 Jan 2024 09:32:49 +0800
|
||||
Subject: [PATCH 429/431] app/testpmd: fix crash in multi-process forwarding
|
||||
|
||||
[ upstream commit b3a33138f317d1c651cd86f423cc703176eb7b07 ]
|
||||
|
||||
On multi-process scenario, each process creates flows based on the
|
||||
number of queues. When nbcore is greater than 1, multiple cores may
|
||||
use the same queue to forward packet, like:
|
||||
dpdk-testpmd -a BDF --proc-type=auto -- -i --rxq=4 --txq=4
|
||||
--nb-cores=2 --num-procs=2 --proc-id=0
|
||||
testpmd> start
|
||||
mac packet forwarding - ports=1 - cores=2 - streams=4 - NUMA support
|
||||
enabled, MP allocation mode: native
|
||||
Logical Core 2 (socket 0) forwards packets on 2 streams:
|
||||
RX P=0/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00
|
||||
RX P=0/Q=1 (socket 0) -> TX P=0/Q=1 (socket 0) peer=02:00:00:00:00:00
|
||||
Logical Core 3 (socket 0) forwards packets on 2 streams:
|
||||
RX P=0/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00
|
||||
RX P=0/Q=1 (socket 0) -> TX P=0/Q=1 (socket 0) peer=02:00:00:00:00:00
|
||||
|
||||
After this commit, the result will be:
|
||||
dpdk-testpmd -a BDF --proc-type=auto -- -i --rxq=4 --txq=4
|
||||
--nb-cores=2 --num-procs=2 --proc-id=0
|
||||
testpmd> start
|
||||
io packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support
|
||||
enabled, MP allocation mode: native
|
||||
Logical Core 2 (socket 0) forwards packets on 1 streams:
|
||||
RX P=0/Q=0 (socket 2) -> TX P=0/Q=0 (socket 2) peer=02:00:00:00:00:00
|
||||
Logical Core 3 (socket 0) forwards packets on 1 streams:
|
||||
RX P=0/Q=1 (socket 2) -> TX P=0/Q=1 (socket 2) peer=02:00:00:00:00:00
|
||||
|
||||
Fixes: a550baf24af9 ("app/testpmd: support multi-process")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
|
||||
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
app/test-pmd/config.c | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
|
||||
index fbb0cabf3d..dac6be0daf 100644
|
||||
--- a/app/test-pmd/config.c
|
||||
+++ b/app/test-pmd/config.c
|
||||
@@ -3385,7 +3385,6 @@ rss_fwd_config_setup(void)
|
||||
queueid_t nb_q;
|
||||
streamid_t sm_id;
|
||||
int start;
|
||||
- int end;
|
||||
|
||||
nb_q = nb_rxq;
|
||||
if (nb_q > nb_txq)
|
||||
@@ -3393,7 +3392,7 @@ rss_fwd_config_setup(void)
|
||||
cur_fwd_config.nb_fwd_lcores = (lcoreid_t) nb_fwd_lcores;
|
||||
cur_fwd_config.nb_fwd_ports = nb_fwd_ports;
|
||||
cur_fwd_config.nb_fwd_streams =
|
||||
- (streamid_t) (nb_q * cur_fwd_config.nb_fwd_ports);
|
||||
+ (streamid_t) (nb_q / num_procs * cur_fwd_config.nb_fwd_ports);
|
||||
|
||||
if (cur_fwd_config.nb_fwd_streams < cur_fwd_config.nb_fwd_lcores)
|
||||
cur_fwd_config.nb_fwd_lcores =
|
||||
@@ -3415,7 +3414,6 @@ rss_fwd_config_setup(void)
|
||||
* the 2~3 queue for secondary process.
|
||||
*/
|
||||
start = proc_id * nb_q / num_procs;
|
||||
- end = start + nb_q / num_procs;
|
||||
rxp = 0;
|
||||
rxq = start;
|
||||
for (sm_id = 0; sm_id < cur_fwd_config.nb_fwd_streams; sm_id++) {
|
||||
@@ -3434,8 +3432,6 @@ rss_fwd_config_setup(void)
|
||||
continue;
|
||||
rxp = 0;
|
||||
rxq++;
|
||||
- if (rxq >= end)
|
||||
- rxq = start;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
29
dpdk.spec
29
dpdk.spec
@ -1,6 +1,6 @@
|
||||
Name: dpdk
|
||||
Version: 21.11
|
||||
Release: 65
|
||||
Release: 66
|
||||
Packager: packaging@6wind.com
|
||||
URL: http://dpdk.org
|
||||
%global source_version 21.11
|
||||
@ -452,6 +452,18 @@ Patch6418: 0418-net-hns3-don-t-support-QinQ-insert-for-VF.patch
|
||||
|
||||
Patch9024: 0419-add-rte_eth_bond_link_monitoring_get-in-map.patch
|
||||
|
||||
Patch6419: 0420-app-testpmd-fix-RSS-algorithm-choice.patch
|
||||
Patch6420: 0421-net-hns3-disable-SCTP-verification-tag-for-RSS-hash-.patch
|
||||
Patch6421: 0422-net-hns3-support-power-monitor.patch
|
||||
Patch6422: 0423-ring-add-telemetry-command-to-list-rings.patch
|
||||
Patch6423: 0424-ring-add-telemetry-command-for-ring-info.patch
|
||||
Patch6424: 0425-net-hns3-enable-PFC-for-all-user-priorities.patch
|
||||
Patch6425: 0426-net-hns3-fix-variable-overflow.patch
|
||||
Patch6426: 0427-net-hns3-fix-double-free-for-Rx-Tx-queue.patch
|
||||
Patch6427: 0428-net-hns3-fix-read-Rx-timestamp-handle.patch
|
||||
Patch6428: 0429-net-hns3-fix-offload-flag-of-IEEE-1588.patch
|
||||
Patch6429: 0430-app-testpmd-fix-crash-in-multi-process-forwarding.patch
|
||||
|
||||
Summary: Data Plane Development Kit core
|
||||
Group: System Environment/Libraries
|
||||
License: BSD and LGPLv2 and GPLv2
|
||||
@ -607,6 +619,21 @@ strip -g $RPM_BUILD_ROOT/lib/modules/%{kern_devel_ver}/extra/dpdk/igb_uio.ko
|
||||
/usr/sbin/depmod
|
||||
|
||||
%changelog
|
||||
* Tue May 28 2024 chenyi <chenyi211@huawei.com> - 21.11-66
|
||||
Sync some patches from upstream about bugfix, modifies
|
||||
are as follow:
|
||||
- app/testpmd: fix crash in multi-process forwarding
|
||||
- net/hns3: fix offload flag of IEEE 1588
|
||||
- net/hns3: fix read Rx timestamp handle
|
||||
- net/hns3: fix double free for Rx/Tx queue
|
||||
- net/hns3: fix variable overflow
|
||||
- net/hns3: enable PFC for all user priorities
|
||||
- ring: add telemetry command for ring info
|
||||
- ring: add telemetry command to list rings
|
||||
- net/hns3: support power monitor
|
||||
- net/hns3: disable SCTP verification tag for RSS hash input
|
||||
- app/testpmd: fix RSS algorithm choice
|
||||
|
||||
* Mon Apr 8 2024 zhangmengxuan <zhangmengxuan@kylino.cn> - 21.11-65
|
||||
Add add-rte_eth_bond_link_monitoring_get API in map
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user