DPDK patches and discussions
 help / color / mirror / Atom feed
* Re: [dpdk-dev] l2fwd application - packets not getting forwarded
@ 2014-06-22  6:09 Lu, Patrick
  0 siblings, 0 replies; 6+ messages in thread
From: Lu, Patrick @ 2014-06-22  6:09 UTC (permalink / raw)
  To: Raj Ravi; +Cc: dev

You can also pass iommu=pt, then you can keep intel_iommu=on and have dpdk co-exist on native and virtialized.

Patrick

On Jun 15, 2014 11:08 PM, Raj Ravi <mekaviraj@gmail.com> wrote:
I can get this working after some changes.

1. I have pci_assign=buses and intel_iommu=on present in grub.conf ,
Removed them
2. Before running l2fwd application, removed ixgbe driver. I was actually
getting some kernel errors without these steps, while running l2fwd application.

Now, I can see the packets getting forwarded using l2fwd application and able
to observe the packets using tcpdump.

Yes, as you said, ping is not getting reply back. but it is getting forwarded to
the other end ( observed using tcpdump).

Thanks!


On Fri, Jun 13, 2014 at 10:39 PM, Richardson, Bruce
<bruce.richardson@intel.com> wrote:
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Raj Ravi
>> Sent: Thursday, June 12, 2014 6:35 PM
>> To: dev@dpdk.org
>> Subject: Re: [dpdk-dev] l2fwd application - packets not getting forwarded
>>
>> Is there any requirement to modify l2fwd appliucation with updated mac
>> address to make it work ?
>>
>> In one example, it is mentioned something similar.
>> www.slideshare.net/hisaki/intel-dpdk-step-by-step-instructions<http://www.slideshare.net/hisaki/intel-dpdk-step-by-step-instructions>
>>
>>
>> Also, in order to make ping work it is necessary to add static entry
>> for those IP addresses ?
>>
>> Please let me know. Thanks,
>>
> Hi,
>
> In terms of using ping: the Intel DPDK works below the IP level, and the basic l2fwd sample app has no concept of an IP address or what an ICMP ping message is, so you won't get a proper ping reply out of the application as there is no IP stack to reply. What it will do, its take the ping message and forward it out a different port.
>
> As for the more basic question of receiving packets on the NIC, normally, yes, you would need to set the destination mac address of your packets to match that of the NIC port, but in this case I believe the l2fwd app switches the port to promiscuous mode so it should receive all packets sent to it. [Other sample apps often need a "-P" flag passed to them to do this.]
>
> Regards,
> /Bruce

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

* Re: [dpdk-dev] l2fwd application - packets not getting forwarded
  2014-06-13 17:09     ` Richardson, Bruce
@ 2014-06-16  6:07       ` Raj Ravi
  0 siblings, 0 replies; 6+ messages in thread
From: Raj Ravi @ 2014-06-16  6:07 UTC (permalink / raw)
  To: Richardson, Bruce; +Cc: dev

I can get this working after some changes.

1. I have pci_assign=buses and intel_iommu=on present in grub.conf ,
Removed them
2. Before running l2fwd application, removed ixgbe driver. I was actually
getting some kernel errors without these steps, while running l2fwd application.

Now, I can see the packets getting forwarded using l2fwd application and able
to observe the packets using tcpdump.

Yes, as you said, ping is not getting reply back. but it is getting forwarded to
the other end ( observed using tcpdump).

Thanks!


On Fri, Jun 13, 2014 at 10:39 PM, Richardson, Bruce
<bruce.richardson@intel.com> wrote:
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Raj Ravi
>> Sent: Thursday, June 12, 2014 6:35 PM
>> To: dev@dpdk.org
>> Subject: Re: [dpdk-dev] l2fwd application - packets not getting forwarded
>>
>> Is there any requirement to modify l2fwd appliucation with updated mac
>> address to make it work ?
>>
>> In one example, it is mentioned something similar.
>> www.slideshare.net/hisaki/intel-dpdk-step-by-step-instructions
>>
>>
>> Also, in order to make ping work it is necessary to add static entry
>> for those IP addresses ?
>>
>> Please let me know. Thanks,
>>
> Hi,
>
> In terms of using ping: the Intel DPDK works below the IP level, and the basic l2fwd sample app has no concept of an IP address or what an ICMP ping message is, so you won't get a proper ping reply out of the application as there is no IP stack to reply. What it will do, its take the ping message and forward it out a different port.
>
> As for the more basic question of receiving packets on the NIC, normally, yes, you would need to set the destination mac address of your packets to match that of the NIC port, but in this case I believe the l2fwd app switches the port to promiscuous mode so it should receive all packets sent to it. [Other sample apps often need a "-P" flag passed to them to do this.]
>
> Regards,
> /Bruce

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

