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