DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
From: Nirmal Sarkar <nirmal.kisan@gmail.com>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: "Roberts, Lee A." <lee.roberts@hpe.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Jumbo Frame in pktgen & dpdk-pktgen
Date: Mon, 2 Dec 2019 18:16:40 +0530
Message-ID: <CACeX4O8otJNMk4Jdi8TaTdrq5mwzk0ORskTndvy7TzU0dxz1PQ@mail.gmail.com> (raw)
In-Reply-To: <CACeX4O-jr=9L4hpFA6ZJdq6PSG_NtDGN6QqfF9vfnFGOy6u5xQ@mail.gmail.com>

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

      reply index

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-18 17:25 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 [this message]

Reply instructions:

You may reply publically 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=CACeX4O8otJNMk4Jdi8TaTdrq5mwzk0ORskTndvy7TzU0dxz1PQ@mail.gmail.com \
    --to=nirmal.kisan@gmail.com \
    --cc=dev@dpdk.org \
    --cc=keith.wiles@intel.com \
    --cc=lee.roberts@hpe.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

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-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 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org
	public-inbox-index dpdk-dev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


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