All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Meunier <julien.meunier@6wind.com>
To: "Zhu, Heqing" <heqing.zhu@intel.com>,
	"Zhang, Helin" <helin.zhang@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: i40e: cannot change mtu to enable jumbo frame
Date: Wed, 10 Feb 2016 11:53:39 +0100	[thread overview]
Message-ID: <56BB16B3.2040003@6wind.com> (raw)
In-Reply-To: <CAD16F236028A64DBBC0158B1636EA4512702A53@SHSMSX104.ccr.corp.intel.com>

On 02/09/2016 08:05 PM, Zhu, Heqing wrote:
> Helin is still in Chinese New Year Vacation. Will the below command option help ?
>
> 4.5.9. port config - max-pkt-len
> Set the maximum packet length:
>
> testpmd> port config all max-pkt-len (value)
> This is equivalent to the --max-pkt-len command-line option.
>
>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Julien Meunier
> Sent: Tuesday, February 9, 2016 9:36 AM
> To: Zhang, Helin <helin.zhang@intel.com>; dev@dpdk.org
> Subject: [dpdk-dev] i40e: cannot change mtu to enable jumbo frame
>
> Hello Helin,
>
> I tried to send jumbo frames to a i40e card. However, I observed that all frames are dropped. Moreover, set_mtu function is not implemented on i40e PMD.
>
>   > testpmd --log-level 8 --huge-dir=/mnt/huge -n 4 -l 2,18 --socket-mem
> 1024,1024 -w 0000:02:00.0 -w 0000:02:00.2 -- -i --nb-cores=1
> --nb-ports=2 --total-num-mbufs=65536
>
> =============
> Configuration
> =============
>
> +-----------+          +-------------+
> |           |          |             |
> | tgen      |          |             |
> |           +----------+ port 0      |
> |           |          |             |
> |           |          |             |
> |           |          |             |
> |           |          |             |
> |           +----------+ port 1      |
> |           |          |             |
> +-----------+          +-------------+
>
> DPDK: DPDK-v2.2
>
> ==========
> MTU = 1500
> ==========
> Packet sent from a tgen
>   > p = Ether / IP / UDP / Raw(MTU + HDR(Ethernet)- HDR(IP) - HDR(UDP))  > len(p) = 1514
>
> testpmd> start
> PMD: i40e_rxd_to_vlan_tci(): Mbuf vlan_tci: 0, vlan_tci_outer: 0
> testpmd> stop
> Telling cores to stop...
> Waiting for lcores to finish...
> PMD: i40e_update_vsi_stats(): *** VSI[13] stats start ***
> PMD: i40e_update_vsi_stats(): rx_bytes:            1518
> PMD: i40e_update_vsi_stats(): rx_unicast:          1
> PMD: i40e_update_vsi_stats(): *** VSI[13] stats end ***
> PMD: i40e_dev_stats_get(): *** PF stats start ***
> PMD: i40e_dev_stats_get(): rx_bytes:            1514
> PMD: i40e_dev_stats_get(): rx_unicast:          1
> PMD: i40e_dev_stats_get(): rx_unknown_protocol: 1
> PMD: i40e_dev_stats_get(): rx_size_1522:             1
> PMD: i40e_dev_stats_get(): *** PF stats end ***
>
>     -------------- Forward statistics for port 0  --------------
>     RX-packets: 1              RX-dropped: 0             RX-total: 1
>     TX-packets: 0              TX-dropped: 0             TX-total: 0
>
> ----------------------------------------------------------------------------
> PMD: i40e_update_vsi_stats(): *** VSI[14] stats start ***
> PMD: i40e_update_vsi_stats(): tx_bytes:            1514
> PMD: i40e_update_vsi_stats(): tx_unicast:          1
> PMD: i40e_update_vsi_stats(): *** VSI[14] stats end ***
> PMD: i40e_dev_stats_get(): *** PF stats start ***
> PMD: i40e_dev_stats_get(): tx_bytes:            1514
> PMD: i40e_dev_stats_get(): tx_unicast:          1
> PMD: i40e_dev_stats_get(): tx_size_1522:             1
> PMD: i40e_dev_stats_get(): *** PF stats end ***
>
>     -------------- Forward statistics for port 1 --------------
>     RX-packets: 0              RX-dropped: 0             RX-total: 0
>     TX-packets: 1              TX-dropped: 0             TX-total: 1
>
> ----------------------------------------------------------------------------
>
>     +++++ Accumulated forward statistics for all ports+++++
>     RX-packets: 1              RX-dropped: 0             RX-total: 1
>     TX-packets: 1              TX-dropped: 0             TX-total: 1
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> => OK
>
> ==========
> MTU = 1600
> ==========
> Packet sent
>   > p = Ether / IP / UDP / Raw(MTU + HDR(Ethernet)- HDR(IP) - HDR(UDP))  > len(p) = 1614
>
> testpmd> port config mtu 0 1600
> rte_eth_dev_set_mtu: Function not supported Set MTU failed. diag=-95
> testpmd> port config mtu 1 1600
> rte_eth_dev_set_mtu: Function not supported Set MTU failed. diag=-95
> testpmd> start
> testpmd> stop
> Telling cores to stop...
> Waiting for lcores to finish...
> PMD: i40e_update_vsi_stats(): *** VSI[13] stats start ***
> PMD: i40e_update_vsi_stats(): rx_bytes:            1618
> PMD: i40e_update_vsi_stats(): rx_unicast:          1
> PMD: i40e_update_vsi_stats(): *** VSI[13] stats end ***
> PMD: i40e_dev_stats_get(): *** PF stats start ***
> PMD: i40e_dev_stats_get(): rx_bytes:            1614
> PMD: i40e_dev_stats_get(): rx_unicast:          1
> PMD: i40e_dev_stats_get(): rx_unknown_protocol: 1
> PMD: i40e_dev_stats_get(): rx_size_big:              1
> PMD: i40e_dev_stats_get(): *** PF stats end ***
>
>     -------------- Forward statistics for port 0  --------------
>     RX-packets: 1              RX-dropped: 0             RX-total: 1
>     TX-packets: 0              TX-dropped: 0             TX-total: 0
>
> ----------------------------------------------------------------------------
> PMD: i40e_update_vsi_stats(): *** VSI[14] stats start ***
> PMD: i40e_update_vsi_stats(): tx_bytes:            0
> PMD: i40e_update_vsi_stats(): tx_unicast:          0
> PMD: i40e_update_vsi_stats(): *** VSI[14] stats end ***
> PMD: i40e_dev_stats_get(): *** PF stats start ***
> PMD: i40e_dev_stats_get(): tx_bytes:            0
> PMD: i40e_dev_stats_get(): tx_unicast:          0
> PMD: i40e_dev_stats_get(): tx_size_big:              0
> PMD: i40e_dev_stats_get(): *** PF stats end ***
>
>     -------------- Forward statistics for port 1  --------------
>     RX-packets: 0              RX-dropped: 0             RX-total: 0
>     TX-packets: 0              TX-dropped: 0             TX-total: 0
>
> ----------------------------------------------------------------------------
>
>     +++++ Accumulated forward statistics for all ports+++++
>     RX-packets: 1              RX-dropped: 0             RX-total: 1
>     TX-packets: 0              TX-dropped: 0             TX-total: 0
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Done.
>
> => Frame correctly received on port 0, but never forwarded or xmit on port 1.
>
> Does a mtu_set function will be developed soon in order to support jumbo frame ?
>
> Regards,
>
> --
> Julien MEUNIER
> 6WIND
>

On testpmd, this command enables jumbo frame, you are right.

However, all ports need to be stopped: jumbo frame cannot be enabled at 
runtime through the DPDK API on i40e PMD. Other Intel PMD, like ixgbe, 
support this feature with the set_mtu API. Why not on i40e ?

Regards,

-- 
Julien MEUNIER
6WIND

  reply	other threads:[~2016-02-10 10:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-09 16:35 i40e: cannot change mtu to enable jumbo frame Julien Meunier
2016-02-09 19:05 ` Zhu, Heqing
2016-02-10 10:53   ` Julien Meunier [this message]
2016-02-10 13:54     ` Ananyev, Konstantin
2016-02-10 15:20 ` Zhang, Helin
2016-02-12 14:08   ` Julien Meunier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56BB16B3.2040003@6wind.com \
    --to=julien.meunier@6wind.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@intel.com \
    --cc=heqing.zhu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.