DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits
       [not found] <CANwh_8ZXFZhs3iBDJFq7ebPTXkWkMLJDgLcw4iMeVgnzW5+AoA@mail.gmail.com>
@ 2016-06-28  6:41 ` Asim Jamshed
  2016-06-28  8:42   ` Lu, Wenzhuo
  0 siblings, 1 reply; 4+ messages in thread
From: Asim Jamshed @ 2016-06-28  6:41 UTC (permalink / raw)
  To: dev

Hi,

Apologies in advance if this question has been asked in
the past.

I have been performing mTCP-related tests on dpdk-16.04
with ixgbe PMD. I am using 82599ES 10-Gigabit adapters
for my experiments. I have a few queries regarding LRO.

1) What is the theoretical maximum size of the Ethernet frame
I can get from the driver once LRO is enabled? In my experiments,
I was seeing packet size as high as 16KB. Can it be as high
as ~2^16 bytes (iph->tot_len)?

2) Since the NIC is reassembling payloads (of one flow) into
a single packet, what does the Ethernet controller do with
the tcp checksum field in the TCP header? I am observing that
each LRO packet has checksum value as zero? Is that
normal? I could not find any relevant documentation on the
Web.

Thanks in advance,
--Asim

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits
  2016-06-28  6:41 ` [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits Asim Jamshed
@ 2016-06-28  8:42   ` Lu, Wenzhuo
  2016-06-28  9:23     ` Asim Jamshed
  0 siblings, 1 reply; 4+ messages in thread
From: Lu, Wenzhuo @ 2016-06-28  8:42 UTC (permalink / raw)
  To: Asim Jamshed, dev

Hi Asim,


> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Asim Jamshed
> Sent: Tuesday, June 28, 2016 2:41 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits
> 
> Hi,
> 
> Apologies in advance if this question has been asked in the past.
> 
> I have been performing mTCP-related tests on dpdk-16.04 with ixgbe PMD. I am
> using 82599ES 10-Gigabit adapters for my experiments. I have a few queries
> regarding LRO.
> 
> 1) What is the theoretical maximum size of the Ethernet frame I can get from
> the driver once LRO is enabled? In my experiments, I was seeing packet size as
> high as 16KB. Can it be as high as ~2^16 bytes (iph->tot_len)?
I'm not sure about if I understand your question correctly. Assume you're talking about the TCP segment after LRO. So, it's said there are no limitations on the maximum packet length.

> 
> 2) Since the NIC is reassembling payloads (of one flow) into a single packet,
> what does the Ethernet controller do with the tcp checksum field in the TCP
> header? I am observing that each LRO packet has checksum value as zero? Is
> that normal? I could not find any relevant documentation on the Web.
That's expected. 
You can search 82599 datasheet. I think that's what you're looking for.

> 
> Thanks in advance,
> --Asim

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits
  2016-06-28  8:42   ` Lu, Wenzhuo
@ 2016-06-28  9:23     ` Asim Jamshed
  2016-06-29  0:29       ` Lu, Wenzhuo
  0 siblings, 1 reply; 4+ messages in thread
From: Asim Jamshed @ 2016-06-28  9:23 UTC (permalink / raw)
  To: Lu, Wenzhuo; +Cc: dev

On Tue, Jun 28, 2016 at 5:42 PM, Lu, Wenzhuo <wenzhuo.lu@intel.com> wrote:
> Hi Asim,
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Asim Jamshed
>> Sent: Tuesday, June 28, 2016 2:41 PM
>> To: dev@dpdk.org
>> Subject: [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits
>>
>> Hi,
>>
>> Apologies in advance if this question has been asked in the past.
>>
>> I have been performing mTCP-related tests on dpdk-16.04 with ixgbe PMD. I am
>> using 82599ES 10-Gigabit adapters for my experiments. I have a few queries
>> regarding LRO.
>>
>> 1) What is the theoretical maximum size of the Ethernet frame I can get from
>> the driver once LRO is enabled? In my experiments, I was seeing packet size as
>> high as 16KB. Can it be as high as ~2^16 bytes (iph->tot_len)?
> I'm not sure about if I understand your question correctly. Assume you're talking about the TCP segment after LRO. So, it's said there are no limitations on the maximum packet length.

The issue that I am facing is fixing the size of mbuf.
The default size of mbuf is (2048 + sizeof(struct rte_mbuf) +
RTE_PKTMBUF_HEADROOM) which needs to be augmented
once lro is enabled (am I right?). I tried stretching the limits
of the mempool by increasing mbuf size to (65536 +
sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM),
and I got the following error:

Initializing port 0... EAL: Error - exiting with code: 1
  Cause: rte_eth_rx_queue_setup:err=-22, port=0, queueid: 0

My exact calls for rte_mempool_create() and
rte_eth_rx_queue_setup() were:

