* [dpdk-dev] Issue with TX of Jumbo frames on 10G interfaces ONLY
@ 2017-07-14 5:38 Yeddula, Avinash
2017-07-24 13:14 ` Bruce Richardson
0 siblings, 1 reply; 3+ messages in thread
From: Yeddula, Avinash @ 2017-07-14 5:38 UTC (permalink / raw)
To: dev
Hi All,
In order to support Jumbo frames for our application, I made the below changes. The intention, here is to use "linked-mbufs instead of using 1 single 9k MBUF".
With the below changes, I'm able to send/receive 9k size frames on 1G interfaces successfully. No issues what so ever with 1G interfaces.
But, when it comes to 10G interfaces, I confirmed my app writes a jumbo frame on to the port "rte_eth_tx_burst", but that frame "never" showed up on the other end, it got lost somewhere inside this API "rte_eth_tx_burst" .
I do not see any type of "tx" stats ticked. Thought will check with the you folks, before I dig inside "rte_eth_tx_burst" API.
Is there any configs I'm missing for TX port, please comment ?
This is the driver I use for "net_ixgbe" for my 10G interface.
// local port config structure for initialization, code below may modify
struct rte_eth_conf port_conf = {
.rxmode = {
.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 */
.jumbo_frame = 1, /**< Jumbo Frame Support always enabled */
.max_rx_pkt_len = 9216, /**< If jumbo_frame is enabled then max_rx_pkt_len must be set */
.hw_strip_crc = 0, /**< CRC stripped by hardware */
},
.txmode = {
.mq_mode = ETH_MQ_TX_NONE,
},
.intr_conf.lsc = 0,
};
port_conf.rxmode.enable_scatter = 1;
port_conf.rxmode.hw_ip_checksum = 0;
Thanks
-Avinash
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] Issue with TX of Jumbo frames on 10G interfaces ONLY
2017-07-14 5:38 [dpdk-dev] Issue with TX of Jumbo frames on 10G interfaces ONLY Yeddula, Avinash
@ 2017-07-24 13:14 ` Bruce Richardson
2017-07-24 16:16 ` Yeddula, Avinash
0 siblings, 1 reply; 3+ messages in thread
From: Bruce Richardson @ 2017-07-24 13:14 UTC (permalink / raw)
To: Yeddula, Avinash; +Cc: dev
On Fri, Jul 14, 2017 at 05:38:45AM +0000, Yeddula, Avinash wrote:
> Hi All,
>
> In order to support Jumbo frames for our application, I made the below
> changes. The intention, here is to use "linked-mbufs instead of using
> 1 single 9k MBUF".
>
> With the below changes, I'm able to send/receive 9k size frames on 1G
> interfaces successfully. No issues what so ever with 1G interfaces.
> But, when it comes to 10G interfaces, I confirmed my app writes a
> jumbo frame on to the port "rte_eth_tx_burst", but that frame "never"
> showed up on the other end, it got lost somewhere inside this API
> "rte_eth_tx_burst" .
>
> I do not see any type of "tx" stats ticked. Thought will check with
> the you folks, before I dig inside "rte_eth_tx_burst" API. Is there
> any configs I'm missing for TX port, please comment ?
>
> This is the driver I use for "net_ixgbe" for my 10G interface.
>
> // local port config structure for initialization, code below
> may modify struct rte_eth_conf port_conf = { .rxmode = {
> .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 */ .jumbo_frame = 1, /**<
> Jumbo Frame Support always enabled */ .max_rx_pkt_len = 9216,
> /**< If jumbo_frame is enabled then max_rx_pkt_len must be set
> */ .hw_strip_crc = 0, /**< CRC stripped by hardware
> */ }, .txmode = { .mq_mode = ETH_MQ_TX_NONE, }, .intr_conf.lsc =
> 0, };
>
>
> port_conf.rxmode.enable_scatter = 1;
> port_conf.rxmode.hw_ip_checksum = 0;
>
>
When creating the TX queue itself via "rte_eth_tx_queue_setup()", ensure
the txq_flags field in the conf structure is set to zero. By default in
many drivers, the transmission of jumbo frames via multiple buffers is
disabled for performance reasons.
/Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] Issue with TX of Jumbo frames on 10G interfaces ONLY
2017-07-24 13:14 ` Bruce Richardson
@ 2017-07-24 16:16 ` Yeddula, Avinash
0 siblings, 0 replies; 3+ messages in thread
From: Yeddula, Avinash @ 2017-07-24 16:16 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev
Thanks Bruce for replying, I kind of figured it out. Like you mentioned I do see some performance dip with linked-mbufs, I believe this expected, is there a way to minimize the impact, all I need is to enable
linked-mbuf".
Thanks
-Avinash
-----Original Message-----
From: Bruce Richardson [mailto:bruce.richardson@intel.com]
Sent: Monday, July 24, 2017 6:14 AM
To: Yeddula, Avinash <ayeddula@ciena.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Issue with TX of Jumbo frames on 10G interfaces ONLY
On Fri, Jul 14, 2017 at 05:38:45AM +0000, Yeddula, Avinash wrote:
> Hi All,
>
> In order to support Jumbo frames for our application, I made the below
> changes. The intention, here is to use "linked-mbufs instead of using
> 1 single 9k MBUF".
>
> With the below changes, I'm able to send/receive 9k size frames on 1G
> interfaces successfully. No issues what so ever with 1G interfaces.
> But, when it comes to 10G interfaces, I confirmed my app writes a
> jumbo frame on to the port "rte_eth_tx_burst", but that frame "never"
> showed up on the other end, it got lost somewhere inside this API
> "rte_eth_tx_burst" .
>
> I do not see any type of "tx" stats ticked. Thought will check with
> the you folks, before I dig inside "rte_eth_tx_burst" API. Is there
> any configs I'm missing for TX port, please comment ?
>
> This is the driver I use for "net_ixgbe" for my 10G interface.
>
> // local port config structure for initialization, code below
> may modify struct rte_eth_conf port_conf = { .rxmode = {
> .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 */ .jumbo_frame = 1, /**<
> Jumbo Frame Support always enabled */ .max_rx_pkt_len = 9216,
> /**< If jumbo_frame is enabled then max_rx_pkt_len must be set
> */ .hw_strip_crc = 0, /**< CRC stripped by hardware
> */ }, .txmode = { .mq_mode = ETH_MQ_TX_NONE, }, .intr_conf.lsc =
> 0, };
>
>
> port_conf.rxmode.enable_scatter = 1;
> port_conf.rxmode.hw_ip_checksum = 0;
>
>
When creating the TX queue itself via "rte_eth_tx_queue_setup()", ensure the txq_flags field in the conf structure is set to zero. By default in many drivers, the transmission of jumbo frames via multiple buffers is disabled for performance reasons.
/Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-07-24 16:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-14 5:38 [dpdk-dev] Issue with TX of Jumbo frames on 10G interfaces ONLY Yeddula, Avinash
2017-07-24 13:14 ` Bruce Richardson
2017-07-24 16:16 ` Yeddula, Avinash
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).