* Re: [dpdk-dev] l2fwd application - packets not getting forwarded
  2014-06-13  1:34   ` Raj Ravi
@ 2014-06-13 17:09     ` Richardson, Bruce
  2014-06-16  6:07       ` Raj Ravi
  0 siblings, 1 reply; 6+ messages in thread
From: Richardson, Bruce @ 2014-06-13 17:09 UTC (permalink / raw)
  To: Raj Ravi, dev

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Raj Ravi
> Sent: Thursday, June 12, 2014 6:35 PM
> To: dev@dpdk.org
> Subject: Re: [dpdk-dev] l2fwd application - packets not getting forwarded
> 
> Is there any requirement to modify l2fwd appliucation with updated mac
> address to make it work ?
> 
> In one example, it is mentioned something similar.
> www.slideshare.net/hisaki/intel-dpdk-step-by-step-instructions
> 
> 
> Also, in order to make ping work it is necessary to add static entry
> for those IP addresses ?
> 
> Please let me know. Thanks,
> 
Hi,

In terms of using ping: the Intel DPDK works below the IP level, and the basic l2fwd sample app has no concept of an IP address or what an ICMP ping message is, so you won't get a proper ping reply out of the application as there is no IP stack to reply. What it will do, its take the ping message and forward it out a different port.

As for the more basic question of receiving packets on the NIC, normally, yes, you would need to set the destination mac address of your packets to match that of the NIC port, but in this case I believe the l2fwd app switches the port to promiscuous mode so it should receive all packets sent to it. [Other sample apps often need a "-P" flag passed to them to do this.] 

Regards,
/Bruce

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

* Re: [dpdk-dev] l2fwd application - packets not getting forwarded
  2014-06-13  1:06 ` Raj Ravi
@ 2014-06-13  1:34   ` Raj Ravi
  2014-06-13 17:09     ` Richardson, Bruce
  0 siblings, 1 reply; 6+ messages in thread
From: Raj Ravi @ 2014-06-13  1:34 UTC (permalink / raw)
  To: dev

Is there any requirement to modify l2fwd appliucation with updated mac
address to make it work ?

In one example, it is mentioned something similar.
www.slideshare.net/hisaki/intel-dpdk-step-by-step-instructions


Also, in order to make ping work it is necessary to add static entry
for those IP addresses ?

Please let me know. Thanks,




