* [dpdk-stable] [PATCH v1 01/38] net/mvpp2: fix stack corruption
[not found] <20201202101212.4717-1-lironh@marvell.com>
@ 2020-12-02 10:11 ` lironh
2020-12-23 9:43 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path lironh
` (6 subsequent siblings)
7 siblings, 1 reply; 31+ messages in thread
From: lironh @ 2020-12-02 10:11 UTC (permalink / raw)
To: jerinj; +Cc: dev, Yuri Chipchev, stable, Liron Himi
From: Yuri Chipchev <yuric@marvell.com>
Fixes stack corruption in mrvl_fill_bpool function
in case num > MRVL_PP2_RXD_MAX
Fixes: c3637258d894 ("net/mrvl: fix Rx descriptors number")
Cc: stable@dpdk.org
Signed-off-by: Yuri Chipchev <yuric@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index f25cf9e46..93fb30cdb 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1614,8 +1614,8 @@ mrvl_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
static int
mrvl_fill_bpool(struct mrvl_rxq *rxq, int num)
{
- struct buff_release_entry entries[MRVL_PP2_RXD_MAX];
- struct rte_mbuf *mbufs[MRVL_PP2_RXD_MAX];
+ struct buff_release_entry entries[num];
+ struct rte_mbuf *mbufs[num];
int i, ret;
unsigned int core_id;
struct pp2_hif *hif;
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path
[not found] <20201202101212.4717-1-lironh@marvell.com>
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 01/38] net/mvpp2: fix stack corruption lironh
@ 2020-12-02 10:11 ` lironh
2020-12-23 9:44 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2021-01-11 14:33 ` Jerin Jacob
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 03/38] net/mvpp2: fix rx/tx bytes statistics lironh
` (5 subsequent siblings)
7 siblings, 2 replies; 31+ messages in thread
From: lironh @ 2020-12-02 10:11 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable
From: Liron Himi <lironh@marvell.com>
in case of non-ip frame the current code reached the 'default'
case which result with function call to log a msg.
those kind of calls should not be performed on fast-path.
The performance for this kind of frames increased by 50%
Fixes: acab7d58c ("net/mvpp2: convert to dynamic logging")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 93fb30cdb..8c3278ec4 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -2171,7 +2171,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
*l4_offset = *l3_offset + MRVL_ARP_LENGTH;
break;
default:
- MRVL_LOG(DEBUG, "Failed to recognise l3 packet type");
break;
}
@@ -2183,7 +2182,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
packet_type |= RTE_PTYPE_L4_UDP;
break;
default:
- MRVL_LOG(DEBUG, "Failed to recognise l4 packet type");
break;
}
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v1 03/38] net/mvpp2: fix rx/tx bytes statistics
[not found] <20201202101212.4717-1-lironh@marvell.com>
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 01/38] net/mvpp2: fix stack corruption lironh
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path lironh
@ 2020-12-02 10:11 ` lironh
2020-12-23 9:43 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 04/38] net/mvpp2: skip vlan flush lironh
` (4 subsequent siblings)
7 siblings, 1 reply; 31+ messages in thread
From: lironh @ 2020-12-02 10:11 UTC (permalink / raw)
To: jerinj; +Cc: dev, Yuri Chipchev, stable, Liron Himi
From: Yuri Chipchev <yuric@marvell.com>
4B of CRC was not included in the bytes statistics
Fixes: bdffe0c70 ("net/mrvl: support basic stats")
Cc: stable@dpdk.org
Signed-off-by: Yuri Chipchev <yuric@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 8c3278ec4..ebd2bb1c8 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
rx_stats.drop_fullq +
rx_stats.drop_bm +
rxq->drop_mac;
- stats->ibytes += rxq->bytes_recv;
drop_mac += rxq->drop_mac;
}
@@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
stats->q_opackets[idx] = tx_stats.deq_desc;
stats->q_obytes[idx] = txq->bytes_sent;
- stats->obytes += txq->bytes_sent;
}
ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0);
@@ -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
return ret;
}
+ stats->ibytes += ppio_stats.rx_bytes;
+ stats->obytes += ppio_stats.tx_bytes;
stats->ipackets += ppio_stats.rx_packets - drop_mac;
stats->opackets += ppio_stats.tx_packets;
stats->imissed += ppio_stats.rx_fullq_dropped +
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v1 04/38] net/mvpp2: skip vlan flush
[not found] <20201202101212.4717-1-lironh@marvell.com>
` (2 preceding siblings ...)
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 03/38] net/mvpp2: fix rx/tx bytes statistics lironh
@ 2020-12-02 10:11 ` lironh
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 05/38] net/mvpp2: remove CRC len from MRU validation lironh
` (3 subsequent siblings)
7 siblings, 1 reply; 31+ messages in thread
From: lironh @ 2020-12-02 10:11 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable
From: Liron Himi <lironh@marvell.com>
vlan-flush in MUSDK is not supported yet.
until it does, the code should be skipped as currently
an redundant error message is displayed.
Fixes: a8f3d6783 ("net/mrvl: support VLAN filtering")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index ebd2bb1c8..0985ccebe 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -672,15 +672,15 @@ mrvl_dev_start(struct rte_eth_dev *dev)
}
if (!priv->vlan_flushed) {
- ret = pp2_ppio_flush_vlan(priv->ppio);
- if (ret) {
- MRVL_LOG(ERR, "Failed to flush vlan list");
- /*
- * TODO
- * once pp2_ppio_flush_vlan() is supported jump to out
- * goto out;
- */
- }
+ /*
+ * TODO
+ * once pp2_ppio_flush_vlan() is supported call it
+ * ret = pp2_ppio_flush_vlan(priv->ppio);
+ * if (ret) {
+ * MRVL_LOG(ERR, "Failed to flush vlan list");
+ * goto out;
+ * }
+ */
priv->vlan_flushed = 1;
}
ret = mrvl_mtu_set(dev, dev->data->mtu);
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v1 05/38] net/mvpp2: remove CRC len from MRU validation
[not found] <20201202101212.4717-1-lironh@marvell.com>
` (3 preceding siblings ...)
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 04/38] net/mvpp2: skip vlan flush lironh
@ 2020-12-02 10:11 ` lironh
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 06/38] net/mvpp2: fix frame size checking lironh
` (2 subsequent siblings)
7 siblings, 1 reply; 31+ messages in thread
From: lironh @ 2020-12-02 10:11 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable, Yuri Chipchev
From: Liron Himi <lironh@marvell.com>
CRC is being removed by HW before packet get
write to the buffer, so CRC len should not be
included in MRU validation
Fixes: 79ec62028 ("net/mvpp2: update MTU and MRU related calculations")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Yuri Chipchev <yuric@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 0985ccebe..dbb193496 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -441,8 +441,8 @@ mrvl_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
* when this feature has not been enabled/supported so far
* (TODO check scattered_rx flag here once scattered RX is supported).
*/
- if (mru + MRVL_PKT_OFFS > mbuf_data_size) {
- mru = mbuf_data_size - MRVL_PKT_OFFS;
+ if (mru - RTE_ETHER_CRC_LEN + MRVL_PKT_OFFS > mbuf_data_size) {
+ mru = mbuf_data_size + RTE_ETHER_CRC_LEN - MRVL_PKT_OFFS;
mtu = MRVL_PP2_MRU_TO_MTU(mru);
MRVL_LOG(WARNING, "MTU too big, max MTU possible limitted "
"by current mbuf size: %u. Set MTU to %u, MRU to %u",
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v1 06/38] net/mvpp2: fix frame size checking
[not found] <20201202101212.4717-1-lironh@marvell.com>
` (4 preceding siblings ...)
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 05/38] net/mvpp2: remove CRC len from MRU validation lironh
@ 2020-12-02 10:11 ` lironh
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 07/38] net/mvpp2: reduce prints on rx path lironh
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
7 siblings, 1 reply; 31+ messages in thread
From: lironh @ 2020-12-02 10:11 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable, Yuri Chipchev
From: Liron Himi <lironh@marvell.com>
need to add CRC len to the frame-size to compare against
max_rx_pkt_len which includes it.
Fixes: 79ec62028 ("net/mvpp2: update MTU and MRU related calculations")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Yuri Chipchev <yuric@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index dbb193496..3f05ebe00 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1711,7 +1711,8 @@ mrvl_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
return -EFAULT;
}
- frame_size = buf_size - RTE_PKTMBUF_HEADROOM - MRVL_PKT_EFFEC_OFFS;
+ frame_size = buf_size - RTE_PKTMBUF_HEADROOM -
+ MRVL_PKT_EFFEC_OFFS + RTE_ETHER_CRC_LEN;
if (frame_size < max_rx_pkt_len) {
MRVL_LOG(WARNING,
"Mbuf size must be increased to %u bytes to hold up "
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v1 07/38] net/mvpp2: reduce prints on rx path
[not found] <20201202101212.4717-1-lironh@marvell.com>
` (5 preceding siblings ...)
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 06/38] net/mvpp2: fix frame size checking lironh
@ 2020-12-02 10:11 ` lironh
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
7 siblings, 1 reply; 31+ messages in thread
From: lironh @ 2020-12-02 10:11 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable, Dana Tearosh
From: Liron Himi <lironh@marvell.com>
Fixes: acab7d58c ("net/mvpp2: convert to dynamic logging")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Dana Tearosh <danat@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 3f05ebe00..d81b86c02 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -2320,7 +2320,7 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
(!rx_done && num < q->priv->bpool_init_size))) {
ret = mrvl_fill_bpool(q, MRVL_BURST_SIZE);
if (ret)
- MRVL_LOG(ERR, "Failed to fill bpool");
+ MRVL_LOG(DEBUG, "Failed to fill bpool");
} else if (unlikely(num > q->priv->bpool_max_size)) {
int i;
int pkt_to_remove = num - q->priv->bpool_init_size;
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 05/38] net/mvpp2: remove CRC len from MRU validation
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 05/38] net/mvpp2: remove CRC len from MRU validation lironh
@ 2020-12-23 9:42 ` Michael Shamis
0 siblings, 0 replies; 31+ messages in thread
From: Michael Shamis @ 2020-12-23 9:42 UTC (permalink / raw)
To: Liron Himi, Jerin Jacob Kollanukkaran
Cc: dev, Liron Himi, stable, Yuri Chipchev
Reviewed-by: Michael Shamis <michaelsh@marvell.com>
-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
Sent: Wednesday, December 2, 2020 12:12 PM
To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Liron Himi <lironh@marvell.com>; stable@dpdk.org; Yuri Chipchev <yuric@marvell.com>
Subject: [dpdk-dev] [PATCH v1 05/38] net/mvpp2: remove CRC len from MRU validation
From: Liron Himi <lironh@marvell.com>
CRC is being removed by HW before packet get write to the buffer, so CRC len should not be included in MRU validation
Fixes: 79ec62028 ("net/mvpp2: update MTU and MRU related calculations")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Yuri Chipchev <yuric@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index 0985ccebe..dbb193496 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -441,8 +441,8 @@ mrvl_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
* when this feature has not been enabled/supported so far
* (TODO check scattered_rx flag here once scattered RX is supported).
*/
- if (mru + MRVL_PKT_OFFS > mbuf_data_size) {
- mru = mbuf_data_size - MRVL_PKT_OFFS;
+ if (mru - RTE_ETHER_CRC_LEN + MRVL_PKT_OFFS > mbuf_data_size) {
+ mru = mbuf_data_size + RTE_ETHER_CRC_LEN - MRVL_PKT_OFFS;
mtu = MRVL_PP2_MRU_TO_MTU(mru);
MRVL_LOG(WARNING, "MTU too big, max MTU possible limitted "
"by current mbuf size: %u. Set MTU to %u, MRU to %u",
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 06/38] net/mvpp2: fix frame size checking
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 06/38] net/mvpp2: fix frame size checking lironh
@ 2020-12-23 9:42 ` Michael Shamis
0 siblings, 0 replies; 31+ messages in thread
From: Michael Shamis @ 2020-12-23 9:42 UTC (permalink / raw)
To: Liron Himi, Jerin Jacob Kollanukkaran
Cc: dev, Liron Himi, stable, Yuri Chipchev
Reviewed-by: Michael Shamis <michaelsh@marvell.com>
-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
Sent: Wednesday, December 2, 2020 12:12 PM
To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Liron Himi <lironh@marvell.com>; stable@dpdk.org; Yuri Chipchev <yuric@marvell.com>
Subject: [dpdk-dev] [PATCH v1 06/38] net/mvpp2: fix frame size checking
From: Liron Himi <lironh@marvell.com>
need to add CRC len to the frame-size to compare against max_rx_pkt_len which includes it.
Fixes: 79ec62028 ("net/mvpp2: update MTU and MRU related calculations")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Yuri Chipchev <yuric@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index dbb193496..3f05ebe00 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1711,7 +1711,8 @@ mrvl_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
return -EFAULT;
}
- frame_size = buf_size - RTE_PKTMBUF_HEADROOM - MRVL_PKT_EFFEC_OFFS;
+ frame_size = buf_size - RTE_PKTMBUF_HEADROOM -
+ MRVL_PKT_EFFEC_OFFS + RTE_ETHER_CRC_LEN;
if (frame_size < max_rx_pkt_len) {
MRVL_LOG(WARNING,
"Mbuf size must be increased to %u bytes to hold up "
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 07/38] net/mvpp2: reduce prints on rx path
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 07/38] net/mvpp2: reduce prints on rx path lironh
@ 2020-12-23 9:42 ` Michael Shamis
2021-01-11 14:40 ` Jerin Jacob
0 siblings, 1 reply; 31+ messages in thread
From: Michael Shamis @ 2020-12-23 9:42 UTC (permalink / raw)
To: Liron Himi, Jerin Jacob Kollanukkaran; +Cc: dev, Liron Himi, stable, Dana Vardi
Reviewed-by: Michael Shamis <michaelsh@marvell.com>
-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
Sent: Wednesday, December 2, 2020 12:12 PM
To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Liron Himi <lironh@marvell.com>; stable@dpdk.org; Dana Vardi <danat@marvell.com>
Subject: [dpdk-dev] [PATCH v1 07/38] net/mvpp2: reduce prints on rx path
From: Liron Himi <lironh@marvell.com>
Fixes: acab7d58c ("net/mvpp2: convert to dynamic logging")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Dana Tearosh <danat@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index 3f05ebe00..d81b86c02 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -2320,7 +2320,7 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
(!rx_done && num < q->priv->bpool_init_size))) {
ret = mrvl_fill_bpool(q, MRVL_BURST_SIZE);
if (ret)
- MRVL_LOG(ERR, "Failed to fill bpool");
+ MRVL_LOG(DEBUG, "Failed to fill bpool");
} else if (unlikely(num > q->priv->bpool_max_size)) {
int i;
int pkt_to_remove = num - q->priv->bpool_init_size;
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 04/38] net/mvpp2: skip vlan flush
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 04/38] net/mvpp2: skip vlan flush lironh
@ 2020-12-23 9:42 ` Michael Shamis
2021-01-11 14:38 ` Jerin Jacob
0 siblings, 1 reply; 31+ messages in thread
From: Michael Shamis @ 2020-12-23 9:42 UTC (permalink / raw)
To: Liron Himi, Jerin Jacob Kollanukkaran; +Cc: dev, Liron Himi, stable
Reviewed-by: Michael Shamis <michaelsh@marvell.com>
-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
Sent: Wednesday, December 2, 2020 12:12 PM
To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Liron Himi <lironh@marvell.com>; stable@dpdk.org
Subject: [dpdk-dev] [PATCH v1 04/38] net/mvpp2: skip vlan flush
From: Liron Himi <lironh@marvell.com>
vlan-flush in MUSDK is not supported yet.
until it does, the code should be skipped as currently an redundant error message is displayed.
Fixes: a8f3d6783 ("net/mrvl: support VLAN filtering")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index ebd2bb1c8..0985ccebe 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -672,15 +672,15 @@ mrvl_dev_start(struct rte_eth_dev *dev)
}
if (!priv->vlan_flushed) {
- ret = pp2_ppio_flush_vlan(priv->ppio);
- if (ret) {
- MRVL_LOG(ERR, "Failed to flush vlan list");
- /*
- * TODO
- * once pp2_ppio_flush_vlan() is supported jump to out
- * goto out;
- */
- }
+ /*
+ * TODO
+ * once pp2_ppio_flush_vlan() is supported call it
+ * ret = pp2_ppio_flush_vlan(priv->ppio);
+ * if (ret) {
+ * MRVL_LOG(ERR, "Failed to flush vlan list");
+ * goto out;
+ * }
+ */
priv->vlan_flushed = 1;
}
ret = mrvl_mtu_set(dev, dev->data->mtu);
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 03/38] net/mvpp2: fix rx/tx bytes statistics
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 03/38] net/mvpp2: fix rx/tx bytes statistics lironh
@ 2020-12-23 9:43 ` Michael Shamis
0 siblings, 0 replies; 31+ messages in thread
From: Michael Shamis @ 2020-12-23 9:43 UTC (permalink / raw)
To: Liron Himi, Jerin Jacob Kollanukkaran
Cc: dev, Yuri Chipchev, stable, Liron Himi
Reviewed-by: Michael Shamis <michaelsh@marvell.com>
-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
Sent: Wednesday, December 2, 2020 12:12 PM
To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Yuri Chipchev <yuric@marvell.com>; stable@dpdk.org; Liron Himi <lironh@marvell.com>
Subject: [dpdk-dev] [PATCH v1 03/38] net/mvpp2: fix rx/tx bytes statistics
From: Yuri Chipchev <yuric@marvell.com>
4B of CRC was not included in the bytes statistics
Fixes: bdffe0c70 ("net/mrvl: support basic stats")
Cc: stable@dpdk.org
Signed-off-by: Yuri Chipchev <yuric@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index 8c3278ec4..ebd2bb1c8 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
rx_stats.drop_fullq +
rx_stats.drop_bm +
rxq->drop_mac;
- stats->ibytes += rxq->bytes_recv;
drop_mac += rxq->drop_mac;
}
@@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
stats->q_opackets[idx] = tx_stats.deq_desc;
stats->q_obytes[idx] = txq->bytes_sent;
- stats->obytes += txq->bytes_sent;
}
ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0); @@ -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
return ret;
}
+ stats->ibytes += ppio_stats.rx_bytes;
+ stats->obytes += ppio_stats.tx_bytes;
stats->ipackets += ppio_stats.rx_packets - drop_mac;
stats->opackets += ppio_stats.tx_packets;
stats->imissed += ppio_stats.rx_fullq_dropped +
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 01/38] net/mvpp2: fix stack corruption
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 01/38] net/mvpp2: fix stack corruption lironh
@ 2020-12-23 9:43 ` Michael Shamis
0 siblings, 0 replies; 31+ messages in thread
From: Michael Shamis @ 2020-12-23 9:43 UTC (permalink / raw)
To: Liron Himi, Jerin Jacob Kollanukkaran
Cc: dev, Yuri Chipchev, stable, Liron Himi
Reviewed-by: Michael Shamis <michaelsh@marvell.com>
-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
Sent: Wednesday, December 2, 2020 12:12 PM
To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Yuri Chipchev <yuric@marvell.com>; stable@dpdk.org; Liron Himi <lironh@marvell.com>
Subject: [dpdk-dev] [PATCH v1 01/38] net/mvpp2: fix stack corruption
From: Yuri Chipchev <yuric@marvell.com>
Fixes stack corruption in mrvl_fill_bpool function in case num > MRVL_PP2_RXD_MAX
Fixes: c3637258d894 ("net/mrvl: fix Rx descriptors number")
Cc: stable@dpdk.org
Signed-off-by: Yuri Chipchev <yuric@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index f25cf9e46..93fb30cdb 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1614,8 +1614,8 @@ mrvl_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on) static int mrvl_fill_bpool(struct mrvl_rxq *rxq, int num) {
- struct buff_release_entry entries[MRVL_PP2_RXD_MAX];
- struct rte_mbuf *mbufs[MRVL_PP2_RXD_MAX];
+ struct buff_release_entry entries[num];
+ struct rte_mbuf *mbufs[num];
int i, ret;
unsigned int core_id;
struct pp2_hif *hif;
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path lironh
@ 2020-12-23 9:44 ` Michael Shamis
2021-01-11 14:33 ` Jerin Jacob
1 sibling, 0 replies; 31+ messages in thread
From: Michael Shamis @ 2020-12-23 9:44 UTC (permalink / raw)
To: Liron Himi, Jerin Jacob Kollanukkaran; +Cc: dev, Liron Himi, stable
Reviewed-by: Michael Shamis <michaelsh@marvell.com>
-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
Sent: Wednesday, December 2, 2020 12:12 PM
To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Liron Himi <lironh@marvell.com>; stable@dpdk.org
Subject: [dpdk-dev] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path
From: Liron Himi <lironh@marvell.com>
in case of non-ip frame the current code reached the 'default'
case which result with function call to log a msg.
those kind of calls should not be performed on fast-path.
The performance for this kind of frames increased by 50%
Fixes: acab7d58c ("net/mvpp2: convert to dynamic logging")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index 93fb30cdb..8c3278ec4 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -2171,7 +2171,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
*l4_offset = *l3_offset + MRVL_ARP_LENGTH;
break;
default:
- MRVL_LOG(DEBUG, "Failed to recognise l3 packet type");
break;
}
@@ -2183,7 +2182,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
packet_type |= RTE_PTYPE_L4_UDP;
break;
default:
- MRVL_LOG(DEBUG, "Failed to recognise l4 packet type");
break;
}
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path lironh
2020-12-23 9:44 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
@ 2021-01-11 14:33 ` Jerin Jacob
1 sibling, 0 replies; 31+ messages in thread
From: Jerin Jacob @ 2021-01-11 14:33 UTC (permalink / raw)
To: Liron Himi; +Cc: Jerin Jacob, dpdk-dev, dpdk stable
On Wed, Dec 2, 2020 at 3:42 PM <lironh@marvell.com> wrote:
>
> From: Liron Himi <lironh@marvell.com>
>
> in case of non-ip frame the current code reached the 'default'
In case of
> case which result with function call to log a msg.
> those kind of calls should not be performed on fast-path.
>
> The performance for this kind of frames increased by 50%
>
> Fixes: acab7d58c ("net/mvpp2: convert to dynamic logging")
> Cc: stable@dpdk.org
>
> Signed-off-by: Liron Himi <lironh@marvell.com>
> Reviewed-by: Liron Himi <lironh@marvell.com>
Please remove the Reviewed-by if you have Signed-off,
> ---
> drivers/net/mvpp2/mrvl_ethdev.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
> index 93fb30cdb..8c3278ec4 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -2171,7 +2171,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
> *l4_offset = *l3_offset + MRVL_ARP_LENGTH;
> break;
> default:
> - MRVL_LOG(DEBUG, "Failed to recognise l3 packet type");
> break;
> }
>
> @@ -2183,7 +2182,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
> packet_type |= RTE_PTYPE_L4_UDP;
> break;
> default:
> - MRVL_LOG(DEBUG, "Failed to recognise l4 packet type");
There are other prints in fastpath such as
"MRVL_LOG(ERR, "Failed to receive packets");", please remove those as well.
> break;
> }
>
> --
> 2.28.0
>
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 04/38] net/mvpp2: skip vlan flush
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
@ 2021-01-11 14:38 ` Jerin Jacob
0 siblings, 0 replies; 31+ messages in thread
From: Jerin Jacob @ 2021-01-11 14:38 UTC (permalink / raw)
To: Michael Shamis; +Cc: Liron Himi, Jerin Jacob Kollanukkaran, dev, stable
On Wed, Dec 23, 2020 at 3:15 PM Michael Shamis <michaelsh@marvell.com> wrote:
>
> Reviewed-by: Michael Shamis <michaelsh@marvell.com>
>
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
> Sent: Wednesday, December 2, 2020 12:12 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: dev@dpdk.org; Liron Himi <lironh@marvell.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH v1 04/38] net/mvpp2: skip vlan flush
>
> From: Liron Himi <lironh@marvell.com>
>
> vlan-flush in MUSDK is not supported yet.
> until it does, the code should be skipped as currently an redundant error message is displayed.
>
> Fixes: a8f3d6783 ("net/mrvl: support VLAN filtering")
> Cc: stable@dpdk.org
>
> Signed-off-by: Liron Himi <lironh@marvell.com>
> Reviewed-by: Liron Himi <lironh@marvell.com>
> ---
> drivers/net/mvpp2/mrvl_ethdev.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index ebd2bb1c8..0985ccebe 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -672,15 +672,15 @@ mrvl_dev_start(struct rte_eth_dev *dev)
> }
>
> if (!priv->vlan_flushed) {
> - ret = pp2_ppio_flush_vlan(priv->ppio);
> - if (ret) {
> - MRVL_LOG(ERR, "Failed to flush vlan list");
> - /*
> - * TODO
> - * once pp2_ppio_flush_vlan() is supported jump to out
> - * goto out;
> - */
> - }
> + /*
> + * TODO
> + * once pp2_ppio_flush_vlan() is supported call it
> + * ret = pp2_ppio_flush_vlan(priv->ppio);
> + * if (ret) {
> + * MRVL_LOG(ERR, "Failed to flush vlan list");
> + * goto out;
> + * }
> + */
This kind of TODO is no go in upstream code.
I think, MUSDK can be updated to skip the error and have an API detect
the feature
is present or not? so that drivers can make intelligent decisions and
have clean code.
> priv->vlan_flushed = 1;
> }
> ret = mrvl_mtu_set(dev, dev->data->mtu);
> --
> 2.28.0
>
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v1 07/38] net/mvpp2: reduce prints on rx path
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
@ 2021-01-11 14:40 ` Jerin Jacob
0 siblings, 0 replies; 31+ messages in thread
From: Jerin Jacob @ 2021-01-11 14:40 UTC (permalink / raw)
To: Michael Shamis
Cc: Liron Himi, Jerin Jacob Kollanukkaran, dev, stable, Dana Vardi
On Wed, Dec 23, 2020 at 3:15 PM Michael Shamis <michaelsh@marvell.com> wrote:
>
> Reviewed-by: Michael Shamis <michaelsh@marvell.com>
>
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of lironh@marvell.com
> Sent: Wednesday, December 2, 2020 12:12 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: dev@dpdk.org; Liron Himi <lironh@marvell.com>; stable@dpdk.org; Dana Vardi <danat@marvell.com>
> Subject: [dpdk-dev] [PATCH v1 07/38] net/mvpp2: reduce prints on rx path
>
> From: Liron Himi <lironh@marvell.com>
Please have git commit message for every patch.
>
> Fixes: acab7d58c ("net/mvpp2: convert to dynamic logging")
> Cc: stable@dpdk.org
>
> Signed-off-by: Liron Himi <lironh@marvell.com>
> Reviewed-by: Dana Tearosh <danat@marvell.com>
> ---
> drivers/net/mvpp2/mrvl_ethdev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index 3f05ebe00..d81b86c02 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -2320,7 +2320,7 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
> (!rx_done && num < q->priv->bpool_init_size))) {
> ret = mrvl_fill_bpool(q, MRVL_BURST_SIZE);
> if (ret)
> - MRVL_LOG(ERR, "Failed to fill bpool");
> + MRVL_LOG(DEBUG, "Failed to fill bpool");
Please squash all log-related patches to a single one.
> } else if (unlikely(num > q->priv->bpool_max_size)) {
> int i;
> int pkt_to_remove = num - q->priv->bpool_init_size;
> --
> 2.28.0
>
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v2 01/37] net/mvpp2: fix stack corruption
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
@ 2021-01-22 19:18 ` lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 02/37] net/mvpp2: remove debug log on fast-path lironh
` (5 subsequent siblings)
6 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-22 19:18 UTC (permalink / raw)
To: jerinj; +Cc: dev, Yuri Chipchev, stable, Liron Himi
From: Yuri Chipchev <yuric@marvell.com>
Fixes stack corruption in mrvl_fill_bpool function
in case num > MRVL_PP2_RXD_MAX
Fixes: c3637258d894 ("net/mrvl: fix Rx descriptors number")
Cc: stable@dpdk.org
Signed-off-by: Yuri Chipchev <yuric@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index f25cf9e46..93fb30cdb 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1614,8 +1614,8 @@ mrvl_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
static int
mrvl_fill_bpool(struct mrvl_rxq *rxq, int num)
{
- struct buff_release_entry entries[MRVL_PP2_RXD_MAX];
- struct rte_mbuf *mbufs[MRVL_PP2_RXD_MAX];
+ struct buff_release_entry entries[num];
+ struct rte_mbuf *mbufs[num];
int i, ret;
unsigned int core_id;
struct pp2_hif *hif;
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v2 02/37] net/mvpp2: remove debug log on fast-path
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 01/37] net/mvpp2: fix stack corruption lironh
@ 2021-01-22 19:18 ` lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics lironh
` (4 subsequent siblings)
6 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-22 19:18 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable
From: Liron Himi <lironh@marvell.com>
In case of non-ip frame the current code reached the 'default'
case which result with function call to log a msg.
those kind of calls should not be performed on fast-path.
The performance for this kind of frames increased by 50%
Fixes: acab7d58c ("net/mvpp2: convert to dynamic logging")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 27 ++++-----------------------
1 file changed, 4 insertions(+), 23 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 93fb30cdb..bfe496ff7 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -2171,7 +2171,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
*l4_offset = *l3_offset + MRVL_ARP_LENGTH;
break;
default:
- MRVL_LOG(DEBUG, "Failed to recognise l3 packet type");
break;
}
@@ -2183,7 +2182,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
packet_type |= RTE_PTYPE_L4_UDP;
break;
default:
- MRVL_LOG(DEBUG, "Failed to recognise l4 packet type");
break;
}
@@ -2253,10 +2251,9 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
ret = pp2_ppio_recv(q->priv->ppio, q->priv->rxq_map[q->queue_id].tc,
q->priv->rxq_map[q->queue_id].inq, descs, &nb_pkts);
- if (unlikely(ret < 0)) {
- MRVL_LOG(ERR, "Failed to receive packets");
+ if (unlikely(ret < 0))
return 0;
- }
+
mrvl_port_bpool_size[bpool->pp2_id][bpool->id][core_id] -= nb_pkts;
for (i = 0; i < nb_pkts; i++) {
@@ -2319,21 +2316,13 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
if (unlikely(num <= q->priv->bpool_min_size ||
(!rx_done && num < q->priv->bpool_init_size))) {
- ret = mrvl_fill_bpool(q, MRVL_BURST_SIZE);
- if (ret)
- MRVL_LOG(ERR, "Failed to fill bpool");
+ mrvl_fill_bpool(q, MRVL_BURST_SIZE);
} else if (unlikely(num > q->priv->bpool_max_size)) {
int i;
int pkt_to_remove = num - q->priv->bpool_init_size;
struct rte_mbuf *mbuf;
struct pp2_buff_inf buff;
- MRVL_LOG(DEBUG,
- "port-%d:%d: bpool %d oversize - remove %d buffers (pool size: %d -> %d)",
- bpool->pp2_id, q->priv->ppio->port_id,
- bpool->id, pkt_to_remove, num,
- q->priv->bpool_init_size);
-
for (i = 0; i < pkt_to_remove; i++) {
ret = pp2_bpool_get_buff(hif, bpool, &buff);
if (ret)
@@ -2526,12 +2515,8 @@ mrvl_tx_pkt_burst(void *txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
sq, q->queue_id, 0);
sq_free_size = MRVL_PP2_TX_SHADOWQ_SIZE - sq->size - 1;
- if (unlikely(nb_pkts > sq_free_size)) {
- MRVL_LOG(DEBUG,
- "No room in shadow queue for %d packets! %d packets will be sent.",
- nb_pkts, sq_free_size);
+ if (unlikely(nb_pkts > sq_free_size))
nb_pkts = sq_free_size;
- }
for (i = 0; i < nb_pkts; i++) {
struct rte_mbuf *mbuf = tx_pkts[i];
@@ -2648,10 +2633,6 @@ mrvl_tx_sg_pkt_burst(void *txq, struct rte_mbuf **tx_pkts,
*/
if (unlikely(total_descs > sq_free_size)) {
total_descs -= nb_segs;
- RTE_LOG(DEBUG, PMD,
- "No room in shadow queue for %d packets! "
- "%d packets will be sent.\n",
- nb_pkts, i);
break;
}
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 01/37] net/mvpp2: fix stack corruption lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 02/37] net/mvpp2: remove debug log on fast-path lironh
@ 2021-01-22 19:18 ` lironh
2021-01-26 17:02 ` Ferruh Yigit
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 04/37] net/mvpp2: remove VLAN flush lironh
` (3 subsequent siblings)
6 siblings, 1 reply; 31+ messages in thread
From: lironh @ 2021-01-22 19:18 UTC (permalink / raw)
To: jerinj; +Cc: dev, Yuri Chipchev, stable, Liron Himi
From: Yuri Chipchev <yuric@marvell.com>
4B of CRC was not included in the bytes statistics
Fixes: bdffe0c70 ("net/mrvl: support basic stats")
Cc: stable@dpdk.org
Signed-off-by: Yuri Chipchev <yuric@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index bfe496ff7..a1a3c0e31 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
rx_stats.drop_fullq +
rx_stats.drop_bm +
rxq->drop_mac;
- stats->ibytes += rxq->bytes_recv;
drop_mac += rxq->drop_mac;
}
@@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
stats->q_opackets[idx] = tx_stats.deq_desc;
stats->q_obytes[idx] = txq->bytes_sent;
- stats->obytes += txq->bytes_sent;
}
ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0);
@@ -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
return ret;
}
+ stats->ibytes += ppio_stats.rx_bytes;
+ stats->obytes += ppio_stats.tx_bytes;
stats->ipackets += ppio_stats.rx_packets - drop_mac;
stats->opackets += ppio_stats.tx_packets;
stats->imissed += ppio_stats.rx_fullq_dropped +
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v2 04/37] net/mvpp2: remove VLAN flush
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
` (2 preceding siblings ...)
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics lironh
@ 2021-01-22 19:18 ` lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 05/37] net/mvpp2: remove CRC len from MRU validation lironh
` (2 subsequent siblings)
6 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-22 19:18 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable
From: Liron Himi <lironh@marvell.com>
VLAN-flush in MUSDK is not supported yet.
until it does, the code should be removed as currently
an redundant error message is displayed.
Fixes: a8f3d6783 ("net/mrvl: support VLAN filtering")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 12 ------------
drivers/net/mvpp2/mrvl_ethdev.h | 1 -
2 files changed, 13 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index a1a3c0e31..559379fcd 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -671,18 +671,6 @@ mrvl_dev_start(struct rte_eth_dev *dev)
priv->uc_mc_flushed = 1;
}
- if (!priv->vlan_flushed) {
- ret = pp2_ppio_flush_vlan(priv->ppio);
- if (ret) {
- MRVL_LOG(ERR, "Failed to flush vlan list");
- /*
- * TODO
- * once pp2_ppio_flush_vlan() is supported jump to out
- * goto out;
- */
- }
- priv->vlan_flushed = 1;
- }
ret = mrvl_mtu_set(dev, dev->data->mtu);
if (ret)
MRVL_LOG(ERR, "Failed to set MTU to %d", dev->data->mtu);
diff --git a/drivers/net/mvpp2/mrvl_ethdev.h b/drivers/net/mvpp2/mrvl_ethdev.h
index db6632f5b..eee5182ce 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.h
+++ b/drivers/net/mvpp2/mrvl_ethdev.h
@@ -186,7 +186,6 @@ struct mrvl_priv {
uint8_t bpool_bit;
uint8_t rss_hf_tcp;
uint8_t uc_mc_flushed;
- uint8_t vlan_flushed;
uint8_t isolated;
uint8_t multiseg;
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v2 05/37] net/mvpp2: remove CRC len from MRU validation
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
` (3 preceding siblings ...)
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 04/37] net/mvpp2: remove VLAN flush lironh
@ 2021-01-22 19:18 ` lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 06/37] net/mvpp2: fix frame size checking lironh
[not found] ` <20210127160948.6008-1-lironh@marvell.com>
6 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-22 19:18 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable, Yuri Chipchev
From: Liron Himi <lironh@marvell.com>
CRC is being removed by HW before packet get
write to the buffer, so CRC len should not be
included in MRU validation
Fixes: 79ec62028 ("net/mvpp2: update MTU and MRU related calculations")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Yuri Chipchev <yuric@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 559379fcd..133006f3e 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -441,8 +441,8 @@ mrvl_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
* when this feature has not been enabled/supported so far
* (TODO check scattered_rx flag here once scattered RX is supported).
*/
- if (mru + MRVL_PKT_OFFS > mbuf_data_size) {
- mru = mbuf_data_size - MRVL_PKT_OFFS;
+ if (mru - RTE_ETHER_CRC_LEN + MRVL_PKT_OFFS > mbuf_data_size) {
+ mru = mbuf_data_size + RTE_ETHER_CRC_LEN - MRVL_PKT_OFFS;
mtu = MRVL_PP2_MRU_TO_MTU(mru);
MRVL_LOG(WARNING, "MTU too big, max MTU possible limitted "
"by current mbuf size: %u. Set MTU to %u, MRU to %u",
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v2 06/37] net/mvpp2: fix frame size checking
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
` (4 preceding siblings ...)
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 05/37] net/mvpp2: remove CRC len from MRU validation lironh
@ 2021-01-22 19:18 ` lironh
[not found] ` <20210127160948.6008-1-lironh@marvell.com>
6 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-22 19:18 UTC (permalink / raw)
To: jerinj; +Cc: dev, Liron Himi, stable, Yuri Chipchev
From: Liron Himi <lironh@marvell.com>
Need to add CRC len to the frame-size to compare against
max_rx_pkt_len which includes it.
Fixes: 79ec62028 ("net/mvpp2: update MTU and MRU related calculations")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Yuri Chipchev <yuric@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 133006f3e..f7e3f62e3 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1699,7 +1699,8 @@ mrvl_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
return -EFAULT;
}
- frame_size = buf_size - RTE_PKTMBUF_HEADROOM - MRVL_PKT_EFFEC_OFFS;
+ frame_size = buf_size - RTE_PKTMBUF_HEADROOM -
+ MRVL_PKT_EFFEC_OFFS + RTE_ETHER_CRC_LEN;
if (frame_size < max_rx_pkt_len) {
MRVL_LOG(WARNING,
"Mbuf size must be increased to %u bytes to hold up "
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics lironh
@ 2021-01-26 17:02 ` Ferruh Yigit
2021-01-26 17:25 ` [dpdk-stable] [EXT] " Liron Himi
0 siblings, 1 reply; 31+ messages in thread
From: Ferruh Yigit @ 2021-01-26 17:02 UTC (permalink / raw)
To: lironh, jerinj; +Cc: dev, Yuri Chipchev, stable, Andrew Rybchenko
On 1/22/2021 7:18 PM, lironh@marvell.com wrote:
> From: Yuri Chipchev <yuric@marvell.com>
>
> 4B of CRC was not included in the bytes statistics
>
> Fixes: bdffe0c70 ("net/mrvl: support basic stats")
> Cc: stable@dpdk.org
>
> Signed-off-by: Yuri Chipchev <yuric@marvell.com>
> Reviewed-by: Liron Himi <lironh@marvell.com>
> ---
> drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
> index bfe496ff7..a1a3c0e31 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> rx_stats.drop_fullq +
> rx_stats.drop_bm +
> rxq->drop_mac;
> - stats->ibytes += rxq->bytes_recv;
> drop_mac += rxq->drop_mac;
> }
>
> @@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
>
> stats->q_opackets[idx] = tx_stats.deq_desc;
> stats->q_obytes[idx] = txq->bytes_sent;
> - stats->obytes += txq->bytes_sent;
> }
>
> ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0);
> @@ -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> return ret;
> }
>
> + stats->ibytes += ppio_stats.rx_bytes;
> + stats->obytes += ppio_stats.tx_bytes;
> stats->ipackets += ppio_stats.rx_packets - drop_mac;
> stats->opackets += ppio_stats.tx_packets;
> stats->imissed += ppio_stats.rx_fullq_dropped +
>
Is this patch adding CRC to the stats? If so that is wrong, stats should not
have the CRC.
A recent clarification from Andrew:
https://patches.dpdk.org/patch/86975/
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [EXT] Re: [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics
2021-01-26 17:02 ` Ferruh Yigit
@ 2021-01-26 17:25 ` Liron Himi
2021-01-26 17:29 ` Ferruh Yigit
0 siblings, 1 reply; 31+ messages in thread
From: Liron Himi @ 2021-01-26 17:25 UTC (permalink / raw)
To: Ferruh Yigit, Jerin Jacob Kollanukkaran
Cc: dev, Yuri Chipchev, stable, Andrew Rybchenko, Liron Himi
-----Original Message-----
From: Ferruh Yigit <ferruh.yigit@intel.com>
Sent: Tuesday, 26 January 2021 19:03
To: Liron Himi <lironh@marvell.com>; Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Yuri Chipchev <yuric@marvell.com>; stable@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>
Subject: [EXT] Re: [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics
External Email
----------------------------------------------------------------------
On 1/22/2021 7:18 PM, lironh@marvell.com wrote:
> From: Yuri Chipchev <yuric@marvell.com>
>
> 4B of CRC was not included in the bytes statistics
>
> Fixes: bdffe0c70 ("net/mrvl: support basic stats")
> Cc: stable@dpdk.org
>
> Signed-off-by: Yuri Chipchev <yuric@marvell.com>
> Reviewed-by: Liron Himi <lironh@marvell.com>
> ---
> drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c
> b/drivers/net/mvpp2/mrvl_ethdev.c index bfe496ff7..a1a3c0e31 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> rx_stats.drop_fullq +
> rx_stats.drop_bm +
> rxq->drop_mac;
> - stats->ibytes += rxq->bytes_recv;
> drop_mac += rxq->drop_mac;
> }
>
> @@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct
> rte_eth_stats *stats)
>
> stats->q_opackets[idx] = tx_stats.deq_desc;
> stats->q_obytes[idx] = txq->bytes_sent;
> - stats->obytes += txq->bytes_sent;
> }
>
> ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0); @@
> -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> return ret;
> }
>
> + stats->ibytes += ppio_stats.rx_bytes;
> + stats->obytes += ppio_stats.tx_bytes;
> stats->ipackets += ppio_stats.rx_packets - drop_mac;
> stats->opackets += ppio_stats.tx_packets;
> stats->imissed += ppio_stats.rx_fullq_dropped +
>
Is this patch adding CRC to the stats? If so that is wrong, stats should not have the CRC.
A recent clarification from Andrew:
https://urldefense.proofpoint.com/v2/url?u=https-3A__patches.dpdk.org_patch_86975_&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=M6lEONY3jVnAkBjt0yC6oAsT7Jn2HI7LhNHCQYlnx1Q&m=iYhQSv2FUrmxLNQcxo6cAiLpoeqeTx1mQKadLot0jh0&s=lYaS0RY6n4QOlhzd3Z9PTxtR42lbqxPt1Pm1uODpWJg&e=
[L.H.] okay, so based on this new clarification, this patch should not be merged to both next and stable branches.
thanks
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [dpdk-stable] [EXT] Re: [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics
2021-01-26 17:25 ` [dpdk-stable] [EXT] " Liron Himi
@ 2021-01-26 17:29 ` Ferruh Yigit
0 siblings, 0 replies; 31+ messages in thread
From: Ferruh Yigit @ 2021-01-26 17:29 UTC (permalink / raw)
To: Liron Himi, Jerin Jacob Kollanukkaran
Cc: dev, Yuri Chipchev, stable, Andrew Rybchenko
On 1/26/2021 5:25 PM, Liron Himi wrote:
>
>
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Tuesday, 26 January 2021 19:03
> To: Liron Himi <lironh@marvell.com>; Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: dev@dpdk.org; Yuri Chipchev <yuric@marvell.com>; stable@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>
> Subject: [EXT] Re: [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics
>
> External Email
>
> ----------------------------------------------------------------------
> On 1/22/2021 7:18 PM, lironh@marvell.com wrote:
>> From: Yuri Chipchev <yuric@marvell.com>
>>
>> 4B of CRC was not included in the bytes statistics
>>
>> Fixes: bdffe0c70 ("net/mrvl: support basic stats")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Yuri Chipchev <yuric@marvell.com>
>> Reviewed-by: Liron Himi <lironh@marvell.com>
>> ---
>> drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c
>> b/drivers/net/mvpp2/mrvl_ethdev.c index bfe496ff7..a1a3c0e31 100644
>> --- a/drivers/net/mvpp2/mrvl_ethdev.c
>> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
>> @@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
>> rx_stats.drop_fullq +
>> rx_stats.drop_bm +
>> rxq->drop_mac;
>> - stats->ibytes += rxq->bytes_recv;
>> drop_mac += rxq->drop_mac;
>> }
>>
>> @@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct
>> rte_eth_stats *stats)
>>
>> stats->q_opackets[idx] = tx_stats.deq_desc;
>> stats->q_obytes[idx] = txq->bytes_sent;
>> - stats->obytes += txq->bytes_sent;
>> }
>>
>> ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0); @@
>> -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
>> return ret;
>> }
>>
>> + stats->ibytes += ppio_stats.rx_bytes;
>> + stats->obytes += ppio_stats.tx_bytes;
>> stats->ipackets += ppio_stats.rx_packets - drop_mac;
>> stats->opackets += ppio_stats.tx_packets;
>> stats->imissed += ppio_stats.rx_fullq_dropped +
>>
>
> Is this patch adding CRC to the stats? If so that is wrong, stats should not have the CRC.
>
> A recent clarification from Andrew:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__patches.dpdk.org_patch_86975_&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=M6lEONY3jVnAkBjt0yC6oAsT7Jn2HI7LhNHCQYlnx1Q&m=iYhQSv2FUrmxLNQcxo6cAiLpoeqeTx1mQKadLot0jh0&s=lYaS0RY6n4QOlhzd3Z9PTxtR42lbqxPt1Pm1uODpWJg&e=
>
> [L.H.] okay, so based on this new clarification, this patch should not be merged to both next and stable branches.
> thanks
>
sure, I can drop it in next-net.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v3 01/34] net/mvpp2: fix stack corruption
[not found] ` <20210127160948.6008-1-lironh@marvell.com>
@ 2021-01-27 16:09 ` lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 02/34] net/mvpp2: remove debug log on fast-path lironh
` (3 subsequent siblings)
4 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-27 16:09 UTC (permalink / raw)
To: jerinj, ferruh.yigit; +Cc: dev, Yuri Chipchev, stable, Liron Himi
From: Yuri Chipchev <yuric@marvell.com>
Fixes stack corruption in mrvl_fill_bpool function
in case num > MRVL_PP2_RXD_MAX
Fixes: c3637258d894 ("net/mrvl: fix Rx descriptors number")
Cc: stable@dpdk.org
Signed-off-by: Yuri Chipchev <yuric@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index f25cf9e46d..93fb30cdb8 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1614,8 +1614,8 @@ mrvl_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
static int
mrvl_fill_bpool(struct mrvl_rxq *rxq, int num)
{
- struct buff_release_entry entries[MRVL_PP2_RXD_MAX];
- struct rte_mbuf *mbufs[MRVL_PP2_RXD_MAX];
+ struct buff_release_entry entries[num];
+ struct rte_mbuf *mbufs[num];
int i, ret;
unsigned int core_id;
struct pp2_hif *hif;
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v3 02/34] net/mvpp2: remove debug log on fast-path
[not found] ` <20210127160948.6008-1-lironh@marvell.com>
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 01/34] net/mvpp2: fix stack corruption lironh
@ 2021-01-27 16:09 ` lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 03/34] net/mvpp2: remove VLAN flush lironh
` (2 subsequent siblings)
4 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-27 16:09 UTC (permalink / raw)
To: jerinj, ferruh.yigit; +Cc: dev, Liron Himi, stable
From: Liron Himi <lironh@marvell.com>
In case of non-ip frame the current code reached the 'default'
case which result with function call to log a msg.
those kind of calls should not be performed on fast-path.
The performance for this kind of frames increased by 50%
Fixes: acab7d58c ("net/mvpp2: convert to dynamic logging")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 27 ++++-----------------------
1 file changed, 4 insertions(+), 23 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 93fb30cdb8..bfe496ff74 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -2171,7 +2171,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
*l4_offset = *l3_offset + MRVL_ARP_LENGTH;
break;
default:
- MRVL_LOG(DEBUG, "Failed to recognise l3 packet type");
break;
}
@@ -2183,7 +2182,6 @@ mrvl_desc_to_packet_type_and_offset(struct pp2_ppio_desc *desc,
packet_type |= RTE_PTYPE_L4_UDP;
break;
default:
- MRVL_LOG(DEBUG, "Failed to recognise l4 packet type");
break;
}
@@ -2253,10 +2251,9 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
ret = pp2_ppio_recv(q->priv->ppio, q->priv->rxq_map[q->queue_id].tc,
q->priv->rxq_map[q->queue_id].inq, descs, &nb_pkts);
- if (unlikely(ret < 0)) {
- MRVL_LOG(ERR, "Failed to receive packets");
+ if (unlikely(ret < 0))
return 0;
- }
+
mrvl_port_bpool_size[bpool->pp2_id][bpool->id][core_id] -= nb_pkts;
for (i = 0; i < nb_pkts; i++) {
@@ -2319,21 +2316,13 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
if (unlikely(num <= q->priv->bpool_min_size ||
(!rx_done && num < q->priv->bpool_init_size))) {
- ret = mrvl_fill_bpool(q, MRVL_BURST_SIZE);
- if (ret)
- MRVL_LOG(ERR, "Failed to fill bpool");
+ mrvl_fill_bpool(q, MRVL_BURST_SIZE);
} else if (unlikely(num > q->priv->bpool_max_size)) {
int i;
int pkt_to_remove = num - q->priv->bpool_init_size;
struct rte_mbuf *mbuf;
struct pp2_buff_inf buff;
- MRVL_LOG(DEBUG,
- "port-%d:%d: bpool %d oversize - remove %d buffers (pool size: %d -> %d)",
- bpool->pp2_id, q->priv->ppio->port_id,
- bpool->id, pkt_to_remove, num,
- q->priv->bpool_init_size);
-
for (i = 0; i < pkt_to_remove; i++) {
ret = pp2_bpool_get_buff(hif, bpool, &buff);
if (ret)
@@ -2526,12 +2515,8 @@ mrvl_tx_pkt_burst(void *txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
sq, q->queue_id, 0);
sq_free_size = MRVL_PP2_TX_SHADOWQ_SIZE - sq->size - 1;
- if (unlikely(nb_pkts > sq_free_size)) {
- MRVL_LOG(DEBUG,
- "No room in shadow queue for %d packets! %d packets will be sent.",
- nb_pkts, sq_free_size);
+ if (unlikely(nb_pkts > sq_free_size))
nb_pkts = sq_free_size;
- }
for (i = 0; i < nb_pkts; i++) {
struct rte_mbuf *mbuf = tx_pkts[i];
@@ -2648,10 +2633,6 @@ mrvl_tx_sg_pkt_burst(void *txq, struct rte_mbuf **tx_pkts,
*/
if (unlikely(total_descs > sq_free_size)) {
total_descs -= nb_segs;
- RTE_LOG(DEBUG, PMD,
- "No room in shadow queue for %d packets! "
- "%d packets will be sent.\n",
- nb_pkts, i);
break;
}
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v3 03/34] net/mvpp2: remove VLAN flush
[not found] ` <20210127160948.6008-1-lironh@marvell.com>
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 01/34] net/mvpp2: fix stack corruption lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 02/34] net/mvpp2: remove debug log on fast-path lironh
@ 2021-01-27 16:09 ` lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 04/34] net/mvpp2: remove CRC len from MRU validation lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 05/34] net/mvpp2: fix frame size checking lironh
4 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-27 16:09 UTC (permalink / raw)
To: jerinj, ferruh.yigit; +Cc: dev, Liron Himi, stable
From: Liron Himi <lironh@marvell.com>
VLAN-flush in MUSDK is not supported yet.
until it does, the code should be removed as currently
an redundant error message is displayed.
Fixes: a8f3d6783 ("net/mrvl: support VLAN filtering")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 12 ------------
drivers/net/mvpp2/mrvl_ethdev.h | 1 -
2 files changed, 13 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index bfe496ff74..0c338c0c00 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -671,18 +671,6 @@ mrvl_dev_start(struct rte_eth_dev *dev)
priv->uc_mc_flushed = 1;
}
- if (!priv->vlan_flushed) {
- ret = pp2_ppio_flush_vlan(priv->ppio);
- if (ret) {
- MRVL_LOG(ERR, "Failed to flush vlan list");
- /*
- * TODO
- * once pp2_ppio_flush_vlan() is supported jump to out
- * goto out;
- */
- }
- priv->vlan_flushed = 1;
- }
ret = mrvl_mtu_set(dev, dev->data->mtu);
if (ret)
MRVL_LOG(ERR, "Failed to set MTU to %d", dev->data->mtu);
diff --git a/drivers/net/mvpp2/mrvl_ethdev.h b/drivers/net/mvpp2/mrvl_ethdev.h
index db6632f5b6..eee5182ce8 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.h
+++ b/drivers/net/mvpp2/mrvl_ethdev.h
@@ -186,7 +186,6 @@ struct mrvl_priv {
uint8_t bpool_bit;
uint8_t rss_hf_tcp;
uint8_t uc_mc_flushed;
- uint8_t vlan_flushed;
uint8_t isolated;
uint8_t multiseg;
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v3 04/34] net/mvpp2: remove CRC len from MRU validation
[not found] ` <20210127160948.6008-1-lironh@marvell.com>
` (2 preceding siblings ...)
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 03/34] net/mvpp2: remove VLAN flush lironh
@ 2021-01-27 16:09 ` lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 05/34] net/mvpp2: fix frame size checking lironh
4 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-27 16:09 UTC (permalink / raw)
To: jerinj, ferruh.yigit; +Cc: dev, Liron Himi, stable, Yuri Chipchev
From: Liron Himi <lironh@marvell.com>
CRC is being removed by HW before packet get
write to the buffer, so CRC len should not be
included in MRU validation
Fixes: 79ec62028 ("net/mvpp2: update MTU and MRU related calculations")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Yuri Chipchev <yuric@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 0c338c0c00..eafe4f7ac9 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -441,8 +441,8 @@ mrvl_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
* when this feature has not been enabled/supported so far
* (TODO check scattered_rx flag here once scattered RX is supported).
*/
- if (mru + MRVL_PKT_OFFS > mbuf_data_size) {
- mru = mbuf_data_size - MRVL_PKT_OFFS;
+ if (mru - RTE_ETHER_CRC_LEN + MRVL_PKT_OFFS > mbuf_data_size) {
+ mru = mbuf_data_size + RTE_ETHER_CRC_LEN - MRVL_PKT_OFFS;
mtu = MRVL_PP2_MRU_TO_MTU(mru);
MRVL_LOG(WARNING, "MTU too big, max MTU possible limitted "
"by current mbuf size: %u. Set MTU to %u, MRU to %u",
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [dpdk-stable] [PATCH v3 05/34] net/mvpp2: fix frame size checking
[not found] ` <20210127160948.6008-1-lironh@marvell.com>
` (3 preceding siblings ...)
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 04/34] net/mvpp2: remove CRC len from MRU validation lironh
@ 2021-01-27 16:09 ` lironh
4 siblings, 0 replies; 31+ messages in thread
From: lironh @ 2021-01-27 16:09 UTC (permalink / raw)
To: jerinj, ferruh.yigit; +Cc: dev, Liron Himi, stable, Yuri Chipchev
From: Liron Himi <lironh@marvell.com>
Need to add CRC len to the frame-size to compare against
max_rx_pkt_len which includes it.
Fixes: 79ec62028 ("net/mvpp2: update MTU and MRU related calculations")
Cc: stable@dpdk.org
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Yuri Chipchev <yuric@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index eafe4f7ac9..6cd5acd337 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -1699,7 +1699,8 @@ mrvl_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
return -EFAULT;
}
- frame_size = buf_size - RTE_PKTMBUF_HEADROOM - MRVL_PKT_EFFEC_OFFS;
+ frame_size = buf_size - RTE_PKTMBUF_HEADROOM -
+ MRVL_PKT_EFFEC_OFFS + RTE_ETHER_CRC_LEN;
if (frame_size < max_rx_pkt_len) {
MRVL_LOG(WARNING,
"Mbuf size must be increased to %u bytes to hold up "
--
2.28.0
^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2021-01-27 16:10 UTC | newest]
Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20201202101212.4717-1-lironh@marvell.com>
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 01/38] net/mvpp2: fix stack corruption lironh
2020-12-23 9:43 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 02/38] net/mvpp2: remove debug log on fast-path lironh
2020-12-23 9:44 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2021-01-11 14:33 ` Jerin Jacob
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 03/38] net/mvpp2: fix rx/tx bytes statistics lironh
2020-12-23 9:43 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 04/38] net/mvpp2: skip vlan flush lironh
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2021-01-11 14:38 ` Jerin Jacob
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 05/38] net/mvpp2: remove CRC len from MRU validation lironh
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 06/38] net/mvpp2: fix frame size checking lironh
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2020-12-02 10:11 ` [dpdk-stable] [PATCH v1 07/38] net/mvpp2: reduce prints on rx path lironh
2020-12-23 9:42 ` [dpdk-stable] [dpdk-dev] " Michael Shamis
2021-01-11 14:40 ` Jerin Jacob
[not found] ` <20210122191925.24308-1-lironh@marvell.com>
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 01/37] net/mvpp2: fix stack corruption lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 02/37] net/mvpp2: remove debug log on fast-path lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics lironh
2021-01-26 17:02 ` Ferruh Yigit
2021-01-26 17:25 ` [dpdk-stable] [EXT] " Liron Himi
2021-01-26 17:29 ` Ferruh Yigit
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 04/37] net/mvpp2: remove VLAN flush lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 05/37] net/mvpp2: remove CRC len from MRU validation lironh
2021-01-22 19:18 ` [dpdk-stable] [PATCH v2 06/37] net/mvpp2: fix frame size checking lironh
[not found] ` <20210127160948.6008-1-lironh@marvell.com>
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 01/34] net/mvpp2: fix stack corruption lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 02/34] net/mvpp2: remove debug log on fast-path lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 03/34] net/mvpp2: remove VLAN flush lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 04/34] net/mvpp2: remove CRC len from MRU validation lironh
2021-01-27 16:09 ` [dpdk-stable] [PATCH v3 05/34] net/mvpp2: fix frame size checking lironh
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).