MCPcopy Create free account
hub / github.com/F-Stack/f-stack / mlx5_dev_set_mtu

Function mlx5_dev_set_mtu

dpdk/drivers/net/mlx5/mlx5_ethdev.c:663–696  ·  view source on GitHub ↗

* DPDK callback to change the MTU. * * @param dev * Pointer to Ethernet device structure. * @param in_mtu * New MTU. * * @return * 0 on success, a negative errno value otherwise and rte_errno is set. */

Source from the content-addressed store, hash-verified

661 * 0 on success, a negative errno value otherwise and rte_errno is set.
662 */
663int
664mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
665{
666 struct mlx5_priv *priv = dev->data->dev_private;
667 uint16_t kern_mtu = 0;
668 int ret;
669
670 ret = mlx5_get_mtu(dev, &kern_mtu);
671 if (ret)
672 return ret;
673
674 if (kern_mtu == mtu) {
675 priv->mtu = mtu;
676 DRV_LOG(DEBUG, "port %u adapter MTU was already set to %u",
677 dev->data->port_id, mtu);
678 return 0;
679 }
680
681 /* Set kernel interface MTU first. */
682 ret = mlx5_set_mtu(dev, mtu);
683 if (ret)
684 return ret;
685 ret = mlx5_get_mtu(dev, &kern_mtu);
686 if (ret)
687 return ret;
688 if (kern_mtu == mtu) {
689 priv->mtu = mtu;
690 DRV_LOG(DEBUG, "port %u adapter MTU set to %u",
691 dev->data->port_id, mtu);
692 return 0;
693 }
694 rte_errno = EAGAIN;
695 return -rte_errno;
696}
697
698/**
699 * Configure the RX function to use.

Callers 1

mlx5_dev_configureFunction · 0.85

Calls 2

mlx5_get_mtuFunction · 0.50
mlx5_set_mtuFunction · 0.50

Tested by

no test coverage detected