On Fri, Jun 13, 2014 at 6:36 AM, Raj Ravi <mekaviraj@gmail.com> wrote:
> /Any help ? let me know if any additional info. is required.
>
> Thanks.
>
> On Fri, Jun 13, 2014 at 1:17 AM, Raj Ravi <mekaviraj@gmail.com> wrote:
>> Hi,
>> I am trying to run l2fwd application in ixgbe based network adapter.
>>
>> Followed the below steps:
>> 1. Add hugepages in grub commandline. 1024 pages of 2 MB allocated.
>> 2. verify hugepages support in /proc/meminfo.
>> 3.mounted huge pages as below:
>> mount -t hugetlbfs nodev /mnt/huge
>>
>> 4. built DPDK environment for x86_64-default-linuxapp-gcc.
>> 5. built l2fwd applicaition after exporting $RTE_SDK and  $RTE_TARGET.
>>
>> I have three machines connected like this:
>>
>> machine 1  <----> machine 2 <---> machine 3
>>
>> machine 1 -> where pktgen runs to generate traffic
>>
>> machine 2 -> l2fwd runs
>>
>> machine 3 -> I should be able to observe packets here using tcpdump.??
>>
>>
>> First I run l2fwd like below (in machine 2):
>> ./l2fwd -c f -n 4 -- -q 4 -p 3
>>
>> Note port 1 and 2 are ixgbe port which are already bind to igb_uio driver.
>>
>> Q1. My understanding is whatever traffic arrives in port 1 will be
>> forwarded to port 2.
>> and port 2 will be forwarded to port 1.
>> Please correct me here. ?
>>
>> Q2. from machine 1 to machine 3 , ping should work??
>>
>>
>> In machine 1 , pktgen script is run as below :
>>
>> ==============
>> pktgen script used:
>> #!/bin/sh
>> # pktgen.conf -- Sample configuration for send on two devices on a UP system
>>
>> #modprobe pktgen
>> #modprobe pktgen
>>
>> function pgset() {
>>     local result
>>
>>     echo $1 > $PGDEV
>>     result=`cat $PGDEV | fgrep "Result: OK:"`
>>     if [ "$result" = "" ]; then
>>          cat $PGDEV | fgrep Result:
>>     fi
>> }
>>
>> function pg() {
>>     echo inject > $PGDEV
>>     cat $PGDEV
>> }
>>
>> # On UP systems only one thread exists -- so just add devices
>> # We use eth0
>> echo "Adding devices to run".
>>
>> PGDEV=/proc/net/pktgen/kpktgend_0
>> pgset "rem_device_all"
>> pgset "add_device eth0"
>> pgset "max_before_softirq 10000"
>>
>> #pgset "add_device eth0"
>>
>> # Configure the individual devices
>> echo "Configuring devices"
>>
>> PGDEV=/proc/net/pktgen/eth0
>> #pgset "delay 0"
>> pgset "clone_skb 1000000"
>> pgset "pkt_size 60"
>> #pgset "min_pkt_size 60"
>> #pgset "max_pkt_size 60"
>> #pgset "min_pkt_size 92"
>> #pgset "max_pkt_size 92"
>>
>>
>> pgset "src_mac 70:71:BC:A8:5A:E8"
>> pgset "dst_mac 70:71:bc:dc:92:ab"
>>
>> pgset "count 10000000"
>>
>> # Time to run
>>
>> PGDEV=/proc/net/pktgen/pgctrl
>>
>> echo "Running... ctrl^C to stop"
>>
>> pgset "start"
>>
>> echo "Done"
>>
>> cat /proc/net/pktgen/eth0
>> ==============
>>
>> Q3:  In above script, is it mandatory to mention both source and
>> destination macs ??
>>
>> Also, destination mac should "machine 3" 's mac address??
>>
>>
>> Q4: With the above setting , I "CANNOT" see the stats getting
>> incremented at all ?? I fear the traffic is not passing through the
>> ixgbe ports at all.
>>
>> Q5: I have tried using testpmd application, here, all the packets are
>> shown in RX errors.
>>
>> RHEL7, 3.10.32 kernel used. DPDK 1.6.0-18.zip used.
>>
>> l2fwd application log:
>> ===========================
>> EAL: Detected lcore 0 as core 0 on socket 0
>> EAL: Detected lcore 1 as core 1 on socket 0
>> EAL: Detected lcore 2 as core 2 on socket 0
>> EAL: Detected lcore 3 as core 3 on socket 0
>> EAL: Detected lcore 4 as core 4 on socket 0
>> EAL: Detected lcore 5 as core 5 on socket 0
>> EAL: Detected lcore 6 as core 6 on socket 0
>> EAL: Detected lcore 7 as core 7 on socket 0
>> EAL: Detected lcore 8 as core 0 on socket 0
>> EAL: Detected lcore 9 as core 1 on socket 0
>> EAL: Detected lcore 10 as core 2 on socket 0
>> EAL: Detected lcore 11 as core 3 on socket 0
>> EAL: Detected lcore 12 as core 4 on socket 0
>> EAL: Detected lcore 13 as core 5 on socket 0
>> EAL: Detected lcore 14 as core 6 on socket 0
>> EAL: Detected lcore 15 as core 7 on socket 0
>> EAL: Support maximum 64 logical core(s) by configuration.
>> EAL: Detected 16 lcore(s)
>> EAL: Setting up memory...
>> EAL: Ask a virtual area of 0x200000 bytes
>> EAL: Virtual area found at 0x7f6e89400000 (size = 0x200000)
>> EAL: Ask a virtual area of 0x7fc00000 bytes
>> EAL: Virtual area found at 0x7f6e09600000 (size = 0x7fc00000)
>> EAL: Ask a virtual area of 0x200000 bytes
>> EAL: Virtual area found at 0x7f6e09200000 (size = 0x200000)
>> EAL: Requesting 1024 pages of size 2MB from socket 0
>> EAL: TSC frequency is ~2200002 KHz
>> EAL: Master core 2 is ready (tid=89bbd840)
>> EAL: PCI device 0000:01:00.0 on NUMA socket 0
>> EAL:   probe driver: 8086:1528 rte_ixgbe_pmd
>> EAL:   PCI memory mapped at 0x7f6e89987000
>> EAL:   PCI memory mapped at 0x7f6e89bcf000
>> EAL: PCI device 0000:01:00.1 on NUMA socket 0
>> EAL:   probe driver: 8086:1528 rte_ixgbe_pmd
>> EAL:   PCI memory mapped at 0x7f6e89787000
>> EAL:   PCI memory mapped at 0x7f6e89bcb000
>> EAL: PCI device 0000:06:00.0 on NUMA socket 0
>> EAL:   probe driver: 8086:1521 rte_igb_pmd
>> EAL:   PCI memory mapped at 0x7f6e89687000
>> EAL:   PCI memory mapped at 0x7f6e89bc7000
>> EAL: PCI device 0000:06:00.1 on NUMA socket 0
>> EAL:   probe driver: 8086:1521 rte_igb_pmd
>> EAL:   0000:06:00.1 not managed by UIO driver, skipping
>> Lcore 2: RX port 0
>> Lcore 2: RX port 1
>> Initializing port 0... done:
>> Port 0, MAC address: A0:36:9F:05:E8:2C
>>
>> Initializing port 1... done:
>> Port 1, MAC address: A0:36:9F:05:E8:2E
>>
>> Skipping disabled port 2
>>
>> Checking link status.................................done
>> Port 0 Link Up - speed 1000 Mbps - full-duplex
>> Port 1 Link Up - speed 1000 Mbps - full-duplex
>> L2FWD: entering main loop on lcore 2
>> L2FWD:  -- lcoreid=2 portid=0
>> L2FWD:  -- lcoreid=2 portid=1
>>  [2J [1;1H
>> Port statistics ====================================
>> Statistics for port 0 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Statistics for port 1 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Aggregate statistics ===============================
>> Total packets sent:                  0
>> Total packets received:              0
>> Total packets dropped:               0
>> ====================================================
>>  [2J [1;1H
>> Port statistics ====================================
>> Statistics for port 0 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Statistics for port 1 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Aggregate statistics ===============================
>> Total packets sent:                  0
>> Total packets received:              0
>> Total packets dropped:               0
>> ====================================================
>>  [2J [1;1H
>> Port statistics ====================================
>> Statistics for port 0 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Statistics for port 1 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Aggregate statistics ===============================
>> Total packets sent:                  0
>> Total packets received:              0
>> Total packets dropped:               0
>> ====================================================
>>  [2J [1;1H
>> Port statistics ====================================
>> Statistics for port 0 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Statistics for port 1 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Aggregate statistics ===============================
>> Total packets sent:                  0
>> Total packets received:              0
>> Total packets dropped:               0
>> ====================================================
>>  [2J [1;1H
>> Port statistics ====================================
>> Statistics for port 0 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Statistics for port 1 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Aggregate statistics ===============================
>> Total packets sent:                  0
>> Total packets received:              0
>> Total packets dropped:               0
>> ====================================================
>>  [2J [1;1H
>> Port statistics ====================================
>> Statistics for port 0 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Statistics for port 1 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Aggregate statistics ===============================
>> Total packets sent:                  0
>> Total packets received:              0
>> Total packets dropped:               0
>> ====================================================
>>  [2J [1;1H
>> Port statistics ====================================
>> Statistics for port 0 ------------------------------
>> Packets sent:                        0
>> Packets received:                    0
>> Packets dropped:                     0
>> Statistics for port 1 ------------------------------
>> Packets sent:                        0
>> =========================================
>> Please correct/ provide suggestion if any of my assumption is wrong.
>>
>> Thanks,
>> Kavi

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

* Re: [dpdk-dev] l2fwd application - packets not getting forwarded
  2014-06-12 19:47 Raj Ravi
@ 2014-06-13  1:06 ` Raj Ravi
  2014-06-13  1:34   ` Raj Ravi
  0 siblings, 1 reply; 6+ messages in thread
From: Raj Ravi @ 2014-06-13  1:06 UTC (permalink / raw)
  To: dev

/Any help ? let me know if any additional info. is required.

Thanks.

On Fri, Jun 13, 2014 at 1:17 AM, Raj Ravi <mekaviraj@gmail.com> wrote:
> Hi,
> I am trying to run l2fwd application in ixgbe based network adapter.
>
> Followed the below steps:
> 1. Add hugepages in grub commandline. 1024 pages of 2 MB allocated.
> 2. verify hugepages support in /proc/meminfo.
> 3.mounted huge pages as below:
> mount -t hugetlbfs nodev /mnt/huge
>
> 4. built DPDK environment for x86_64-default-linuxapp-gcc.
> 5. built l2fwd applicaition after exporting $RTE_SDK and  $RTE_TARGET.
>
> I have three machines connected like this:
>
> machine 1  <----> machine 2 <---> machine 3
>
> machine 1 -> where pktgen runs to generate traffic
>
> machine 2 -> l2fwd runs
>
> machine 3 -> I should be able to observe packets here using tcpdump.??
>
>
> First I run l2fwd like below (in machine 2):
> ./l2fwd -c f -n 4 -- -q 4 -p 3
>
> Note port 1 and 2 are ixgbe port which are already bind to igb_uio driver.
>
> Q1. My understanding is whatever traffic arrives in port 1 will be
> forwarded to port 2.
> and port 2 will be forwarded to port 1.
> Please correct me here. ?
>
> Q2. from machine 1 to machine 3 , ping should work??
>
>
> In machine 1 , pktgen script is run as below :
>
> ==============
> pktgen script used:
> #!/bin/sh
> # pktgen.conf -- Sample configuration for send on two devices on a UP system
>
> #modprobe pktgen
> #modprobe pktgen
>
> function pgset() {
>     local result
>
>     echo $1 > $PGDEV
>     result=`cat $PGDEV | fgrep "Result: OK:"`
>     if [ "$result" = "" ]; then
>          cat $PGDEV | fgrep Result:
>     fi
> }
>
> function pg() {
>     echo inject > $PGDEV
>     cat $PGDEV
> }
>
> # On UP systems only one thread exists -- so just add devices
> # We use eth0
> echo "Adding devices to run".
>
> PGDEV=/proc/net/pktgen/kpktgend_0
> pgset "rem_device_all"
> pgset "add_device eth0"
> pgset "max_before_softirq 10000"
>
> #pgset "add_device eth0"
>
> # Configure the individual devices
> echo "Configuring devices"
>
> PGDEV=/proc/net/pktgen/eth0
> #pgset "delay 0"
> pgset "clone_skb 1000000"
> pgset "pkt_size 60"
> #pgset "min_pkt_size 60"
> #pgset "max_pkt_size 60"
> #pgset "min_pkt_size 92"
> #pgset "max_pkt_size 92"
>
>
> pgset "src_mac 70:71:BC:A8:5A:E8"
> pgset "dst_mac 70:71:bc:dc:92:ab"
>
> pgset "count 10000000"
>
> # Time to run
>
> PGDEV=/proc/net/pktgen/pgctrl
>
> echo "Running... ctrl^C to stop"
>
> pgset "start"
>
> echo "Done"
>
> cat /proc/net/pktgen/eth0
> ==============
>
> Q3:  In above script, is it mandatory to mention both source and
> destination macs ??
>
> Also, destination mac should "machine 3" 's mac address??
>
>
> Q4: With the above setting , I "CANNOT" see the stats getting
> incremented at all ?? I fear the traffic is not passing through the
> ixgbe ports at all.
>
> Q5: I have tried using testpmd application, here, all the packets are
> shown in RX errors.
>
> RHEL7, 3.10.32 kernel used. DPDK 1.6.0-18.zip used.
>
> l2fwd application log:
> ===========================
> EAL: Detected lcore 0 as core 0 on socket 0
> EAL: Detected lcore 1 as core 1 on socket 0
> EAL: Detected lcore 2 as core 2 on socket 0
> EAL: Detected lcore 3 as core 3 on socket 0
> EAL: Detected lcore 4 as core 4 on socket 0
> EAL: Detected lcore 5 as core 5 on socket 0
> EAL: Detected lcore 6 as core 6 on socket 0
> EAL: Detected lcore 7 as core 7 on socket 0
> EAL: Detected lcore 8 as core 0 on socket 0
> EAL: Detected lcore 9 as core 1 on socket 0
> EAL: Detected lcore 10 as core 2 on socket 0
> EAL: Detected lcore 11 as core 3 on socket 0
> EAL: Detected lcore 12 as core 4 on socket 0
> EAL: Detected lcore 13 as core 5 on socket 0
> EAL: Detected lcore 14 as core 6 on socket 0
> EAL: Detected lcore 15 as core 7 on socket 0
> EAL: Support maximum 64 logical core(s) by configuration.
> EAL: Detected 16 lcore(s)
> EAL: Setting up memory...
> EAL: Ask a virtual area of 0x200000 bytes
> EAL: Virtual area found at 0x7f6e89400000 (size = 0x200000)
> EAL: Ask a virtual area of 0x7fc00000 bytes
> EAL: Virtual area found at 0x7f6e09600000 (size = 0x7fc00000)
> EAL: Ask a virtual area of 0x200000 bytes
> EAL: Virtual area found at 0x7f6e09200000 (size = 0x200000)
> EAL: Requesting 1024 pages of size 2MB from socket 0
> EAL: TSC frequency is ~2200002 KHz
> EAL: Master core 2 is ready (tid=89bbd840)
> EAL: PCI device 0000:01:00.0 on NUMA socket 0
> EAL:   probe driver: 8086:1528 rte_ixgbe_pmd
> EAL:   PCI memory mapped at 0x7f6e89987000
> EAL:   PCI memory mapped at 0x7f6e89bcf000
> EAL: PCI device 0000:01:00.1 on NUMA socket 0
> EAL:   probe driver: 8086:1528 rte_ixgbe_pmd
> EAL:   PCI memory mapped at 0x7f6e89787000
> EAL:   PCI memory mapped at 0x7f6e89bcb000
> EAL: PCI device 0000:06:00.0 on NUMA socket 0
> EAL:   probe driver: 8086:1521 rte_igb_pmd
> EAL:   PCI memory mapped at 0x7f6e89687000
> EAL:   PCI memory mapped at 0x7f6e89bc7000
> EAL: PCI device 0000:06:00.1 on NUMA socket 0
> EAL:   probe driver: 8086:1521 rte_igb_pmd
> EAL:   0000:06:00.1 not managed by UIO driver, skipping
> Lcore 2: RX port 0
> Lcore 2: RX port 1
> Initializing port 0... done:
> Port 0, MAC address: A0:36:9F:05:E8:2C
>
> Initializing port 1... done:
> Port 1, MAC address: A0:36:9F:05:E8:2E
>
> Skipping disabled port 2
>
> Checking link status.................................done
> Port 0 Link Up - speed 1000 Mbps - full-duplex
> Port 1 Link Up - speed 1000 Mbps - full-duplex
> L2FWD: entering main loop on lcore 2
> L2FWD:  -- lcoreid=2 portid=0
> L2FWD:  -- lcoreid=2 portid=1
>  [2J [1;1H
> Port statistics ====================================
> Statistics for port 0 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Statistics for port 1 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Aggregate statistics ===============================
> Total packets sent:                  0
> Total packets received:              0
> Total packets dropped:               0
> ====================================================
>  [2J [1;1H
> Port statistics ====================================
> Statistics for port 0 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Statistics for port 1 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Aggregate statistics ===============================
> Total packets sent:                  0
> Total packets received:              0
> Total packets dropped:               0
> ====================================================
>  [2J [1;1H
> Port statistics ====================================
> Statistics for port 0 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Statistics for port 1 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Aggregate statistics ===============================
> Total packets sent:                  0
> Total packets received:              0
> Total packets dropped:               0
> ====================================================
>  [2J [1;1H
> Port statistics ====================================
> Statistics for port 0 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Statistics for port 1 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Aggregate statistics ===============================
> Total packets sent:                  0
> Total packets received:              0
> Total packets dropped:               0
> ====================================================
>  [2J [1;1H
> Port statistics ====================================
> Statistics for port 0 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Statistics for port 1 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Aggregate statistics ===============================
> Total packets sent:                  0
> Total packets received:              0
> Total packets dropped:               0
> ====================================================
>  [2J [1;1H
> Port statistics ====================================
> Statistics for port 0 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Statistics for port 1 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Aggregate statistics ===============================
> Total packets sent:                  0
> Total packets received:              0
> Total packets dropped:               0
> ====================================================
>  [2J [1;1H
> Port statistics ====================================
> Statistics for port 0 ------------------------------
> Packets sent:                        0
> Packets received:                    0
> Packets dropped:                     0
> Statistics for port 1 ------------------------------
> Packets sent:                        0
> =========================================
> Please correct/ provide suggestion if any of my assumption is wrong.
>
> Thanks,
> Kavi

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

* [dpdk-dev] l2fwd application - packets not getting forwarded
@ 2014-06-12 19:47 Raj Ravi
  2014-06-13  1:06 ` Raj Ravi
  0 siblings, 1 reply; 6+ messages in thread
From: Raj Ravi @ 2014-06-12 19:47 UTC (permalink / raw)
  To: dev

Hi,
I am trying to run l2fwd application in ixgbe based network adapter.

Followed the below steps:
1. Add hugepages in grub commandline. 1024 pages of 2 MB allocated.
2. verify hugepages support in /proc/meminfo.
3.mounted huge pages as below:
mount -t hugetlbfs nodev /mnt/huge

4. built DPDK environment for x86_64-default-linuxapp-gcc.
5. built l2fwd applicaition after exporting $RTE_SDK and  $RTE_TARGET.

I have three machines connected like this:

machine 1  <----> machine 2 <---> machine 3

machine 1 -> where pktgen runs to generate traffic

machine 2 -> l2fwd runs

machine 3 -> I should be able to observe packets here using tcpdump.??


First I run l2fwd like below (in machine 2):
./l2fwd -c f -n 4 -- -q 4 -p 3

Note port 1 and 2 are ixgbe port which are already bind to igb_uio driver.

Q1. My understanding is whatever traffic arrives in port 1 will be
forwarded to port 2.
and port 2 will be forwarded to port 1.
Please correct me here. ?

Q2. from machine 1 to machine 3 , ping should work??


In machine 1 , pktgen script is run as below :

==============
pktgen script used:
#!/bin/sh
# pktgen.conf -- Sample configuration for send on two devices on a UP system

#modprobe pktgen
#modprobe pktgen

function pgset() {
    local result

    echo $1 > $PGDEV
    result=`cat $PGDEV | fgrep "Result: OK:"`
    if [ "$result" = "" ]; then
         cat $PGDEV | fgrep Result:
    fi
}

function pg() {
    echo inject > $PGDEV
    cat $PGDEV
}

# On UP systems only one thread exists -- so just add devices
# We use eth0
echo "Adding devices to run".

PGDEV=/proc/net/pktgen/kpktgend_0
pgset "rem_device_all"
pgset "add_device eth0"
pgset "max_before_softirq 10000"

#pgset "add_device eth0"

# Configure the individual devices
echo "Configuring devices"

PGDEV=/proc/net/pktgen/eth0
#pgset "delay 0"
pgset "clone_skb 1000000"
pgset "pkt_size 60"
#pgset "min_pkt_size 60"
#pgset "max_pkt_size 60"
#pgset "min_pkt_size 92"
#pgset "max_pkt_size 92"


pgset "src_mac 70:71:BC:A8:5A:E8"
pgset "dst_mac 70:71:bc:dc:92:ab"

pgset "count 10000000"

# Time to run

PGDEV=/proc/net/pktgen/pgctrl

echo "Running... ctrl^C to stop"

pgset "start"

echo "Done"

cat /proc/net/pktgen/eth0
==============

Q3:  In above script, is it mandatory to mention both source and
destination macs ??

Also, destination mac should "machine 3" 's mac address??


Q4: With the above setting , I "CANNOT" see the stats getting
incremented at all ?? I fear the traffic is not passing through the
ixgbe ports at all.

Q5: I have tried using testpmd application, here, all the packets are
shown in RX errors.

RHEL7, 3.10.32 kernel used. DPDK 1.6.0-18.zip used.

l2fwd application log:
===========================
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 1 on socket 0
EAL: Detected lcore 2 as core 2 on socket 0
EAL: Detected lcore 3 as core 3 on socket 0
EAL: Detected lcore 4 as core 4 on socket 0
EAL: Detected lcore 5 as core 5 on socket 0
EAL: Detected lcore 6 as core 6 on socket 0
EAL: Detected lcore 7 as core 7 on socket 0
EAL: Detected lcore 8 as core 0 on socket 0
EAL: Detected lcore 9 as core 1 on socket 0
EAL: Detected lcore 10 as core 2 on socket 0
EAL: Detected lcore 11 as core 3 on socket 0
EAL: Detected lcore 12 as core 4 on socket 0
EAL: Detected lcore 13 as core 5 on socket 0
EAL: Detected lcore 14 as core 6 on socket 0
EAL: Detected lcore 15 as core 7 on socket 0
EAL: Support maximum 64 logical core(s) by configuration.
EAL: Detected 16 lcore(s)
EAL: Setting up memory...
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f6e89400000 (size = 0x200000)
EAL: Ask a virtual area of 0x7fc00000 bytes
EAL: Virtual area found at 0x7f6e09600000 (size = 0x7fc00000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f6e09200000 (size = 0x200000)
EAL: Requesting 1024 pages of size 2MB from socket 0
EAL: TSC frequency is ~2200002 KHz
EAL: Master core 2 is ready (tid=89bbd840)
EAL: PCI device 0000:01:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1528 rte_ixgbe_pmd
EAL:   PCI memory mapped at 0x7f6e89987000
EAL:   PCI memory mapped at 0x7f6e89bcf000
EAL: PCI device 0000:01:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1528 rte_ixgbe_pmd
EAL:   PCI memory mapped at 0x7f6e89787000
EAL:   PCI memory mapped at 0x7f6e89bcb000
EAL: PCI device 0000:06:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 rte_igb_pmd
EAL:   PCI memory mapped at 0x7f6e89687000
EAL:   PCI memory mapped at 0x7f6e89bc7000
EAL: PCI device 0000:06:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1521 rte_igb_pmd
EAL:   0000:06:00.1 not managed by UIO driver, skipping
Lcore 2: RX port 0
Lcore 2: RX port 1
Initializing port 0... done:
Port 0, MAC address: A0:36:9F:05:E8:2C

Initializing port 1... done:
Port 1, MAC address: A0:36:9F:05:E8:2E

Skipping disabled port 2

Checking link status.................................done
Port 0 Link Up - speed 1000 Mbps - full-duplex
Port 1 Link Up - speed 1000 Mbps - full-duplex
L2FWD: entering main loop on lcore 2
L2FWD:  -- lcoreid=2 portid=0
L2FWD:  -- lcoreid=2 portid=1
^[[2J^[[1;1H
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 1 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Aggregate statistics ===============================
Total packets sent:                  0
Total packets received:              0
Total packets dropped:               0
====================================================
^[[2J^[[1;1H
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 1 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Aggregate statistics ===============================
Total packets sent:                  0
Total packets received:              0
Total packets dropped:               0
====================================================
^[[2J^[[1;1H
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 1 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Aggregate statistics ===============================
Total packets sent:                  0
Total packets received:              0
Total packets dropped:               0
====================================================
^[[2J^[[1;1H
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 1 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Aggregate statistics ===============================
Total packets sent:                  0
Total packets received:              0
Total packets dropped:               0
====================================================
^[[2J^[[1;1H
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 1 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Aggregate statistics ===============================
Total packets sent:                  0
Total packets received:              0
Total packets dropped:               0
====================================================
^[[2J^[[1;1H
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 1 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Aggregate statistics ===============================
Total packets sent:                  0
Total packets received:              0
Total packets dropped:               0
====================================================
^[[2J^[[1;1H
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 1 ------------------------------
Packets sent:                        0
=========================================
Please correct/ provide suggestion if any of my assumption is wrong.

Thanks,
Kavi

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

end of thread, other threads:[~2014-06-22  6:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-22  6:09 [dpdk-dev] l2fwd application - packets not getting forwarded Lu, Patrick
  -- strict thread matches above, loose matches on Subject: below --
2014-06-12 19:47 Raj Ravi
2014-06-13  1:06 ` Raj Ravi
2014-06-13  1:34   ` Raj Ravi
2014-06-13 17:09     ` Richardson, Bruce
2014-06-16  6:07       ` Raj Ravi

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://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/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


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