DPDK patches and discussions
 help / color / Atom feed
* [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
@ 2019-11-18 17:25 Nirmal Sarkar
  2019-11-19 17:42 ` Roberts, Lee A.
  0 siblings, 1 reply; 11+ messages in thread
From: Nirmal Sarkar @ 2019-11-18 17:25 UTC (permalink / raw)
  To: dev

Hello,

I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.

I'm using ubuntu-18.04 system where pktgen is a kernel module and I don't
have any provision to set it for Jumbo frame.
Can you please suggest how to configure Jumbo frame in pktgen ?

In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
*lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
During testing, I could not send packet size more than 1500 byte.
What is the suggestion to overcome this problem ?

Regards,
N. Sarkar

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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-18 17:25 [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen Nirmal Sarkar
@ 2019-11-19 17:42 ` Roberts, Lee A.
  2019-11-19 20:44   ` Morten Brørup
  2019-11-30  0:01   ` Wiles, Keith
  0 siblings, 2 replies; 11+ messages in thread
From: Roberts, Lee A. @ 2019-11-19 17:42 UTC (permalink / raw)
  To: Nirmal Sarkar, dev

Nirmal,

Here are the changes that I've been using to allow jumbo frames with dpdk-19.08 and
pktgen-19.10.0:

diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h jumbo/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h
462c462
< #define	RTE_MBUF_DEFAULT_DATAROOM	2048
---
> #define	RTE_MBUF_DEFAULT_DATAROOM	9600
diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h jumbo/dpdk-19.08/lib/librte_net/rte_ether.h
33c33
< #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including CRC. */
---
> #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including CRC. */
diff -r default/pktgen-19.10.0/app/pktgen.c jumbo/pktgen-19.10.0/app/pktgen.c
749c749
< 	else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
---
> 	else if ( (plen >= 1024) && (plen <= 1518))
753c753
< 	else if (plen > PG_ETHER_MAX_LEN)
---
> 	else if (plen > 1518)
diff -r default/pktgen-19.10.0/lib/common/pg_inet.h jumbo/pktgen-19.10.0/lib/common/pg_inet.h
379,380c379,380
< #define ETH_MTU                     1500	/* Max MTU for Ethernet */
< #define ETH_MAX_PKT                 1518	/* Max Ethernet frame size */
---
> #define ETH_MTU                     9600	/* Max MTU for Ethernet */
> #define ETH_MAX_PKT                 9600	/* Max Ethernet frame size */

                                   - Lee Roberts


-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
Sent: Monday, November 18, 2019 10:26 AM
To: dev@dpdk.org
Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen

Hello,

I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.

I'm using ubuntu-18.04 system where pktgen is a kernel module and I don't have any provision to set it for Jumbo frame.
Can you please suggest how to configure Jumbo frame in pktgen ?

In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [ *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
During testing, I could not send packet size more than 1500 byte.
What is the suggestion to overcome this problem ?

Regards,
N. Sarkar

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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-19 17:42 ` Roberts, Lee A.
@ 2019-11-19 20:44   ` Morten Brørup
  2019-11-20 12:09     ` Nirmal Sarkar
  2019-11-30  0:01   ` Wiles, Keith
  1 sibling, 1 reply; 11+ messages in thread
From: Morten Brørup @ 2019-11-19 20:44 UTC (permalink / raw)
  To: John McNamara, Marko Kovacevic
  Cc: Thomas Monjalon, Ferruh Yigit, Andrew Rybchenko, Nirmal Sarkar,
	Roberts, Lee A.,
	dev

John, Marko,

It seems we are missing documentation about enabling Jumbo frames in an application, and possibly an example of using the rte_eth_dev_info->max_mtu.


Med venlig hilsen / kind regards
- Morten Brørup

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Roberts, Lee A.
> Sent: Tuesday, November 19, 2019 6:42 PM
> To: Nirmal Sarkar; dev@dpdk.org
> Subject: Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> 
> Nirmal,
> 
> Here are the changes that I've been using to allow jumbo frames with dpdk-
> 19.08 and
> pktgen-19.10.0:
> 
> diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h jumbo/dpdk-
> 19.08/lib/librte_mbuf/rte_mbuf.h
> 462c462
> < #define	RTE_MBUF_DEFAULT_DATAROOM	2048
> ---
> > #define	RTE_MBUF_DEFAULT_DATAROOM	9600
> diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h jumbo/dpdk-
> 19.08/lib/librte_net/rte_ether.h
> 33c33
> < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including CRC.
> */
> ---
> > #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including CRC.
> */
> diff -r default/pktgen-19.10.0/app/pktgen.c jumbo/pktgen-
> 19.10.0/app/pktgen.c
> 749c749
> < 	else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
> ---
> > 	else if ( (plen >= 1024) && (plen <= 1518))
> 753c753
> < 	else if (plen > PG_ETHER_MAX_LEN)
> ---
> > 	else if (plen > 1518)
> diff -r default/pktgen-19.10.0/lib/common/pg_inet.h jumbo/pktgen-
> 19.10.0/lib/common/pg_inet.h
> 379,380c379,380
> < #define ETH_MTU                     1500	/* Max MTU for Ethernet */
> < #define ETH_MAX_PKT                 1518	/* Max Ethernet frame size */
> ---
> > #define ETH_MTU                     9600	/* Max MTU for Ethernet */
> > #define ETH_MAX_PKT                 9600	/* Max Ethernet frame size */
> 
>                                    - Lee Roberts
> 
> 
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
> Sent: Monday, November 18, 2019 10:26 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> 
> Hello,
> 
> I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
> 
> I'm using ubuntu-18.04 system where pktgen is a kernel module and I don't
> have any provision to set it for Jumbo frame.
> Can you please suggest how to configure Jumbo frame in pktgen ?
> 
> In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
> *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
> During testing, I could not send packet size more than 1500 byte.
> What is the suggestion to overcome this problem ?
> 
> Regards,
> N. Sarkar

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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-19 20:44   ` Morten Brørup
@ 2019-11-20 12:09     ` Nirmal Sarkar
  2019-11-20 18:54       ` Wiles, Keith
  0 siblings, 1 reply; 11+ messages in thread
From: Nirmal Sarkar @ 2019-11-20 12:09 UTC (permalink / raw)
  To: Morten Brørup
  Cc: John McNamara, Marko Kovacevic, Thomas Monjalon, Ferruh Yigit,
	Andrew Rybchenko, Roberts, Lee A.,
	dev

[-- Attachment #1: Type: text/plain, Size: 3416 bytes --]

Hello,

Thanks for the help.
As I'm using DPDK-18.11.1, I did not find the definition of
"RTE_ETHER_MAX_LEN" in lib/librte_net/rte_ether.h file.
So I set "ETHER_MAX_LEN" value to 9600.
Apart from that I took rest of the changes and with these I'm able to send
jumbo frame.
Took tcpdump on the receiving end.

Suddenly I got stuck at ARP. I could not send packets anymore.

I've attached success & failure scenario.

Regards,
N. Sarkar

On Wed, Nov 20, 2019 at 2:14 AM Morten Brørup <mb@smartsharesystems.com>
wrote:

> John, Marko,
>
> It seems we are missing documentation about enabling Jumbo frames in an
> application, and possibly an example of using the rte_eth_dev_info->max_mtu.
>
>
> Med venlig hilsen / kind regards
> - Morten Brørup
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Roberts, Lee A.
> > Sent: Tuesday, November 19, 2019 6:42 PM
> > To: Nirmal Sarkar; dev@dpdk.org
> > Subject: Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> >
> > Nirmal,
> >
> > Here are the changes that I've been using to allow jumbo frames with
> dpdk-
> > 19.08 and
> > pktgen-19.10.0:
> >
> > diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h jumbo/dpdk-
> > 19.08/lib/librte_mbuf/rte_mbuf.h
> > 462c462
> > < #define     RTE_MBUF_DEFAULT_DATAROOM       2048
> > ---
> > > #define     RTE_MBUF_DEFAULT_DATAROOM       9600
> > diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h jumbo/dpdk-
> > 19.08/lib/librte_net/rte_ether.h
> > 33c33
> > < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including
> CRC.
> > */
> > ---
> > > #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including
> CRC.
> > */
> > diff -r default/pktgen-19.10.0/app/pktgen.c jumbo/pktgen-
> > 19.10.0/app/pktgen.c
> > 749c749
> > <     else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
> > ---
> > >     else if ( (plen >= 1024) && (plen <= 1518))
> > 753c753
> > <     else if (plen > PG_ETHER_MAX_LEN)
> > ---
> > >     else if (plen > 1518)
> > diff -r default/pktgen-19.10.0/lib/common/pg_inet.h jumbo/pktgen-
> > 19.10.0/lib/common/pg_inet.h
> > 379,380c379,380
> > < #define ETH_MTU                     1500    /* Max MTU for Ethernet */
> > < #define ETH_MAX_PKT                 1518    /* Max Ethernet frame size
> */
> > ---
> > > #define ETH_MTU                     9600    /* Max MTU for Ethernet */
> > > #define ETH_MAX_PKT                 9600    /* Max Ethernet frame size
> */
> >
> >                                    - Lee Roberts
> >
> >
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
> > Sent: Monday, November 18, 2019 10:26 AM
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> >
> > Hello,
> >
> > I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
> >
> > I'm using ubuntu-18.04 system where pktgen is a kernel module and I don't
> > have any provision to set it for Jumbo frame.
> > Can you please suggest how to configure Jumbo frame in pktgen ?
> >
> > In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
> > *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
> > During testing, I could not send packet size more than 1500 byte.
> > What is the suggestion to overcome this problem ?
> >
> > Regards,
> > N. Sarkar
>

[-- Attachment #2: success.txt --]
[-- Type: text/plain, Size: 1703 bytes --]

** Version: DPDK 18.11.1, Command Line Interface without timers
Pktgen:/>
/ Ports 0-0 of 1   <Main Page>  Copyright (c) <2010-2019>, Intel Corporation
  Flags:Port        : P------Range       :0
Link State          :         <UP-10000-FD>      ---Total Rate---
Pkts/s Max/Rx       :                   2/1                   2/1
       Max/Tx       :           20838/19244           20838/19244
MBits/s Rx/Tx       :                0/1384                0/1384
Broadcast           :                     0
Multicast           :                    10
Sizes 64            :                    12
      65-127        :                     0
      128-255       :                     0
      256-511       :                     0
      512-1023      :                     0
      1024-1518     :                     0
Runts/Jumbos        :                   0/0
ARP/ICMP Pkts       :                  10/0
Errors Rx/Tx        :                   0/0
Total Rx Pkts       :                    11
      Tx Pkts       :                179640
      Rx MBs        :                     0
      Tx MBs        :                 12922
                    :
Pattern Type        :               abcd...
Tx Count/% Rate     :         Forever /100%
Pkt Size/Tx Burst   :           8972 /   64
TTL/Port Src/Dest   :         4/ 1000/ 1000
Pkt Type:VLAN ID    :       IPv4 / UDP:0001
802.1p CoS/DSCP/IPP :             0/  0/  0
VxLAN Flg/Grp/vid   :      0000/    0/    0
IP  Destination     :         192.168.168.4
    Source          :      192.168.168.3/24
MAC Destination     :     00:50:56:9b:ba:ae
    Source          :     00:50:56:9b:ef:53
PCI Vendor/Addr     :     15ad:07b0/0b:00.0

[-- Attachment #3: failure.txt --]
[-- Type: text/plain, Size: 1703 bytes --]

** Version: DPDK 18.11.1, Command Line Interface without timers
Pktgen:/>
| Ports 0-0 of 1   <Main Page>  Copyright (c) <2010-2019>, Intel Corporation
  Flags:Port        : P------Range       :0
Link State          :         <UP-10000-FD>      ---Total Rate---
Pkts/s Max/Rx       :                   2/1                   2/1
       Max/Tx       :         169576/167952         169576/167952
MBits/s Rx/Tx       :                0/1907                0/1907
Broadcast           :                     0
Multicast           :                   129
Sizes 64            :                   131
      65-127        :                     0
      128-255       :                     0
      256-511       :                     0
      512-1023      :                     0
      1024-1518     :                     0
Runts/Jumbos        :                   0/0
ARP/ICMP Pkts       :                 129/0
Errors Rx/Tx        :                   0/0
Total Rx Pkts       :                   131
      Tx Pkts       :              21803360
      Rx MBs        :                     0
      Tx MBs        :                247686
                    :
Pattern Type        :               abcd...
Tx Count/% Rate     :         Forever /100%
Pkt Size/Tx Burst   :           1400 /   64
TTL/Port Src/Dest   :         4/ 1000/ 1000
Pkt Type:VLAN ID    :       IPv4 / UDP:0001
802.1p CoS/DSCP/IPP :             0/  0/  0
VxLAN Flg/Grp/vid   :      0000/    0/    0
IP  Destination     :         192.168.168.4
    Source          :      192.168.168.3/24
MAC Destination     :     00:50:56:9b:ba:ae
    Source          :     00:50:56:9b:ef:53
PCI Vendor/Addr     :     15ad:07b0/0b:00.0

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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-20 12:09     ` Nirmal Sarkar
@ 2019-11-20 18:54       ` Wiles, Keith
  2019-11-26  8:21         ` Nirmal Sarkar
  0 siblings, 1 reply; 11+ messages in thread
From: Wiles, Keith @ 2019-11-20 18:54 UTC (permalink / raw)
  To: Nirmal Sarkar
  Cc: Morten Brørup, Mcnamara, John, Kovacevic, Marko,
	Thomas Monjalon, Yigit, Ferruh, Andrew Rybchenko, Roberts, Lee A.,
	dev



> On Nov 20, 2019, at 6:09 AM, Nirmal Sarkar <nirmal.kisan@gmail.com> wrote:
> 
> Hello,
> 
> Thanks for the help.
> As I'm using DPDK-18.11.1, I did not find the definition of
> "RTE_ETHER_MAX_LEN" in lib/librte_net/rte_ether.h file.
> So I set "ETHER_MAX_LEN" value to 9600.
> Apart from that I took rest of the changes and with these I'm able to send
> jumbo frame.
> Took tcpdump on the receiving end.
> 
> Suddenly I got stuck at ARP. I could not send packets anymore.

Sorry, I can not tell what the error condition is you are hitting, as the two screen dumps do not provide me where I should start looking. If you can help me understand the issue better.
> 
> I've attached success & failure scenario.
> 
> Regards,
> N. Sarkar
> 
> On Wed, Nov 20, 2019 at 2:14 AM Morten Brørup <mb@smartsharesystems.com>
> wrote:
> 
>> John, Marko,
>> 
>> It seems we are missing documentation about enabling Jumbo frames in an
>> application, and possibly an example of using the rte_eth_dev_info->max_mtu.
>> 
>> 
>> Med venlig hilsen / kind regards
>> - Morten Brørup
>> 
>>> -----Original Message-----
>>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Roberts, Lee A.
>>> Sent: Tuesday, November 19, 2019 6:42 PM
>>> To: Nirmal Sarkar; dev@dpdk.org
>>> Subject: Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
>>> 
>>> Nirmal,
>>> 
>>> Here are the changes that I've been using to allow jumbo frames with
>> dpdk-
>>> 19.08 and
>>> pktgen-19.10.0:
>>> 
>>> diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h jumbo/dpdk-
>>> 19.08/lib/librte_mbuf/rte_mbuf.h
>>> 462c462
>>> < #define     RTE_MBUF_DEFAULT_DATAROOM       2048
>>> ---
>>>> #define     RTE_MBUF_DEFAULT_DATAROOM       9600
>>> diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h jumbo/dpdk-
>>> 19.08/lib/librte_net/rte_ether.h
>>> 33c33
>>> < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including
>> CRC.
>>> */
>>> ---
>>>> #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including
>> CRC.
>>> */
>>> diff -r default/pktgen-19.10.0/app/pktgen.c jumbo/pktgen-
>>> 19.10.0/app/pktgen.c
>>> 749c749
>>> <     else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
>>> ---
>>>>    else if ( (plen >= 1024) && (plen <= 1518))
>>> 753c753
>>> <     else if (plen > PG_ETHER_MAX_LEN)
>>> ---
>>>>    else if (plen > 1518)
>>> diff -r default/pktgen-19.10.0/lib/common/pg_inet.h jumbo/pktgen-
>>> 19.10.0/lib/common/pg_inet.h
>>> 379,380c379,380
>>> < #define ETH_MTU                     1500    /* Max MTU for Ethernet */
>>> < #define ETH_MAX_PKT                 1518    /* Max Ethernet frame size
>> */
>>> ---
>>>> #define ETH_MTU                     9600    /* Max MTU for Ethernet */
>>>> #define ETH_MAX_PKT                 9600    /* Max Ethernet frame size
>> */
>>> 
>>>                                   - Lee Roberts
>>> 
>>> 
>>> -----Original Message-----
>>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
>>> Sent: Monday, November 18, 2019 10:26 AM
>>> To: dev@dpdk.org
>>> Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
>>> 
>>> Hello,
>>> 
>>> I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
>>> 
>>> I'm using ubuntu-18.04 system where pktgen is a kernel module and I don't
>>> have any provision to set it for Jumbo frame.
>>> Can you please suggest how to configure Jumbo frame in pktgen ?
>>> 
>>> In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
>>> *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
>>> During testing, I could not send packet size more than 1500 byte.
>>> What is the suggestion to overcome this problem ?
>>> 
>>> Regards,
>>> N. Sarkar
>> 
> <success.txt><failure.txt>

Regards,
Keith


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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-20 18:54       ` Wiles, Keith
@ 2019-11-26  8:21         ` Nirmal Sarkar
  2019-11-27 15:12           ` Wiles, Keith
  0 siblings, 1 reply; 11+ messages in thread
From: Nirmal Sarkar @ 2019-11-26  8:21 UTC (permalink / raw)
  To: Wiles, Keith
  Cc: Morten Brørup, Mcnamara, John, Kovacevic, Marko,
	Thomas Monjalon, Yigit, Ferruh, Andrew Rybchenko, Roberts, Lee A.,
	dev

Hello,

To support Jumbo frame in dpdk-pktgen,  changes were suggested in dpdk
libraries also apart from pktgen code.

*lib/librte_mbuf/rte_mbuf.h *
*lib/common/pg_inet.h *

But dpdk framework already supports jumbo frame [using *--enable-jumbo* &
*--max-pkt-len* flag].
Can you please help me to understand why do we need to change the libraries
in dpdk ?

Regards,
N. Sarkar

On Thu, Nov 21, 2019 at 12:24 AM Wiles, Keith <keith.wiles@intel.com> wrote:

>
>
> > On Nov 20, 2019, at 6:09 AM, Nirmal Sarkar <nirmal.kisan@gmail.com>
> wrote:
> >
> > Hello,
> >
> > Thanks for the help.
> > As I'm using DPDK-18.11.1, I did not find the definition of
> > "RTE_ETHER_MAX_LEN" in lib/librte_net/rte_ether.h file.
> > So I set "ETHER_MAX_LEN" value to 9600.
> > Apart from that I took rest of the changes and with these I'm able to
> send
> > jumbo frame.
> > Took tcpdump on the receiving end.
> >
> > Suddenly I got stuck at ARP. I could not send packets anymore.
>
> Sorry, I can not tell what the error condition is you are hitting, as the
> two screen dumps do not provide me where I should start looking. If you can
> help me understand the issue better.
> >
> > I've attached success & failure scenario.
> >
> > Regards,
> > N. Sarkar
> >
> > On Wed, Nov 20, 2019 at 2:14 AM Morten Brørup <mb@smartsharesystems.com>
> > wrote:
> >
> >> John, Marko,
> >>
> >> It seems we are missing documentation about enabling Jumbo frames in an
> >> application, and possibly an example of using the
> rte_eth_dev_info->max_mtu.
> >>
> >>
> >> Med venlig hilsen / kind regards
> >> - Morten Brørup
> >>
> >>> -----Original Message-----
> >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Roberts, Lee A.
> >>> Sent: Tuesday, November 19, 2019 6:42 PM
> >>> To: Nirmal Sarkar; dev@dpdk.org
> >>> Subject: Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> >>>
> >>> Nirmal,
> >>>
> >>> Here are the changes that I've been using to allow jumbo frames with
> >> dpdk-
> >>> 19.08 and
> >>> pktgen-19.10.0:
> >>>
> >>> diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h jumbo/dpdk-
> >>> 19.08/lib/librte_mbuf/rte_mbuf.h
> >>> 462c462
> >>> < #define     RTE_MBUF_DEFAULT_DATAROOM       2048
> >>> ---
> >>>> #define     RTE_MBUF_DEFAULT_DATAROOM       9600
> >>> diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h jumbo/dpdk-
> >>> 19.08/lib/librte_net/rte_ether.h
> >>> 33c33
> >>> < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including
> >> CRC.
> >>> */
> >>> ---
> >>>> #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including
> >> CRC.
> >>> */
> >>> diff -r default/pktgen-19.10.0/app/pktgen.c jumbo/pktgen-
> >>> 19.10.0/app/pktgen.c
> >>> 749c749
> >>> <     else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
> >>> ---
> >>>>    else if ( (plen >= 1024) && (plen <= 1518))
> >>> 753c753
> >>> <     else if (plen > PG_ETHER_MAX_LEN)
> >>> ---
> >>>>    else if (plen > 1518)
> >>> diff -r default/pktgen-19.10.0/lib/common/pg_inet.h jumbo/pktgen-
> >>> 19.10.0/lib/common/pg_inet.h
> >>> 379,380c379,380
> >>> < #define ETH_MTU                     1500    /* Max MTU for Ethernet
> */
> >>> < #define ETH_MAX_PKT                 1518    /* Max Ethernet frame
> size
> >> */
> >>> ---
> >>>> #define ETH_MTU                     9600    /* Max MTU for Ethernet */
> >>>> #define ETH_MAX_PKT                 9600    /* Max Ethernet frame size
> >> */
> >>>
> >>>                                   - Lee Roberts
> >>>
> >>>
> >>> -----Original Message-----
> >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
> >>> Sent: Monday, November 18, 2019 10:26 AM
> >>> To: dev@dpdk.org
> >>> Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> >>>
> >>> Hello,
> >>>
> >>> I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
> >>>
> >>> I'm using ubuntu-18.04 system where pktgen is a kernel module and I
> don't
> >>> have any provision to set it for Jumbo frame.
> >>> Can you please suggest how to configure Jumbo frame in pktgen ?
> >>>
> >>> In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
> >>> *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
> >>> During testing, I could not send packet size more than 1500 byte.
> >>> What is the suggestion to overcome this problem ?
> >>>
> >>> Regards,
> >>> N. Sarkar
> >>
> > <success.txt><failure.txt>
>
> Regards,
> Keith
>
>

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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-26  8:21         ` Nirmal Sarkar
@ 2019-11-27 15:12           ` Wiles, Keith
  2019-11-27 18:42             ` Nirmal Sarkar
  0 siblings, 1 reply; 11+ messages in thread
From: Wiles, Keith @ 2019-11-27 15:12 UTC (permalink / raw)
  To: Nirmal Sarkar
  Cc: Morten Brørup, Mcnamara, John, Kovacevic, Marko,
	Thomas Monjalon, Yigit, Ferruh, Andrew Rybchenko, Roberts, Lee A.,
	dev



> On Nov 26, 2019, at 2:21 AM, Nirmal Sarkar <nirmal.kisan@gmail.com> wrote:
> 
> Hello,
> 
> To support Jumbo frame in dpdk-pktgen,  changes were suggested in dpdk libraries also apart from pktgen code.
> lib/librte_mbuf/rte_mbuf.h 
> lib/common/pg_inet.h  
> 
> But dpdk framework already supports jumbo frame [using --enable-jumbo & --max-pkt-len flag]. 
> Can you please help me to understand why do we need to change the libraries in dpdk ?

These flags are for l3fwd type example apps and not a flag in the EAL or core code.

It appears the the port configs needs to be changed to enable jumbo frames. The patch below seemed to work for Lee and I have not tried the patch changes.
> 
> Regards,
> N. Sarkar
> 
> On Thu, Nov 21, 2019 at 12:24 AM Wiles, Keith <keith.wiles@intel.com> wrote:
> 
> 
> > On Nov 20, 2019, at 6:09 AM, Nirmal Sarkar <nirmal.kisan@gmail.com> wrote:
> > 
> > Hello,
> > 
> > Thanks for the help.
> > As I'm using DPDK-18.11.1, I did not find the definition of
> > "RTE_ETHER_MAX_LEN" in lib/librte_net/rte_ether.h file.
> > So I set "ETHER_MAX_LEN" value to 9600.
> > Apart from that I took rest of the changes and with these I'm able to send
> > jumbo frame.
> > Took tcpdump on the receiving end.
> > 
> > Suddenly I got stuck at ARP. I could not send packets anymore.
> 
> Sorry, I can not tell what the error condition is you are hitting, as the two screen dumps do not provide me where I should start looking. If you can help me understand the issue better.
> > 
> > I've attached success & failure scenario.
> > 
> > Regards,
> > N. Sarkar
> > 
> > On Wed, Nov 20, 2019 at 2:14 AM Morten Brørup <mb@smartsharesystems.com>
> > wrote:
> > 
> >> John, Marko,
> >> 
> >> It seems we are missing documentation about enabling Jumbo frames in an
> >> application, and possibly an example of using the rte_eth_dev_info->max_mtu.
> >> 
> >> 
> >> Med venlig hilsen / kind regards
> >> - Morten Brørup
> >> 
> >>> -----Original Message-----
> >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Roberts, Lee A.
> >>> Sent: Tuesday, November 19, 2019 6:42 PM
> >>> To: Nirmal Sarkar; dev@dpdk.org
> >>> Subject: Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> >>> 
> >>> Nirmal,
> >>> 
> >>> Here are the changes that I've been using to allow jumbo frames with
> >> dpdk-
> >>> 19.08 and
> >>> pktgen-19.10.0:
> >>> 
> >>> diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h jumbo/dpdk-
> >>> 19.08/lib/librte_mbuf/rte_mbuf.h
> >>> 462c462
> >>> < #define     RTE_MBUF_DEFAULT_DATAROOM       2048
> >>> ---
> >>>> #define     RTE_MBUF_DEFAULT_DATAROOM       9600
> >>> diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h jumbo/dpdk-
> >>> 19.08/lib/librte_net/rte_ether.h
> >>> 33c33
> >>> < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including
> >> CRC.
> >>> */
> >>> ---
> >>>> #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including
> >> CRC.
> >>> */
> >>> diff -r default/pktgen-19.10.0/app/pktgen.c jumbo/pktgen-
> >>> 19.10.0/app/pktgen.c
> >>> 749c749
> >>> <     else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
> >>> ---
> >>>>    else if ( (plen >= 1024) && (plen <= 1518))
> >>> 753c753
> >>> <     else if (plen > PG_ETHER_MAX_LEN)
> >>> ---
> >>>>    else if (plen > 1518)
> >>> diff -r default/pktgen-19.10.0/lib/common/pg_inet.h jumbo/pktgen-
> >>> 19.10.0/lib/common/pg_inet.h
> >>> 379,380c379,380
> >>> < #define ETH_MTU                     1500    /* Max MTU for Ethernet */
> >>> < #define ETH_MAX_PKT                 1518    /* Max Ethernet frame size
> >> */
> >>> ---
> >>>> #define ETH_MTU                     9600    /* Max MTU for Ethernet */
> >>>> #define ETH_MAX_PKT                 9600    /* Max Ethernet frame size
> >> */
> >>> 
> >>>                                   - Lee Roberts
> >>> 
> >>> 
> >>> -----Original Message-----
> >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
> >>> Sent: Monday, November 18, 2019 10:26 AM
> >>> To: dev@dpdk.org
> >>> Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> >>> 
> >>> Hello,
> >>> 
> >>> I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
> >>> 
> >>> I'm using ubuntu-18.04 system where pktgen is a kernel module and I don't
> >>> have any provision to set it for Jumbo frame.
> >>> Can you please suggest how to configure Jumbo frame in pktgen ?
> >>> 
> >>> In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
> >>> *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
> >>> During testing, I could not send packet size more than 1500 byte.
> >>> What is the suggestion to overcome this problem ?
> >>> 
> >>> Regards,
> >>> N. Sarkar
> >> 
> > <success.txt><failure.txt>
> 
> Regards,
> Keith
> 

Regards,
Keith


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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-27 15:12           ` Wiles, Keith
@ 2019-11-27 18:42             ` Nirmal Sarkar
  0 siblings, 0 replies; 11+ messages in thread
From: Nirmal Sarkar @ 2019-11-27 18:42 UTC (permalink / raw)
  To: Wiles, Keith
  Cc: Morten Brørup, Mcnamara, John, Kovacevic, Marko,
	Thomas Monjalon, Yigit, Ferruh, Andrew Rybchenko, Roberts, Lee A.,
	dev

Hello,

Thanks for your reply.

Using *testpmd* [*--mbuf-size=2048 --max-pkt-len=9600*], I can send/receive
Jumbo pkt over vmxnet3 without any change in the dpdk source code.
Ref: https://doc.dpdk.org/dts/test_plans/jumboframes_test_plan.html

Can you please tell me why I will not be able to send jumbo packet from
pktgen without doing any change in dpdk/EAL ?

Regards,
N. Sarkar

On Wed, Nov 27, 2019 at 8:42 PM Wiles, Keith <keith.wiles@intel.com> wrote:

>
>
> > On Nov 26, 2019, at 2:21 AM, Nirmal Sarkar <nirmal.kisan@gmail.com>
> wrote:
> >
> > Hello,
> >
> > To support Jumbo frame in dpdk-pktgen,  changes were suggested in dpdk
> libraries also apart from pktgen code.
> > lib/librte_mbuf/rte_mbuf.h
> > lib/common/pg_inet.h
> >
> > But dpdk framework already supports jumbo frame [using --enable-jumbo &
> --max-pkt-len flag].
> > Can you please help me to understand why do we need to change the
> libraries in dpdk ?
>
> These flags are for l3fwd type example apps and not a flag in the EAL or
> core code.
>
> It appears the the port configs needs to be changed to enable jumbo
> frames. The patch below seemed to work for Lee and I have not tried the
> patch changes.
> >
> > Regards,
> > N. Sarkar
> >
> > On Thu, Nov 21, 2019 at 12:24 AM Wiles, Keith <keith.wiles@intel.com>
> wrote:
> >
> >
> > > On Nov 20, 2019, at 6:09 AM, Nirmal Sarkar <nirmal.kisan@gmail.com>
> wrote:
> > >
> > > Hello,
> > >
> > > Thanks for the help.
> > > As I'm using DPDK-18.11.1, I did not find the definition of
> > > "RTE_ETHER_MAX_LEN" in lib/librte_net/rte_ether.h file.
> > > So I set "ETHER_MAX_LEN" value to 9600.
> > > Apart from that I took rest of the changes and with these I'm able to
> send
> > > jumbo frame.
> > > Took tcpdump on the receiving end.
> > >
> > > Suddenly I got stuck at ARP. I could not send packets anymore.
> >
> > Sorry, I can not tell what the error condition is you are hitting, as
> the two screen dumps do not provide me where I should start looking. If you
> can help me understand the issue better.
> > >
> > > I've attached success & failure scenario.
> > >
> > > Regards,
> > > N. Sarkar
> > >
> > > On Wed, Nov 20, 2019 at 2:14 AM Morten Brørup <
> mb@smartsharesystems.com>
> > > wrote:
> > >
> > >> John, Marko,
> > >>
> > >> It seems we are missing documentation about enabling Jumbo frames in
> an
> > >> application, and possibly an example of using the
> rte_eth_dev_info->max_mtu.
> > >>
> > >>
> > >> Med venlig hilsen / kind regards
> > >> - Morten Brørup
> > >>
> > >>> -----Original Message-----
> > >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Roberts, Lee A.
> > >>> Sent: Tuesday, November 19, 2019 6:42 PM
> > >>> To: Nirmal Sarkar; dev@dpdk.org
> > >>> Subject: Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> > >>>
> > >>> Nirmal,
> > >>>
> > >>> Here are the changes that I've been using to allow jumbo frames with
> > >> dpdk-
> > >>> 19.08 and
> > >>> pktgen-19.10.0:
> > >>>
> > >>> diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h jumbo/dpdk-
> > >>> 19.08/lib/librte_mbuf/rte_mbuf.h
> > >>> 462c462
> > >>> < #define     RTE_MBUF_DEFAULT_DATAROOM       2048
> > >>> ---
> > >>>> #define     RTE_MBUF_DEFAULT_DATAROOM       9600
> > >>> diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h jumbo/dpdk-
> > >>> 19.08/lib/librte_net/rte_ether.h
> > >>> 33c33
> > >>> < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including
> > >> CRC.
> > >>> */
> > >>> ---
> > >>>> #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including
> > >> CRC.
> > >>> */
> > >>> diff -r default/pktgen-19.10.0/app/pktgen.c jumbo/pktgen-
> > >>> 19.10.0/app/pktgen.c
> > >>> 749c749
> > >>> <     else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
> > >>> ---
> > >>>>    else if ( (plen >= 1024) && (plen <= 1518))
> > >>> 753c753
> > >>> <     else if (plen > PG_ETHER_MAX_LEN)
> > >>> ---
> > >>>>    else if (plen > 1518)
> > >>> diff -r default/pktgen-19.10.0/lib/common/pg_inet.h jumbo/pktgen-
> > >>> 19.10.0/lib/common/pg_inet.h
> > >>> 379,380c379,380
> > >>> < #define ETH_MTU                     1500    /* Max MTU for
> Ethernet */
> > >>> < #define ETH_MAX_PKT                 1518    /* Max Ethernet frame
> size
> > >> */
> > >>> ---
> > >>>> #define ETH_MTU                     9600    /* Max MTU for Ethernet
> */
> > >>>> #define ETH_MAX_PKT                 9600    /* Max Ethernet frame
> size
> > >> */
> > >>>
> > >>>                                   - Lee Roberts
> > >>>
> > >>>
> > >>> -----Original Message-----
> > >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
> > >>> Sent: Monday, November 18, 2019 10:26 AM
> > >>> To: dev@dpdk.org
> > >>> Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> > >>>
> > >>> Hello,
> > >>>
> > >>> I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
> > >>>
> > >>> I'm using ubuntu-18.04 system where pktgen is a kernel module and I
> don't
> > >>> have any provision to set it for Jumbo frame.
> > >>> Can you please suggest how to configure Jumbo frame in pktgen ?
> > >>>
> > >>> In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
> > >>> *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
> > >>> During testing, I could not send packet size more than 1500 byte.
> > >>> What is the suggestion to overcome this problem ?
> > >>>
> > >>> Regards,
> > >>> N. Sarkar
> > >>
> > > <success.txt><failure.txt>
> >
> > Regards,
> > Keith
> >
>
> Regards,
> Keith
>
>

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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-19 17:42 ` Roberts, Lee A.
  2019-11-19 20:44   ` Morten Brørup
@ 2019-11-30  0:01   ` Wiles, Keith
  2019-12-01 19:55     ` Nirmal Sarkar
  1 sibling, 1 reply; 11+ messages in thread
From: Wiles, Keith @ 2019-11-30  0:01 UTC (permalink / raw)
  To: Roberts, Lee A.; +Cc: Nirmal Sarkar, dev



> On Nov 19, 2019, at 11:42 AM, Roberts, Lee A. <lee.roberts@hpe.com> wrote:
> 
> Nirmal,
> 
> Here are the changes that I've been using to allow jumbo frames with dpdk-19.08 and
> pktgen-19.10.0:
> 
> diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h jumbo/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h
> 462c462
> < #define	RTE_MBUF_DEFAULT_DATAROOM	2048
> ---
>> #define	RTE_MBUF_DEFAULT_DATAROOM	9600
> diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h jumbo/dpdk-19.08/lib/librte_net/rte_ether.h
> 33c33
> < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including CRC. */
> ---
>> #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including CRC. */
> diff -r default/pktgen-19.10.0/app/pktgen.c jumbo/pktgen-19.10.0/app/pktgen.c
> 749c749
> < 	else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
> ---
>> 	else if ( (plen >= 1024) && (plen <= 1518))
> 753c753
> < 	else if (plen > PG_ETHER_MAX_LEN)
> ---
>> 	else if (plen > 1518)
> diff -r default/pktgen-19.10.0/lib/common/pg_inet.h jumbo/pktgen-19.10.0/lib/common/pg_inet.h
> 379,380c379,380
> < #define ETH_MTU                     1500	/* Max MTU for Ethernet */
> < #define ETH_MAX_PKT                 1518	/* Max Ethernet frame size */
> ---
>> #define ETH_MTU                     9600	/* Max MTU for Ethernet */
>> #define ETH_MAX_PKT                 9600	/* Max Ethernet frame size */
> 
>                                   - Lee Roberts

I have a updated pktgen with jumbo support. You need to pass the -j option to get jumbo frame support in pktgen. I have not done a lot of testing on this version. If you have time please pull the pktgen repo and switch over to the ‘dev’ branch and see if this work for you. I did not use your changes here and did it my way :-)

I did not change DPDK, as it seemed like it did not matter if RTE_MBUF_DEFAULT_DATAROOM changed. I am sure someplace may care if they used that define.

> 
> 
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
> Sent: Monday, November 18, 2019 10:26 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> 
> Hello,
> 
> I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
> 
> I'm using ubuntu-18.04 system where pktgen is a kernel module and I don't have any provision to set it for Jumbo frame.
> Can you please suggest how to configure Jumbo frame in pktgen ?
> 
> In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [ *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
> During testing, I could not send packet size more than 1500 byte.
> What is the suggestion to overcome this problem ?
> 
> Regards,
> N. Sarkar

Regards,
Keith


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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-11-30  0:01   ` Wiles, Keith
@ 2019-12-01 19:55     ` Nirmal Sarkar
  2019-12-02 12:46       ` Nirmal Sarkar
  0 siblings, 1 reply; 11+ messages in thread
From: Nirmal Sarkar @ 2019-12-01 19:55 UTC (permalink / raw)
  To: Wiles, Keith; +Cc: Roberts, Lee A., dev

Hello Keith,

Thanks a lot for your help.
I'm using pktgen-3.7.1. So I'll pull your changes there and check it.

Regards,
N. Sarkar

On Sat, Nov 30, 2019 at 5:31 AM Wiles, Keith <keith.wiles@intel.com> wrote:

>
>
> > On Nov 19, 2019, at 11:42 AM, Roberts, Lee A. <lee.roberts@hpe.com>
> wrote:
> >
> > Nirmal,
> >
> > Here are the changes that I've been using to allow jumbo frames with
> dpdk-19.08 and
> > pktgen-19.10.0:
> >
> > diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h
> jumbo/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h
> > 462c462
> > < #define     RTE_MBUF_DEFAULT_DATAROOM       2048
> > ---
> >> #define      RTE_MBUF_DEFAULT_DATAROOM       9600
> > diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h
> jumbo/dpdk-19.08/lib/librte_net/rte_ether.h
> > 33c33
> > < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including
> CRC. */
> > ---
> >> #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including
> CRC. */
> > diff -r default/pktgen-19.10.0/app/pktgen.c
> jumbo/pktgen-19.10.0/app/pktgen.c
> > 749c749
> > <     else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
> > ---
> >>      else if ( (plen >= 1024) && (plen <= 1518))
> > 753c753
> > <     else if (plen > PG_ETHER_MAX_LEN)
> > ---
> >>      else if (plen > 1518)
> > diff -r default/pktgen-19.10.0/lib/common/pg_inet.h
> jumbo/pktgen-19.10.0/lib/common/pg_inet.h
> > 379,380c379,380
> > < #define ETH_MTU                     1500    /* Max MTU for Ethernet */
> > < #define ETH_MAX_PKT                 1518    /* Max Ethernet frame size
> */
> > ---
> >> #define ETH_MTU                     9600     /* Max MTU for Ethernet */
> >> #define ETH_MAX_PKT                 9600     /* Max Ethernet frame size
> */
> >
> >                                   - Lee Roberts
>
> I have a updated pktgen with jumbo support. You need to pass the -j option
> to get jumbo frame support in pktgen. I have not done a lot of testing on
> this version. If you have time please pull the pktgen repo and switch over
> to the ‘dev’ branch and see if this work for you. I did not use your
> changes here and did it my way :-)
>
> I did not change DPDK, as it seemed like it did not matter if
> RTE_MBUF_DEFAULT_DATAROOM changed. I am sure someplace may care if they
> used that define.
>
> >
> >
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
> > Sent: Monday, November 18, 2019 10:26 AM
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
> >
> > Hello,
> >
> > I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
> >
> > I'm using ubuntu-18.04 system where pktgen is a kernel module and I
> don't have any provision to set it for Jumbo frame.
> > Can you please suggest how to configure Jumbo frame in pktgen ?
> >
> > In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
> *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
> > During testing, I could not send packet size more than 1500 byte.
> > What is the suggestion to overcome this problem ?
> >
> > Regards,
> > N. Sarkar
>
> Regards,
> Keith
>
>

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

* Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
  2019-12-01 19:55     ` Nirmal Sarkar
@ 2019-12-02 12:46       ` Nirmal Sarkar
  0 siblings, 0 replies; 11+ messages in thread
From: Nirmal Sarkar @ 2019-12-02 12:46 UTC (permalink / raw)
  To: Wiles, Keith; +Cc: Roberts, Lee A., dev

Hi Keith,

I've taken all the changes [in pktgen-3.7.1] you made to support Jumbo
Frame.

I'm sending packet of 9000 bytes from the sender. [sending screenshot
attached].

In the receiver side:
(1) started testpmd:
[ testpmd -c 0x0f -n 2 -b 03:00.0 -- -i --rxd=1024 --txd=1024 --burst=144
--txpt=32 --txht=0 --txfreet=0 --rxfreet=64 --mbcache=200 --portmask=0x3
--mbuf-size=2048 --max-pkt-len=9600 ]
Now if I do a "show port stats 0", I see "RX-missed" is getting increased
where as "RX-bytes" is stuck into a fixed value.

  ######################## NIC statistics for port 0
########################
  RX-packets: 259        RX-missed: 35728      RX-bytes:  2294220
  RX-errors: 0
  RX-nombuf:  0
  TX-packets: 0          TX-errors: 0          TX-bytes:  0

  Throughput (since last show)
  Rx-pps:            0
  Tx-pps:            0

############################################################################

  ######################## NIC statistics for port 0
########################
  RX-packets: 259        RX-missed: 71272      RX-bytes:  2294220
  RX-errors: 0
  RX-nombuf:  0
  TX-packets: 0          TX-errors: 0          TX-bytes:  0

  Throughput (since last show)
  Rx-pps:            0
  Tx-pps:            0

############################################################################

(2) started pktgen with "-j" option:
  (i) "MBits/s Rx" is not more than 384 when I send 9K packet, but this
value increases to 985~1007 if I send 1K packet.
  (ii) "Pkt Size" is showing 64
  (iii) I'm seeing only Packet of size 5K is getting received when I send
9K packet.[ Please check the attached receive.jpg]

From the above observation in the receiver side, there may be some issue in
receiving Jumbo frames.

I would also like to mention *Fragmentation* is not required in the
send/recv.

Regards,
N. Sarkar

On Mon, Dec 2, 2019 at 1:25 AM Nirmal Sarkar <nirmal.kisan@gmail.com> wrote:

> Hello Keith,
>
> Thanks a lot for your help.
> I'm using pktgen-3.7.1. So I'll pull your changes there and check it.
>
> Regards,
> N. Sarkar
>
> On Sat, Nov 30, 2019 at 5:31 AM Wiles, Keith <keith.wiles@intel.com>
> wrote:
>
>>
>>
>> > On Nov 19, 2019, at 11:42 AM, Roberts, Lee A. <lee.roberts@hpe.com>
>> wrote:
>> >
>> > Nirmal,
>> >
>> > Here are the changes that I've been using to allow jumbo frames with
>> dpdk-19.08 and
>> > pktgen-19.10.0:
>> >
>> > diff -r default/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h
>> jumbo/dpdk-19.08/lib/librte_mbuf/rte_mbuf.h
>> > 462c462
>> > < #define     RTE_MBUF_DEFAULT_DATAROOM       2048
>> > ---
>> >> #define      RTE_MBUF_DEFAULT_DATAROOM       9600
>> > diff -r default/dpdk-19.08/lib/librte_net/rte_ether.h
>> jumbo/dpdk-19.08/lib/librte_net/rte_ether.h
>> > 33c33
>> > < #define RTE_ETHER_MAX_LEN   1518  /**< Maximum frame len, including
>> CRC. */
>> > ---
>> >> #define RTE_ETHER_MAX_LEN   9600  /**< Maximum frame len, including
>> CRC. */
>> > diff -r default/pktgen-19.10.0/app/pktgen.c
>> jumbo/pktgen-19.10.0/app/pktgen.c
>> > 749c749
>> > <     else if ( (plen >= 1024) && (plen <= PG_ETHER_MAX_LEN))
>> > ---
>> >>      else if ( (plen >= 1024) && (plen <= 1518))
>> > 753c753
>> > <     else if (plen > PG_ETHER_MAX_LEN)
>> > ---
>> >>      else if (plen > 1518)
>> > diff -r default/pktgen-19.10.0/lib/common/pg_inet.h
>> jumbo/pktgen-19.10.0/lib/common/pg_inet.h
>> > 379,380c379,380
>> > < #define ETH_MTU                     1500    /* Max MTU for Ethernet */
>> > < #define ETH_MAX_PKT                 1518    /* Max Ethernet frame
>> size */
>> > ---
>> >> #define ETH_MTU                     9600     /* Max MTU for Ethernet */
>> >> #define ETH_MAX_PKT                 9600     /* Max Ethernet frame
>> size */
>> >
>> >                                   - Lee Roberts
>>
>> I have a updated pktgen with jumbo support. You need to pass the -j
>> option to get jumbo frame support in pktgen. I have not done a lot of
>> testing on this version. If you have time please pull the pktgen repo and
>> switch over to the ‘dev’ branch and see if this work for you. I did not use
>> your changes here and did it my way :-)
>>
>> I did not change DPDK, as it seemed like it did not matter if
>> RTE_MBUF_DEFAULT_DATAROOM changed. I am sure someplace may care if they
>> used that define.
>>
>> >
>> >
>> > -----Original Message-----
>> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nirmal Sarkar
>> > Sent: Monday, November 18, 2019 10:26 AM
>> > To: dev@dpdk.org
>> > Subject: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
>> >
>> > Hello,
>> >
>> > I'm trying to explore pktgen and dpdk-pktgen with Jumbo frame.
>> >
>> > I'm using ubuntu-18.04 system where pktgen is a kernel module and I
>> don't have any provision to set it for Jumbo frame.
>> > Can you please suggest how to configure Jumbo frame in pktgen ?
>> >
>> > In dpdk source code, I've modified RTE_MBUF_DEFAULT_DATAROOM [
>> *lib/librte_mbuf/rte_mbuf.h*] value with 9K and built.
>> > During testing, I could not send packet size more than 1500 byte.
>> > What is the suggestion to overcome this problem ?
>> >
>> > Regards,
>> > N. Sarkar
>>
>> Regards,
>> Keith
>>
>>

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

end of thread, back to index

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-18 17:25 [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen Nirmal Sarkar
2019-11-19 17:42 ` Roberts, Lee A.
2019-11-19 20:44   ` Morten Brørup
2019-11-20 12:09     ` Nirmal Sarkar
2019-11-20 18:54       ` Wiles, Keith
2019-11-26  8:21         ` Nirmal Sarkar
2019-11-27 15:12           ` Wiles, Keith
2019-11-27 18:42             ` Nirmal Sarkar
2019-11-30  0:01   ` Wiles, Keith
2019-12-01 19:55     ` Nirmal Sarkar
2019-12-02 12:46       ` Nirmal Sarkar

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox