Skip to content

Commit

Permalink
net/octeontx2: fix MTU when PTP is enabled
Browse files Browse the repository at this point in the history
[ upstream commit 07d15d4 ]

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: b5dc314 ("net/octeontx2: support base PTP")

Signed-off-by: Hanumanth Reddy Pothula <hpothula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
  • Loading branch information
hpothula-git authored and cpaelzer committed Nov 30, 2021
1 parent 8c58b36 commit 0b0a33d
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion drivers/net/octeontx2/otx2_ethdev_ops.c
Expand Up @@ -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)
Expand Down Expand Up @@ -560,6 +561,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;
Expand Down

0 comments on commit 0b0a33d

Please sign in to comment.