net/tap: Allow jumbo frames

Message ID 315474c3-7004-2114-9e24-8344da7aca9e@tutus.se (mailing list archive)
State Superseded, archived
Delegated to: Andrew Rybchenko
Headers
Series net/tap: Allow jumbo frames |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation warning apply issues
ci/iol-testing warning apply patch failure

Commit Message

Francesco Mancino Aug. 8, 2022, 9:31 a.m. UTC
  eth_dev_validate_mtu, introduced in 990912e676e, validates configured
MTU plus overhead against max_rx_pktlen.
Since TAP is a virtual device, it should support as big MTU as possible.
---
  drivers/net/tap/rte_eth_tap.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

         dev_info->min_rx_bufsize = 0;
--
2.34.1
  

Comments

Stephen Hemminger Aug. 8, 2022, 2:41 p.m. UTC | #1
On Mon, 8 Aug 2022 11:31:16 +0200
Francesco Mancino <francesco.mancino@tutus.se> wrote:

> eth_dev_validate_mtu, introduced in 990912e676e, validates configured
> MTU plus overhead against max_rx_pktlen.
> Since TAP is a virtual device, it should support as big MTU as possible.
> ---
>   drivers/net/tap/rte_eth_tap.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
> index 9e1032fe72..54ca4ca5e9 100644
> --- a/drivers/net/tap/rte_eth_tap.c
> +++ b/drivers/net/tap/rte_eth_tap.c
> @@ -1066,7 +1066,7 @@ tap_dev_info(struct rte_eth_dev *dev, struct 
> rte_eth_dev_info *dev_info)
> 
>          dev_info->if_index = internals->if_index;
>          dev_info->max_mac_addrs = 1;
> -       dev_info->max_rx_pktlen = (uint32_t)RTE_ETHER_MAX_VLAN_FRAME_LEN;
> +       dev_info->max_rx_pktlen = (uint32_t)RTE_ETHER_MAX_JUMBO_FRAME_LEN;
>          dev_info->max_rx_queues = RTE_PMD_TAP_MAX_QUEUES;
>          dev_info->max_tx_queues = RTE_PMD_TAP_MAX_QUEUES;
>          dev_info->min_rx_bufsize = 0;
> --
> 2.34.1
> 
> 

OK but cast is not needed.
It wasn't needed before and not needed now.
By not having the cast the code has better chance of catching any issues
if sizes mismatch.
  

Patch

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 9e1032fe72..54ca4ca5e9 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -1066,7 +1066,7 @@  tap_dev_info(struct rte_eth_dev *dev, struct 
rte_eth_dev_info *dev_info)

         dev_info->if_index = internals->if_index;
         dev_info->max_mac_addrs = 1;
-       dev_info->max_rx_pktlen = (uint32_t)RTE_ETHER_MAX_VLAN_FRAME_LEN;
+       dev_info->max_rx_pktlen = (uint32_t)RTE_ETHER_MAX_JUMBO_FRAME_LEN;
         dev_info->max_rx_queues = RTE_PMD_TAP_MAX_QUEUES;
         dev_info->max_tx_queues = RTE_PMD_TAP_MAX_QUEUES;