/* empty vmdq configuration structure. Filled in programatically */static
struct rte_eth_conf vmdq_conf_default = { .rxmode = { .mq_mode =
ETH_MQ_RX_VMDQ_ONLY, .split_hdr_size = 0, .header_split = 0, /**< Header
Split disabled */ .hw_ip_checksum = 0, /**< IP checksum offload disabled */
.hw_vlan_filter = 0, /**< VLAN filtering disabled */ /* * It is necessary for
1G NIC such as I350, * this fixes bug of ipv4 forwarding in guest can't *
forward pakets from one virtio dev to another virtio dev. */ .hw_vlan_strip =
1, /**< VLAN strip enabled. */ .jumbo_frame = 0, /**< Jumbo Frame Support
disabled */ .hw_strip_crc = 1, /**< CRC stripped by hardware */
.enable_scatter = 1, //required for jumbofram + 1500. .jumbo_frame = 1,
//required for jumbofram + 1500. },
.txmode = { .mq_mode = ETH_MQ_TX_NONE, }, .rx_adv_conf = { /* * should be
overridden separately in code with * appropriate values */ .vmdq_rx_conf = {
.nb_queue_pools = ETH_8_POOLS, .enable_default_pool = 0, .default_pool = 0,
.nb_pool_maps = 0, .pool_map = {{0, 0},}, }, },};
This is my config. am i missing something?
From: Stephen Hemminger <[email protected]>
To: Dharmesh Mehta <[email protected]>
Cc: Users <[email protected]>
Sent: Thursday, August 24, 2017 4:18 PM
Subject: Re: [dpdk-users] Fails to receive data more than 1500 bytes.
On Thu, 24 Aug 2017 22:19:27 +0000 (UTC)
Dharmesh Mehta <[email protected]> wrote:
> Hello,
> I am using Intel i350 NIC card, and I am not able to receive data more than
> 1500 bytes in a packet. I tried igb_uio as well as uio_pci_generic driver,
> but both fails.
> If I reduce data <= 1500 bytes than it works, but any thing more than 1500 is
> not able to receive.
> Do I have to tune any config parameter in order to support more than 1500?
> I tried to set MTU from code using API - rte_eth_dev_set_mtu(port_id, mtu) ,
> but no success.
> 0000:03:00.0 'I350 Gigabit Network Connection 1521' drv=igb_uio
> unused=vfio-pci,uio_pci_generic0000:03:00.1 'I350 Gigabit Network Connection
> 1521' drv=uio_pci_generic unused=igb_uio,vfio-pci0000:03:00.2 'I350 Gigabit
> Network Connection 1521' drv=uio_pci_generic
> unused=igb_uio,vfio-pci0000:03:00.3 'I350 Gigabit Network Connection 1521'
> drv=uio_pci_generic unused=igb_uio,vfio-pci
> Thanks in advance.DM.
In order to support >1500 bytes, you need to at least:
1. set jumbo_frame when setting rxmode
2. set enable_scatter in rxmode (unless mtu + overhead < pool size)
3. make sure pool mbuf size > eth->min_rx_buf_size