From: Hanumanth Reddy Pothula Date: Tue, 10 Aug 2021 07:21:00 +0000 (+0530) Subject: net/octeontx2: fix MTU when PTP is enabled X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=07d15d4d84e89a2f7a56bec24225c8ff326a9cf8;hp=2c809af8a83a4be0fb2af626a6178b9cd8069c3e;p=dpdk.git 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 --- 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;