[dpdk-dev] l2fwd application - packets not getting forwarded

Raj Ravi mekaviraj at gmail.com
Fri Jun 13 03:34:37 CEST 2014


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


More information about the dev mailing list