pktmbuf_pool = rte_mempool_create(name, 8192,
                                  MBUF_SIZE, 256,
                                  sizeof(struct rte_pktmbuf_pool_private),
                                  rte_pktmbuf_pool_init, NULL,
                                  rte_pktmbuf_init, NULL,
                                  rte_socket_id(), 0);

ret = rte_eth_rx_queue_setup(portid, rxlcore_id, 128,
rte_eth_dev_socket_id(portid), &rx_conf,
                                                pktmbuf_pool);

>
>>
>> 2) Since the NIC is reassembling payloads (of one flow) into a single packet,
>> what does the Ethernet controller do with the tcp checksum field in the TCP
>> header? I am observing that each LRO packet has checksum value as zero? Is
>> that normal? I could not find any relevant documentation on the Web.
> That's expected.
> You can search 82599 datasheet. I think that's what you're looking for.

Thanks!


Regards,
--Asim

>
>>
>> Thanks in advance,
>> --Asim

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits
  2016-06-28  9:23     ` Asim Jamshed
@ 2016-06-29  0:29       ` Lu, Wenzhuo
  0 siblings, 0 replies; 4+ messages in thread
From: Lu, Wenzhuo @ 2016-06-29  0:29 UTC (permalink / raw)
  To: Asim Jamshed; +Cc: dev

Hi Asim,


> -----Original Message-----
> From: Asim Jamshed [mailto:asim.jamshed@gmail.com]
> Sent: Tuesday, June 28, 2016 5:23 PM
> To: Lu, Wenzhuo
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits
> 
> On Tue, Jun 28, 2016 at 5:42 PM, Lu, Wenzhuo <wenzhuo.lu@intel.com> wrote:
> > Hi Asim,
> >
> >
> >> -----Original Message-----
> >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Asim Jamshed
> >> Sent: Tuesday, June 28, 2016 2:41 PM
> >> To: dev@dpdk.org
> >> Subject: [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits
> >>
> >> Hi,
> >>
> >> Apologies in advance if this question has been asked in the past.
> >>
> >> I have been performing mTCP-related tests on dpdk-16.04 with ixgbe
> >> PMD. I am using 82599ES 10-Gigabit adapters for my experiments. I
> >> have a few queries regarding LRO.
> >>
> >> 1) What is the theoretical maximum size of the Ethernet frame I can
> >> get from the driver once LRO is enabled? In my experiments, I was
> >> seeing packet size as high as 16KB. Can it be as high as ~2^16 bytes (iph-
> >tot_len)?
> > I'm not sure about if I understand your question correctly. Assume you're
> talking about the TCP segment after LRO. So, it's said there are no limitations on
> the maximum packet length.
> 
> The issue that I am facing is fixing the size of mbuf.
> The default size of mbuf is (2048 + sizeof(struct rte_mbuf) +
> RTE_PKTMBUF_HEADROOM) which needs to be augmented once lro is enabled
> (am I right?). I tried stretching the limits of the mempool by increasing mbuf size
> to (65536 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM), and I got the
> following error:
I don't think you need to change the size of mbuf. Please check this field of mbuf,
"struct rte_mbuf *next;    /**< Next segment of scattered packet. */"

> 
> Initializing port 0... EAL: Error - exiting with code: 1
>   Cause: rte_eth_rx_queue_setup:err=-22, port=0, queueid: 0
> 
> My exact calls for rte_mempool_create() and
> rte_eth_rx_queue_setup() were:
> 
> pktmbuf_pool = rte_mempool_create(name, 8192,
>                                   MBUF_SIZE, 256,
>                                   sizeof(struct rte_pktmbuf_pool_private),
>                                   rte_pktmbuf_pool_init, NULL,
>                                   rte_pktmbuf_init, NULL,
>                                   rte_socket_id(), 0);
> 
> ret = rte_eth_rx_queue_setup(portid, rxlcore_id, 128,
> rte_eth_dev_socket_id(portid), &rx_conf,
>                                                 pktmbuf_pool);
> 
> >
> >>
> >> 2) Since the NIC is reassembling payloads (of one flow) into a single
> >> packet, what does the Ethernet controller do with the tcp checksum
> >> field in the TCP header? I am observing that each LRO packet has
> >> checksum value as zero? Is that normal? I could not find any relevant
> documentation on the Web.
> > That's expected.
> > You can search 82599 datasheet. I think that's what you're looking for.
> 
> Thanks!
> 
> 
> Regards,
> --Asim
> 
> >
> >>
> >> Thanks in advance,
> >> --Asim

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-06-29  0:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CANwh_8ZXFZhs3iBDJFq7ebPTXkWkMLJDgLcw4iMeVgnzW5+AoA@mail.gmail.com>
2016-06-28  6:41 ` [dpdk-dev] Fwd: dpdk ixgbe PMD lro limits Asim Jamshed
2016-06-28  8:42   ` Lu, Wenzhuo
2016-06-28  9:23     ` Asim Jamshed
2016-06-29  0:29       ` Lu, Wenzhuo

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).