Hi, I am trying to understand DPDK and i modified dpdk-2.0.0/examples/rxtx_callbacks so that i get a message whenever i RX and TX a frame.
I added a printf in add_timestamps() and calc_latency() to know whenever i am able to RX and TX a packet along with the # of pkts that i get -- print nb_pkts. When i run i see that i am continuously getting packets that i try to TX out. This is odd, because i was expecting to only see the frames that i would especially send to the port that is DPDK enabled. Is this the expected behavior? Would be great if you guys can tell me in case i am missing something. Screen SHOTS: akabra at VirtualBox:~/dpdk/dpdk-2.0.0/examples/rxtx_callbacks$ dpdk_nic_bind.py --status Network devices using DPDK-compatible driver ============================================ 0000:00:08.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio unused=uio_pci_generic 0000:00:09.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio unused=uio_pci_generic Network devices using kernel driver =================================== 0000:00:03.0 '82540EM Gigabit Ethernet Controller' if=eth1 drv=e1000 unused=igb_uio,uio_pci_generic *Active* Other network devices ===================== <none> akabra at VirtualBox:~/dpdk/dpdk-2.0.0/examples/rxtx_callbacks$ akabra at VirtualBox:~/dpdk/dpdk-2.0.0/examples/rxtx_callbacks$ sudo build/rxtx_callbacks -c 1 -n 4 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: Support maximum 128 logical core(s) by configuration. EAL: Detected 3 lcore(s) EAL: VFIO modules not all loaded, skip VFIO support... EAL: Setting up memory... EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f7ec8e00000 (size = 0x200000) EAL: Ask a virtual area of 0xa400000 bytes EAL: Virtual area found at 0x7f7ebe800000 (size = 0xa400000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f7ebe400000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f7ebe000000 (size = 0x200000) EAL: Ask a virtual area of 0x15400000 bytes EAL: Virtual area found at 0x7f7ea8a00000 (size = 0x15400000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f7ea8600000 (size = 0x200000) EAL: Requesting 256 pages of size 2MB from socket 0 EAL: TSC frequency is ~2594691 KHz EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles ! EAL: Master lcore 0 is ready (tid=ca023900;cpuset=[0]) PMD: ENICPMD trace: rte_enic_pmd_init EAL: PCI device 0000:00:03.0 on NUMA socket -1 EAL: probe driver: 8086:100e rte_em_pmd EAL: Not managed by a supported kernel driver, skipped EAL: PCI device 0000:00:08.0 on NUMA socket -1 EAL: probe driver: 8086:100f rte_em_pmd EAL: PCI memory mapped at 0x7f7ec9000000 PMD: eth_em_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x100f EAL: PCI device 0000:00:09.0 on NUMA socket -1 EAL: probe driver: 8086:100f rte_em_pmd EAL: PCI memory mapped at 0x7f7ec9fcd000 PMD: eth_em_dev_init(): port_id 1 vendorID=0x8086 deviceID=0x100f PMD: eth_em_rx_queue_setup(): sw_ring=0x7f7ebf2f3a80 hw_ring=0x7f7ec8e41500 dma_addr=0xbf841500 PMD: eth_em_tx_queue_setup(): sw_ring=0x7f7ebf2f1980 hw_ring=0x7f7ec8e51500 dma_addr=0xbf851500 PMD: eth_em_start(): << Port 0 MAC: 08 00 27 f7 13 f5 PMD: eth_em_rx_queue_setup(): sw_ring=0x7f7ebf2f1280 hw_ring=0x7f7ec8e61500 dma_addr=0xbf861500 PMD: eth_em_tx_queue_setup(): sw_ring=0x7f7ebf2ef180 hw_ring=0x7f7ec8e71500 dma_addr=0xbf871500 PMD: eth_em_start(): << Port 1 MAC: 08 00 27 7b 2d b2 Core 0 forwarding packets. [Ctrl+C to quit] Getting a packet 32! Txing Packets 32 Getting a packet 32! Txing Packets 32 Getting a packet 32! Txing Packets 32 Getting a packet 32! Txing Packets 32 Getting a packet 32! Txing Packets 32 Getting a packet 32! Txing Packets 32 Getting a packet 32! Txing Packets 32 Getting a packet 32! Txing Packets 32 Getting a packet 32! Txing Packets 32 Thanks, Abhishek