From 07d15d4d84e89a2f7a56bec24225c8ff326a9cf8 Mon Sep 17 00:00:00 2001 From: Hanumanth Reddy Pothula Date: Tue, 10 Aug 2021 12:51:00 +0530 Subject: [PATCH] net/octeontx2: fix MTU when PTP is enabled Update MTU value based on PTP enable status and reserve eight bytes in TX path to accommodate VLAN tags. If PTP is enabled maximum allowed MTU is 9200 otherwise it's 9208. Fixes: b5dc3140448e ("net/octeontx2: support base PTP") Cc: stable@dpdk.org Signed-off-by: Hanumanth Reddy Pothula Acked-by: Jerin Jacob --- drivers/net/octeontx2/otx2_ethdev_ops.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c index 5a4501208e..552e6bd43d 100644 --- a/drivers/net/octeontx2/otx2_ethdev_ops.c +++ b/drivers/net/octeontx2/otx2_ethdev_ops.c @@ -17,7 +17,8 @@ otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu) struct nix_frs_cfg *req; int rc; - frame_size += NIX_TIMESYNC_RX_OFFSET * otx2_ethdev_is_ptp_en(dev); + if (dev->configured && otx2_ethdev_is_ptp_en(dev)) + frame_size += NIX_TIMESYNC_RX_OFFSET; /* Check if MTU is within the allowed range */ if (frame_size < NIX_MIN_FRS || frame_size > NIX_MAX_FRS) @@ -547,6 +548,11 @@ otx2_nix_info_get(struct rte_eth_dev *eth_dev, struct rte_eth_dev_info *devinfo) devinfo->max_vfs = pci_dev->max_vfs; devinfo->max_mtu = devinfo->max_rx_pktlen - NIX_L2_OVERHEAD; devinfo->min_mtu = devinfo->min_rx_bufsize - NIX_L2_OVERHEAD; + if (dev->configured && otx2_ethdev_is_ptp_en(dev)) { + devinfo->max_mtu -= NIX_TIMESYNC_RX_OFFSET; + devinfo->min_mtu -= NIX_TIMESYNC_RX_OFFSET; + devinfo->max_rx_pktlen -= NIX_TIMESYNC_RX_OFFSET; + } devinfo->rx_offload_capa = dev->rx_offload_capa; devinfo->tx_offload_capa = dev->tx_offload_capa; -- 2.20.1