[dpdk-dev] Could DPDK be used for Openstack?
Hi Mr. Kim, Please review version v1.0, which is going to be release soon. This version need patch up with openstack patch. https://01.org/packet-processing/intel%C2%AE-dpdk-vswitch-and-openstack-patches Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of BYEONG-GI KIM Sent: Thursday, May 08, 2014 1:09 PM To: dev at dpdk.org Subject: [dpdk-dev] Could DPDK be used for Openstack? Dear all, I'm a new who is getting started DPDK, and I wonder that the current supported version of DPDK vSwitch could replace Open vSwitch (ovs) in OpenStack. Thanks in advance. Best regards, Byeong-Gi KIM
[dpdk-dev] a NIC binding to igb_uio module of DPDK is down
Hi Mr. Kim, The port bind with igb_uio will not be seen by the kernel. May be the status is not active because you DPDK app has not started. You can run DPDK testpmd, then you will see the NIC LED blinking, you can even control the LED Example:- Network devices using DPDK-compatible driver :00:08.0 'Device 154c' drv=igb_uio unused= :00:09.0 'Device 154c' drv=igb_uio unused= Network devices using kernel driver === :00:03.0 'Virtio network device' if= drv=virtio-pci unused=igb_uio Other network devices ========= Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of BYEONG-GI KIM Sent: Wednesday, August 13, 2014 12:27 PM To: dev at dpdk.org; Dpdk-ovs at lists.01.org Subject: [dpdk-dev] a NIC binding to igb_uio module of DPDK is down Hello. I deployed openstack with dpdk-ovs and I'm now testing it. The problem is that a NIC which is binding to igb_uio module of DPDK is physically down so that it seems not communicate with the other hosts through the NIC. The test environment is as below: OS: RHEL 6 with kernel 3.7.10 Hardware information: Intel Atom Processor C2758, 64GB DDR3, 4x RJ45 Gigabit Ethernet LAN ports, etc. DPDK version: 1.7.0 ovdk version: 1.1 I checked the NIC's status via ./tools/dpdk_nic_bind.py --status, and it doesn't snow *Active* status: ./tools/dpdk_nic_bind.py --status Network devices using DPDK-compatible driver :00:14.1 'Ethernet Connection I354' drv=igb_uio unused=igb Network devices using kernel driver === :00:14.0 'Ethernet Connection I354' if=eth0 drv=igb unused=igb_uio *Active* :00:14.2 'Ethernet Connection I354' if=eth2 drv=igb unused=igb_uio *Active* :00:14.3 'Ethernet Connection I354' if=eth3 drv=igb unused=igb_uio Other network devices = The NIC port on the PC doesn't glitter physically, which means it seems not connected physically. Doesn't the processor support DPDK, or what is causing the problem? Any comments would be really appreciated. Best Regards Byeong-Gi KIM
[dpdk-dev] Unable to get RSS to work in testpmd and load balancing question
Hi Dan, I have tested with 6 flows with identical ip address, but varies UDP port number. I can see both queues with traffic. Using the following command:- sudo ./app/testpmd -c 0x1f -n 4 -- -i -rss-udp --portmask=0x03 --nb-cores=4 --rxq=2 --txq=2 I have started with RSS IPv4, which is enabled by default. The critical part is the traffic, since I only 2 queues, I am sending 6 flows with different IP addresses in order to see the flow got distributed evenly. Or else you might see only 1 queues if you have 2 flows they might load to a single queue only. My Command:- sudo ./app/testpmd -c 0x1f -n 4 -- -i --portmask=0x03 --nb-cores=4 --rxq=2 --txq=2 - Using 4 cores - Rxq = 2 for each port, so 4 queues to 4 cores. testpmd> show port stats all ? NIC statistics for port 0? ? RX-packets:? 6306519648??? RX-errors:? 757945685??? RX-bytes: 309383840254 ? TX-packets:?? 132592678??? TX-errors:? 0??? TX-bytes: 8485925376 ? Stats reg? 0 RX-packets: 2556150208??? RX-errors:? 0??? RX-bytes: 116477417471 ? Stats reg? 1 RX-packets: 3750369440??? RX-errors:? 0??? RX-bytes: 192906422783 ? Stats reg? 2 RX-packets:? 0??? RX-errors:? 0??? RX-bytes:?? ???0 . . . ? Stats reg 15 RX-packets:? 0??? RX-errors:? 0??? RX-bytes:? 0 ? ? NIC statistics for port 1? ? RX-packets:?? 132594048??? RX-errors:?? 13825889??? RX-bytes: 8486020288 ? TX-packets:? 6306522739??? TX-errors:? 0??? TX-bytes: 231983528894 ? Stats reg? 0 RX-packets:?? 83615783??? RX-errors: ?0??? RX-bytes: 5351410624 ? Stats reg? 1 RX-packets:?? 48978265??? RX-errors:? 0??? RX-bytes: 3134609664 ? Stats reg? 2 RX-packets:? 0??? RX-errors:? 0??? RX-bytes:? 0 . . . ? Stats reg 15 RX-packets:? 0??? RX-errors:? 0??? RX-bytes:? 0 ? testpmd> My Command:- sudo ./app/testpmd -c 0x1f -n 4 -- -i --portmask=0x03 --nb-cores=4 --rxq=2 --txq=2 - Using 4 cores - Rxq = 2 for each port, so 4 queues to 4 cores. I use this command to map the queue statistic. testpmd> set stat_qmap rx 0 0 0 testpmd> set stat_qmap rx 0 1 1 testpmd> set stat_qmap rx 1 0 0 testpmd> set stat_qmap rx 1 1 1 testpmd> start ? io packet forwarding - CRC stripping disabled - packets/burst=16 ? nb forwarding cores=2 - nb forwarding ports=2 ? RX queues=2 - RX desc=128 - RX free threshold=0 ? RX threshold registers: pthresh=8 hthresh=8 wthresh=4 ? TX queues=2 - TX desc=512 - TX free threshold=0 ? TX threshold registers: pthresh=36 hthresh=0 wthresh=0 ? TX RS bit threshold=0 - TXQ flags=0x0 testpmd> show port stats all Regards, Choi, Sy Jong Platform Application Engineer From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Dan Kan Sent: Wednesday, January 08, 2014 3:25 PM To: dev at dpdk.org Subject: [dpdk-dev] Unable to get RSS to work in testpmd and load balancing question I'm evaluating DPDK using dpdk-1.5.1r1. I have been playing around with the test-pmd sample app. I'm having a hard time to get RSS to work. I have a 2-port 82599 Intel X540-DA2 NIC. I'm running the following command to start the app. sudo ./testpmd -c 0x1f -n 2 -- -i --portmask=0x3 --nb-cores=4 --rxq=4 --txq=4 I have a packet generator that sends udp packets with various src IP. According testpmd, I'm only receiving packets in port 0's queue 0. Packets are not going into any other queues. I have attached the output from testpmd. --- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 1/Queue= 0 --- RX-packets: 100TX-packets: 100TX-dropped: 0 -- Forward statistics for port 0 -- RX-packets: 100RX-dropped: 0 RX-total: 100 TX-packets: 0 TX-dropped: 0 TX-total: 0 -- Forward statistics for port 1 -- RX-packets: 0 RX-dropped: 0 RX-total: 0 TX-packets: 100TX-dropped: 0 TX-total: 100 +++ Accumulated forward statistics for all ports+++ RX-packets: 100RX-dropped: 0 RX-total: 100 TX-packets: 100TX-dropped: 0 TX-total: 100 On a separate note, I also find that the CPU utilization using 1 forwarding core for 2 ports seems to be better (in the aggregate sense) than usin
[dpdk-dev] Build failure on Ubuntu 14.04
Hi Waterman I'm seeing the same problem, here is my Ubuntu version, I'm using ubunto desktop. Linux schoi5-desktop 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Cao, Waterman Sent: Monday, July 07, 2014 4:13 PM To: Wiles, Roger Keith (Wind River); Subject: Re: [dpdk-dev] Build failure on Ubuntu 14.04 Hi Keith, we built the newest dpdk code on my machine, it seems OK, please see UB14.04 info in my computer. System: Ubuntu14.04 Kernel: 3.13.0-24 X86_64 Compiler: GCC 4.8.2 x86_64 Can you let me know which kernel version you use? Thanks Waterman Original Message- >From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Wiles, Roger Keith >Sent: Saturday, July 5, 2014 11:50 PM >To: >Subject: Re: [dpdk-dev] Build failure on Ubuntu 14.04 > >Made sure I was up to date with Ubuntu patches, but still had the same problem. > >I modified the kcompat.h file to allow the compile to continue, not sure this >is a fix per say. > >dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h<http://dpdk. >org/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h> around line 3853 > ># Changed the next line from (3,14,0) to (3,13,0) #if ( LINUX_VERSION_CODE >< KERNEL_VERSION(3,13,0) ) #if (!(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= >RHEL_RELEASE_VERSION(7,0))) #ifdef NETIF_F_RXHASH #define PKT_HASH_TYPE_L3 0 >static inline void skb_set_hash(struct sk_buff *skb, __u32 hash, >__always_unused int type) { >skb->rxhash = hash; >} >#endif /* NETI F_F_RXHASH */ >#endif /* < RHEL7 */ >#endif /* < 3.14.0 */ > >Keith Wiles, Principal Technologist with CTO office, Wind River mobile >972-213-5533 > >[Powering 30 Years of >Innovation]<http://www.windriver.com/announces/wr30/> > >On Jul 5, 2014, at 10:28 AM, Wiles, Roger Keith windriver.com<mailto:keith.wiles at windriver.com>> wrote: > >Forgot the uname -a: > >Linux keithw-W2600CR 3.13.0-30-generic #54-Ubuntu SMP Mon Jun 9 >22:45:01 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux > >Keith Wiles, Principal Technologist with CTO office, Wind River mobile >972-213-5533 > >[Powering 30 Years of >Innovation]<http://www.windriver.com/announces/wr30/> > >On Jul 5, 2014, at 10:27 AM, Wiles, Roger Keith windriver.com<mailto:keith.wiles at windriver.com><mailto:keith.wiles at >windriver.com>> wrote: > >Hi All, > >I got a build failure on : > >[10:20][keithw at keithw-W2600CR:umf(dev)]$ lsb_release -a No LSB modules are >available. >Distributor ID: Ubuntu >Description:Ubuntu 14.04 LTS >Release:14.04 >Codename: trusty > >Looks like the skb_set_hash() function changed from: > >static inline void >skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) >{ > skb->rxhash = hash; >} > >To: > >static inline void >skb_set_hash(struct sk_buff *skb, __u32 hash, enum pkt_hash_types type) >{ > skb->l4_rxhash = (type == PKT_HASH_TYPE_L4); > skb->rxhash = hash; >} > >Compile line: 'make install T=x86_64-native-linuxapp-gcc' >... >CC [M] >/home/keithw/projects/dpdk/dpdk.org/x86_64-native-linuxapp-gcc/build/li >b/librte_eal/linuxapp/kni/e1000_82575.o<http://dpdk.org/x86_64-native-l >inuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o><http://dpd >k.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e100 >0_82575.o><http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_ >eal/linuxapp/kni/e1000_82575.o> In file included from >/home/keithw/projects/dpdk/dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0<http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0><http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0><http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0>, > from > /home/keithw/projects/dpdk/dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31<http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31><http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31><http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31>, > from > /home/keithw/projects/dpdk/dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31<http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31><http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31><http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31>, >
[dpdk-dev] Error while compiling DPDK
Hi Mr. Kim, Please do not compile with "T=x86*gcc" because it will compile BSD app too, which cause the error. Please complile only the configuration you need. This should remove the error. Regards, Choi, Sy Jong -Original Message- From: BYEONG-GI KIM [kimbyeonggi at gmail.com<mailto:kimbyeon...@gmail.com>] Sent: Monday, July 14, 2014 08:25 AM Malay Peninsula Standard Time To: Dpdk-ovs at lists.01.org; dev at dpdk.org Subject: [dpdk-dev] Error while compiling DPDK Hello. An error occured while compiling DPDK 1.6.0r2 as below: [root at compute dpdk-1.6.0r2]# make install T=x86_64*gcc ...Installing... /ovdk/dpdk/dpdk-1.6.0r2/lib/librte_eal/bsdapp/eal/eal.c: In function ?rte_eal_init?: /ovdk/dpdk/dpdk-1.6.0r2/lib/librte_eal/bsdapp/eal/eal.c:873:2: error: format ?%p? expects argument of type ?void *?, but argument 5 has type ?pthread_t? [-Werror=format=] RTE_LOG(DEBUG, EAL, "Master core %u is ready (tid=%p)\n", ^ The current OS is Fedora20. What should I do?... Best regards Byeong-Gi KIM
[dpdk-dev] Error while compiling DPDK
Hi Mr. Kim, May confirm which environment are you using? x86_64-default-linuxapp-gcc or x86_64-native-linuxapp-gcc Regards, Choi, Sy Jong -Original Message- From: BYEONG-GI KIM [kimbyeonggi at gmail.com<mailto:kimbyeon...@gmail.com>] Sent: Monday, July 14, 2014 10:05 AM Malay Peninsula Standard Time To: Masaru Oki; dev at dpdk.org; Dpdk-ovs at lists.01.org Subject: Re: [dpdk-dev] Error while compiling DPDK Here is the error message in English; == Build lib/librte_eal/linuxapp == Build lib/librte_eal/linuxapp/igb_uio LD /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o CC [M] /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o Building modules, stage 2. MODPOST 1 modules CC /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.mod.o LD [M] /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko INSTALL-MODULE igb_uio.ko == Build lib/librte_eal/linuxapp/eal CC eal.o gcc: error: ?g: No such file or directory make[7]: *** [eal.o] Error 1 make[6]: *** [eal] Error 2 make[5]: *** [linuxapp] Error 2 make[4]: *** [librte_eal] Error 2 make[3]: *** [lib] Error 2 make[2]: *** [all] Error 2 make[1]: *** [x86_64-default-linuxapp-gcc_install] Error 2 make: *** [install] Error 2 2014-07-14 11:02 GMT+09:00 Masaru Oki : > > I'm sorry for the Korean characteristics. It was shown because My Fedora > OS > > is set to use Korean as a default language. > > Try env LANG=C make install ... > > > 2014-07-14 10:24 GMT+09:00 BYEONG-GI KIM : > >> Dear choi, >> >> Thank you for the reply. >> >> I've been trying to install DPDK while changing the command as you >> mentioned, i.e., I used T=x86_64-default-linuxapp-gcc, but error was still >> shown; >> >> >> [root at compute DPDK-1.6.0]# make install T=x86_64-default-linuxapp-gcc >> == Installing x86_64-default-linuxapp-gcc >> Configuration done >> == Build scripts >> == Build scripts/testhost >> HOSTCC testhost.o >> HOSTLD testhost >> INSTALL-HOSTAPP testhost >> == Build lib >> == Build lib/librte_eal >> == Build lib/librte_eal/common >> SYMLINK-FILE include/rte_atomic.h >> SYMLINK-FILE include/rte_branch_prediction.h >> SYMLINK-FILE include/rte_byteorder.h >> SYMLINK-FILE include/rte_common.h >> SYMLINK-FILE include/rte_cycles.h >> SYMLINK-FILE include/rte_debug.h >> SYMLINK-FILE include/rte_eal.h >> SYMLINK-FILE include/rte_errno.h >> SYMLINK-FILE include/rte_launch.h >> SYMLINK-FILE include/rte_lcore.h >> SYMLINK-FILE include/rte_log.h >> SYMLINK-FILE include/rte_memcpy.h >> SYMLINK-FILE include/rte_memory.h >> SYMLINK-FILE include/rte_memzone.h >> SYMLINK-FILE include/rte_pci.h >> SYMLINK-FILE include/rte_pci_dev_ids.h >> SYMLINK-FILE include/rte_per_lcore.h >> SYMLINK-FILE include/rte_prefetch.h >> SYMLINK-FILE include/rte_random.h >> SYMLINK-FILE include/rte_rwlock.h >> SYMLINK-FILE include/rte_spinlock.h >> SYMLINK-FILE include/rte_tailq.h >> SYMLINK-FILE include/rte_interrupts.h >> SYMLINK-FILE include/rte_alarm.h >> SYMLINK-FILE include/rte_string_fns.h >> SYMLINK-FILE include/rte_cpuflags.h >> SYMLINK-FILE include/rte_version.h >> SYMLINK-FILE include/rte_tailq_elem.h >> SYMLINK-FILE include/rte_eal_memconfig.h >> SYMLINK-FILE include/rte_malloc_heap.h >> SYMLINK-FILE include/rte_hexdump.h >> SYMLINK-FILE include/arch/rte_atomic.h >> == Build lib/librte_eal/linuxapp >> == Build lib/librte_eal/linuxapp/igb_uio >> LD >> >> >> /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o >> CC [M] >> >> >> /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o >> Building modules, stage 2. >> MODPOST 1 modules >> CC >> >> >> /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.mod.o >> LD [M] >> >> >> /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko >> INSTALL-MODULE igb_uio.ko >> == Build lib/librte_eal/linuxapp/eal >> CC eal.o >> gcc: error: ?g: ?? ? >> make[7]: *** [eal.o] ?? 1 >> make[6]: *** [eal] ?? 2 >> make[5]: *** [linuxapp] ?? 2 >> make[4]: *** [librte_eal] ?? 2 >> make[3]: *** [lib] ?
[dpdk-dev] Error while compiling DPDK
Hi Mr. Kim, If you are compiling x86_64-default-linuxapp-gcc The RTE_TARGET=x86_64-default-linuxapp-gcc I have manage to compile DPDK r1.6.0 with the following OS and kernel version CentOS with customer kernel Linux localhost.localdomain 3.3.1 #1 SMP Tue Jan 7 22:44:17 MYT 2014 x86_64 x86_64 x86_64 GNU/Linux Ubuntu 14.04 Linux choi-desktop 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux May I know, have you been able to compile DPDK previously? Regards, Choi, Sy Jong Platform Application Engineer From: BYEONG-GI KIM [mailto:kimbyeon...@gmail.com] Sent: Monday, July 14, 2014 11:29 AM To: Choi, Sy Jong; dev at dpdk.org; Dpdk-ovs at lists.01.org Subject: Re: [dpdk-dev] Error while compiling DPDK Dear Choi I used x86_64-default-linuxapp-gcc. I also checked x86_64-native-linuxapp-gcc after exporting RTE_TARGET=x86_64-native-linuxapp-gcc, but there was a message "make[1]: Nothing to be done for `install'." while trying to install it. Best regards Byeong-Gi KIM 2014-07-14 11:40 GMT+09:00 Choi, Sy Jong mailto:sy.jong.choi at intel.com>>: Hi Mr. Kim, May confirm which environment are you using? x86_64-default-linuxapp-gcc or x86_64-native-linuxapp-gcc Regards, Choi, Sy Jong -Original Message- From: BYEONG-GI KIM [kimbyeonggi at gmail.com<mailto:kimbyeon...@gmail.com>] Sent: Monday, July 14, 2014 10:05 AM Malay Peninsula Standard Time To: Masaru Oki; dev at dpdk.org<mailto:dev at dpdk.org>; Dpdk-ovs at lists.01.org<mailto:Dpdk-ovs at lists.01.org> Subject: Re: [dpdk-dev] Error while compiling DPDK Here is the error message in English; == Build lib/librte_eal/linuxapp == Build lib/librte_eal/linuxapp/igb_uio LD /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o CC [M] /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o Building modules, stage 2. MODPOST 1 modules CC /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.mod.o LD [M] /home/stack/dpdk/DPDK-1.6.0/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko INSTALL-MODULE igb_uio.ko == Build lib/librte_eal/linuxapp/eal CC eal.o gcc: error: ?g: No such file or directory make[7]: *** [eal.o] Error 1 make[6]: *** [eal] Error 2 make[5]: *** [linuxapp] Error 2 make[4]: *** [librte_eal] Error 2 make[3]: *** [lib] Error 2 make[2]: *** [all] Error 2 make[1]: *** [x86_64-default-linuxapp-gcc_install] Error 2 make: *** [install] Error 2 2014-07-14 11:02 GMT+09:00 Masaru Oki mailto:m-oki at stratosphere.co.jp>>: > > I'm sorry for the Korean characteristics. It was shown because My Fedora > OS > > is set to use Korean as a default language. > > Try env LANG=C make install ... > > > 2014-07-14 10:24 GMT+09:00 BYEONG-GI KIM gmail.com<mailto:kimbyeonggi at gmail.com>>: > >> Dear choi, >> >> Thank you for the reply. >> >> I've been trying to install DPDK while changing the command as you >> mentioned, i.e., I used T=x86_64-default-linuxapp-gcc, but error was still >> shown; >> >> >> [root at compute DPDK-1.6.0]# make install T=x86_64-default-linuxapp-gcc >> == Installing x86_64-default-linuxapp-gcc >> Configuration done >> == Build scripts >> == Build scripts/testhost >> HOSTCC testhost.o >> HOSTLD testhost >> INSTALL-HOSTAPP testhost >> == Build lib >> == Build lib/librte_eal >> == Build lib/librte_eal/common >> SYMLINK-FILE include/rte_atomic.h >> SYMLINK-FILE include/rte_branch_prediction.h >> SYMLINK-FILE include/rte_byteorder.h >> SYMLINK-FILE include/rte_common.h >> SYMLINK-FILE include/rte_cycles.h >> SYMLINK-FILE include/rte_debug.h >> SYMLINK-FILE include/rte_eal.h >> SYMLINK-FILE include/rte_errno.h >> SYMLINK-FILE include/rte_launch.h >> SYMLINK-FILE include/rte_lcore.h >> SYMLINK-FILE include/rte_log.h >> SYMLINK-FILE include/rte_memcpy.h >> SYMLINK-FILE include/rte_memory.h >> SYMLINK-FILE include/rte_memzone.h >> SYMLINK-FILE include/rte_pci.h >> SYMLINK-FILE include/rte_pci_dev_ids.h >> SYMLINK-FILE include/rte_per_lcore.h >> SYMLINK-FILE include/rte_prefetch.h >> SYMLINK-FILE include/rte_random.h >> SYMLINK-FILE include/rte_rwlock.h >> SYMLINK-FILE include/rte_spinlock.h >> SYMLINK-FILE include/rte_tailq.h >> SYMLINK-FILE include/rte_interrupts.h >> SYMLINK-FILE include/rte_alarm.h >> SYMLINK-FILE include/rte_string_fns.h >> SYMLINK-FILE include/rte_cpuflags.h >> SYMLINK-FILE include/rte_version.h >> SYMLINK-FILE include/rte_
[dpdk-dev] [Dpdk-ovs] No "pci_unbind.py" in tools subdirectory
Hi Mr. Kim, I think DPDK r1.6 from dpdk.org has change certain file naming. I think it is ok to use the igb_uio_bind.py. Sometime, I would modprobe ?r ixgbe to remove some confusion on the binding. And only load igb_uio.ko from DPDK. Regards, Choi, Sy Jong Platform Application Engineer From: Dpdk-ovs [mailto:dpdk-ovs-boun...@lists.01.org] On Behalf Of BYEONG-GI KIM Sent: Monday, July 14, 2014 3:39 PM To: Dpdk-ovs at lists.01.org; dev at dpdk.org Subject: [Dpdk-ovs] No "pci_unbind.py" in tools subdirectory Hello. I'm sorry for the repeated question. I finally compiled DPDK successfully (there was a problem in the source code what I downloaded), and I'm moving to compile dpdk-ovs. Before compiling it, I'm trying to binding a network port to igb_uio module. In the dpdk-getting-started-guide, "pci_unbind.py" utility script is used to provide a view of the current state of the network ports on the system, and to bind/unbind those ports from the different kernel modules. The script, however, was not there in tools directory; There were only "igb_uio_bind.py". Is it fine as it is, or do I miss something? I downloaded the DPDK source from http://dpdk.org/browse/dpdk/refs/, and the file was dpdk-1.6.0r2.zip. I compiled both x86-64-defaultlinuxapp-gcc and x86-64-ivshmem-linuxapp-gcc now. Thanks in advance. Best regards Byeong-Gi KIM
[dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement
Hi Shimamoto-san, I will help to verify the performance in our environement. Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Hiroshi Shimamoto Sent: Thursday, September 11, 2014 3:45 PM To: dev at dpdk.org Cc: Hayato Momma Subject: [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement From: Hiroshi Shimamoto This patchset improves MEMNIC PMD performance. The first patch introduces a new benchmark test run in guest, and will be used to evaluate the following patch effects. This patchset improves the throughput results of memnic-tester. Using Xeon E5-2697 v2 @ 2.70GHz, 4 vCPU. size | before | after 64 | 4.18Mpps | 5.83Mpps 128 | 3.85Mpps | 5.71Mpps 256 | 4.01Mpps | 5.40Mpps 512 | 3.52Mpps | 4.64Mpps 1024 | 3.18Mpps | 3.68Mpps 1280 | 2.86Mpps | 3.17Mpps 1518 | 2.59Mpps | 2.90Mpps Hiroshi Shimamoto (7): guest: memnic-tester: PMD benchmark in guest pmd: remove needless assignment pmd: use helper macros pmd: use compiler barrier pmd: packet receiving optimization with prefetch pmd: add branch hint in recv/xmit pmd: split calling mbuf free guest/Makefile| 20 guest/README.rst | 94 + guest/memnic-tester.c | 281 ++ pmd/pmd_memnic.c | 43 4 files changed, 417 insertions(+), 21 deletions(-) create mode 100644 guest/Makefile create mode 100644 guest/README.rst create mode 100644 guest/memnic-tester.c -- 1.8.3.1
[dpdk-dev] DPDK doesn't work with iommu=pt
Hi Shimamoto-san, There are a lot of sighting relate to "DMAR:[fault reason 06] PTE Read access is not set" https://www.mail-archive.com/kvm at vger.kernel.org/msg106573.html This might be related to IOMMU, and kernel code. Here is what we know :- 1) Disabling VT-d in bios also removed the symptom 2) Switch to another OS distribution also removed the symptom 3) even different HW we will not see the symptom. In my case, switch from Engineering board to EPSD board. Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Hiroshi Shimamoto Sent: Friday, September 26, 2014 5:14 PM To: dev at dpdk.org Cc: Hayato Momma Subject: [dpdk-dev] DPDK doesn't work with iommu=pt I encountered an issue that DPDK doesn't work with "iommu=pt intel_iommu=on" on HP ProLiant DL380p Gen8 server. I'm using the following environment; HW: ProLiant DL380p Gen8 CPU: E5-2697 v2 OS: RHEL7 kernel: kernel-3.10.0-123 and the latest kernel 3.17-rc6+ DPDK: v1.7.1-53-gce5abac NIC: 82599ES When boot with "iommu=pt intel_iommu=on", I got the below message and no packets are handled. [ 120.809611] dmar: DRHD: handling fault status reg 2 [ 120.809635] dmar: DMAR:[DMA Read] Request device [21:00.0] fault addr aa01 DMAR:[fault reason 02] Present bit in context entry is clear How to reproduce; just run testpmd # ./testpmd -c 0xf -n 4 -- -i Configuring Port 0 (socket 0) PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x754eafc0 hw_ring=0x7420 dma_addr=0xaa00 PMD: ixgbe_dev_tx_queue_setup(): Using full-featured tx code path PMD: ixgbe_dev_tx_queue_setup(): - txq_flags = 0 [IXGBE_SIMPLE_FLAGS=f01] PMD: ixgbe_dev_tx_queue_setup(): - tx_rs_thresh = 32 [RTE_PMD_IXGBE_TX_MAX_BURST=32] PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x754ea740 hw_ring=0x7421 dma_addr=0xaa01 PMD: check_rx_burst_bulk_alloc_preconditions(): Rx Burst Bulk Alloc Preconditions: rxq->rx_free_thresh=0, RTE_PMD_IXGBE_RX_MAX_BURST=32 PMD: ixgbe_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are not satisfied, Scattered Rx is requested, or RTE_LIBRTE_IXGBE_RX_ALLOW_BULK_ALLOC is not enabled (port=0, queue=0). PMD: check_rx_burst_bulk_alloc_preconditions(): Rx Burst Bulk Alloc Preconditions: rxq->rx_free_thresh=0, RTE_PMD_IXGBE_RX_MAX_BURST=32 testpmd> start io packet forwarding - CRC stripping disabled - packets/burst=32 nb forwarding cores=1 - nb forwarding ports=2 RX queues=1 - RX desc=128 - RX free threshold=0 RX threshold registers: pthresh=8 hthresh=8 wthresh=0 TX queues=1 - TX desc=512 - TX free threshold=0 TX threshold registers: pthresh=32 hthresh=0 wthresh=0 TX RS bit threshold=0 - TXQ flags=0x0 and ping from another box to this server. # ping6 -I eth2 ff02::1 I got the below error message and no packet is received. I couldn't see any increase RX/TX count in testpmt statistics testpmd> show port stats 0 NIC statistics for port 0 RX-packets: 6 RX-missed: 0 RX-bytes: 732 RX-badcrc: 0 RX-badlen: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 testpmd> show port stats 0 NIC statistics for port 0 RX-packets: 6 RX-missed: 0 RX-bytes: 732 RX-badcrc: 0 RX-badlen: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 The fault addr in error message must be RX DMA descriptor error message [ 120.809635] dmar: DMAR:[DMA Read] Request device [21:00.0] fault addr aa01 log in testpmd PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x754ea740 hw_ring=0x7421 dma_addr=0xaa01 I think the NIC received a packet in fifo and try to put into memory with DMA. Before starting DMA, the NIC get the target address from RX descriptors in RDBA register. But accessing RX descriptors failed in IOMMU unit and reported it to the kernel. DMAR:[fault reason 02] Present bit in context entry is clear The error message looks there is no valid entry in IOMMU. I think the following issue is very similar, but using Ubuntu14.04 couldn't fix in my case. http://thread.gmane.org/gmane.comp.networking.dpdk.devel/2281 I tried Ubuntu14.04.1 and got the below error. [ 199.710191] dmar: DRHD: handling fault status reg 2 [ 199.710896] dmar: DMAR:[DMA Read] Request device [21:00.0] fault addr 7c24df000 [ 199.710896] DMAR:[fault reason 06] PTE Read access is not set Currently I could see this issue on HP ProLiant DL380p Gen8 only. Is there any idea? Has anyone noticed this issue? Note: we're thinking to use SR-IO
[dpdk-dev] vhost-switch TX corrupted packet with Fedora 21 VM
Hi Sending packets out from virtio to dpdk vhost to phy will cause packets corruption I have tested this using - DPDK 2.0.0 using vhost-cuse, - qemu 1.6.1. - DPDK vhost-switch sample app. Fedara 21 (kernel 3.19), packets corrupted. Debian Wheezy (kernel 3.2), packets are ok. Sometime the packets was not even sent out, and I keep getting this message. VHOST_DATA: (0) WARNING: This device is using an existing MAC address and has not been registered VHOST_DATA: (0) WARNING: This device is using an existing MAC address and has not been registered I think DPDK vhost-switch filter non register MAC address. Occasionally, packets were being forwarded by vhost-switch. Setup is very simple, just configure IP address (1.1.1.1/24) on the VM eth0, and ping an IP address (1.1.1.2) on the same subnet with Arp table entry added. __ +---+ | | guest | | | +---+ | | | | Ping ICMP | | | | +---+ | | | : | | | | | | guest | v | | | +---+ | | | | Kernel Virtio | | | +---+---+---+---+---+ __| : | v__ +---+---+--+--=+---+ | | | vhost net0| | | | +---+ | | | : | | | | | | host | V | | | +--+ | | | | phy port | vhost-switch | | +---+--+---+ __| : | V +--+ | | |traffic generator | | | +--+ ICMP packet has become:- 0010: 10001050b95a8100 00881050b95a00882050b95a 0020: 00882050b95a00883050b95a 00883050b95a00884050b95a 0030: 00884050b95a00885050b95a 00885050b95a00886050b95a 0040: 00886050b95a Regards, Choi, Sy Jong Platform Application Engineer
[dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment?
Hi Scott, Please refer to our KNI library at:- dpdk-1.8.0\lib\librte_eal\linuxapp\kni\ethtool\igb\igb.h Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (???) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, July 01, 2015 2:44 PM To: Choi, Sy Jong; dev at dpdk.org Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, Have any idea? "Scott.Jhuang (???) : 6309" ? 2015?06?23? 21:24 ??: Dear Sy Jong, Yes, I have check out DPDK KNI, but I still can't find how to prepare net_device structure... And I also doesn't find how to get "ethtool_cmd.phy_address" Could you let me know the path of source code folder Choi, Sy Jong ? 2015?06?19? 10:35 ??: Hi Scott, DPDK PMD are interfacing using rte_ethdev.c which link to ixgbe_ethdev.c there?s no ?net_device? in our code. But if you search DPDk code based, we have KNI example to teach you how to prepare the net_device structure. Have you check out our DPDK KNI codes? Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (? ? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Thursday, June 18, 2015 12:25 PM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org> Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Dear Sy Jong, I'm planning to program a driver to get all the ethport's net_device structure, because I need some information from these net_device structures. And I also need to use net_device struct's ethtool_cmd to get some information e.g. ethtool_cmd.phy_address, net_device->ethtool_ops->get_settings. In fact, I need some information from net_device struct to access and control PHY's link-up/down, and I reference igb driver to design the link-up/down functions, since in DPDK envirenment doesn't have igb driver, so In DPDK envirenment, I don't know how to get network deivce's net_device structs and more information which initial by igb driver(because doesn't have igb driver). Choi, Sy Jong ? 2015?06?17? 11:15 ??: Hi Scott, You are right, the KNI will be a good reference for you. It demonstrate how DPDK PMD interface with kernel. May I know are you planning to build the interface to ethtool? You can try running KNI app. Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (?? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, June 17, 2015 11:12 AM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org> Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, But...I am programming a driver now, have any sample driver I can reference? Choi, Sy Jong ? 2015?06?16? 14:48 ??: Hi Scott, You can review DPDK KNI sample app, there's ethtool support using a vEth device interfacing to DPDK PMD. Pure DPDK PMD require programming to display the information in ethtool. The interfacing is demonstrate on KNI sample app. Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of "Scott.Jhuang (???) : 6309" Sent: Monday, June 15, 2015 6:35 PM To: dev at dpdk.org<mailto:dev at dpdk.org> Subject: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi, I want to get etherport's net_device structs and using ethtool_cmd to get some information of etherports. Are these capabilitys igb_uio driver also provided? If not, how can I get net_devices and use ethtool_cmd capabilitys? -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?242?8? 8F, No.242, Bo-Ai St., Shu-Lin Dist, New Taipei City 238, Taiwan Tel?+886-2-7705- # 6309 Fax?+886-2-7731-9988 E-mail?scott.jhuang at cas-well.com<mailto:scott.jhuang at cas-well.com><mailto:scott.jhuang at cas-well.com><mailto:scott.jhuang at cas-well.com> CASWELL Inc. http://www.cas-well.com ? This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?242?8? 8F, No.242, Bo-Ai St., Shu-Lin Dist, New Taipei City 238, Taiwan Tel?+886-2-7705- # 6309 Fax?+886-2-7731-9988 E-mail?scott.jhuang at cas-well.com<mailto:scott.jhuang at cas-well.com> CASWELL Inc. http://www.cas-well.com ??? ?? This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?
[dpdk-dev] Huge Pages.
Hi Alex, There option in EAL when you starts DPDK where by configure the amount of memory consume by DPDK. ? -m MB Memory to allocate. See also --socket-mem. ? --socket-mem Set the memory to allocate on specific sockets (use comma separated values). Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Alex Markuze Sent: Wednesday, October 01, 2014 5:21 PM To: dev at dpdk.org Subject: [dpdk-dev] Huge Pages. Hi, How well does DPDK play with other applications using huge pages? Looking at eal_init/eal_hugepage_info_init it seems that DPDK will try to grab All available huge pages. Is there an existing way to limit the number of huge pages taken ? My goal is to be able to run several applications each with its own dpdk instance and a possible 3rd party application all using huge pages. Is this possible under DPDKs current design? Sharing the NICs is fairly simple if we specify the available lci functions per dpdk instance but at first glance sharing huge pages looks like a problem. Thanks.
[dpdk-dev] When I run test-pmd, most of received packets(loop-backed packet) have RX-error.
Hi Ick-Sung, You will need to use igb_uio for DPDK. That is the Poll mode driver. ixgbe is for the kernel, and do not support DPDK. Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of ??? Sent: Wednesday, October 21, 2015 10:04 AM To: Kyle Larose Cc: dev at dpdk.org Subject: Re: [dpdk-dev] When I run test-pmd, most of received packets(loop-backed packet) have RX-error. Dear Kyle Larose. Thank you very much for your precious advice and answer. I will try your suggestions. I have a question. Can I use igb_uio driver in DPDK? When I stalled the network device driver in DPDK. I used the following commands and I see that the 10GbE devices have igb_uio device driver. sudo /sbin/modprobe uio sudo /sbin/insmod $RTE_SDK/$RTE_TARGET/kmod/igb_uio.ko Network devices using DPDK-compatible driver :02:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio unused= :02:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio unused= Network devices using kernel driver === :00:19.0 'Ethernet Connection I217-V' if=eth0 drv=e1000e unused=igb_uio *Active* :04:00.0 '82572EI Gigabit Ethernet Controller (Copper)' if=eth3 drv=e1000e unused=igb_uio The network device driver seems to be igb_uio. If I bind the network device to ixgbe using the following commands, the network device seems to be connected to kernel, not the DPDK. sudo ${RTE_SDK}/tools/dpdk_nic_bind.py -b ixgbe :02:00.0 && echo "OK" sudo ${RTE_SDK}/tools/dpdk_nic_bind.py -b ixgbe :02:00.1 && echo "OK" Can I use ixgbe driver for DPDK? If I can, would you tell me how can I specify it? Thank you very much for your precious advices. Sincerely Yours, Ick-Sung Choi. -Original Message- From: "Kyle Larose"<eomerea...@gmail.com> To: "???"<pnk003 at naver.com>; Cc: <dev at dpdk.org>; Sent: 2015-10-20 (?) 22:50:43 Subject: Re: [dpdk-dev] When I run test-pmd, most of received packets(loop-backed packet) have RX-error. On Tue, Oct 20, 2015 at 2:12 AM, ??? <pnk003 at naver.com> wrote: > Dear DPDK experts. > > Thank you very much for your best great efforts and precious answers. > > > When I run test-pmd, most of received packets are RX-error. > > The computer has two 10GbE ports Intel NIC and the two ports are loop-backed each other. > > The result shows that the loop-backed packets have rx-error occured from ethernet device port. > > The rx-error ( ierrors) seems to be counted by rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats) function in ~/dpdk/lib/librte_ether/rte_ethdev.c > > Then this rte_eth_stats_get() function calls (*dev->dev_ops->stats_get)(dev, stats); > > However, I can't find and trace the function (*dev->dev_ops->stats_get)(). > > Would you tell me how can I find the function? > > Would you tell me why this receive errors occurs for what reasons? > > > I tested it in two xeon computers with different OS. > >Fedora 22 (linux kernel version 4.2.3-200.fc22.x86_64, DPDK 2.1.0). >Ubuntu 14.04.1 LTS(linux kernel version : 3.13.0-34-generic, DPDK 2.1.0). > > Both experiments show the same result with rx-errors. > > I will really appreciate if I can be given any advice and answers. > > Thank you very much. > > Sincerely Yours, > > Ick-Sung Choi. > Hello, I don't know the reason for your errors, but I can probably help with the function. I usually do this in two ways. One way is to identify the driver, and then look for instances of "struct eth_dev_ops" in it. For example, if you have an ixgbe/82599/etc, the driver is the ixgbe. Searching in the directory for it, you find this: http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_ethdev.c#n389 Another alternative is to attach to your running process with gdb, and print the dev struct. gdb will typically map the pointers contained therein to their symbolic names.
[dpdk-dev] Questions about rte_eth_dev multiple rx queue selection (~/dpdk/lib/librte_ether).
Hi Mr. Choi, Please refer to testpmd, we demonstrate filtering to a selected queue. There are plenty of functions that allow you to select a queue:- Exp:- Add or delete a L2 Ethertype filter, which identify packets by their L2 Ethertype mainly assign them to a receive queue. ethertype_filter (port_id) (add|del) (mac_addr|mac_ignr) (mac_address) ethertype (ether_type) (drop|fwd) queue (queue_id) The available information parameters are: ? port_id: the port which the Ethertype filter assigned on. ? mac_addr: compare destination mac address. ? mac_ignr: ignore destination mac address match. ? mac_address: destination mac address to match. ? ether_type: the EtherType value want to match, for example 0x0806 for ARP packet. 0x0800 (IPv4) and 0x86DD (IPv6) are invalid. ? queue_id : The receive queue associated with this EtherType filter. It is meaningless when deleting or dropping. There are 2tuple,5tuple,syn, flex filters and flow director Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of ??? Sent: Wednesday, November 18, 2015 2:28 PM To: dev at dpdk.org Subject: [dpdk-dev] Questions about rte_eth_dev multiple rx queue selection (~/dpdk/lib/librte_ether). Dear DPDK experts. I really appreciate for your precious answers and advices and thank you for your great contributions. I have questions about rte_eth_dev multiple rx queue usage (~/dpdk/lib/librte_ether). Please let me know, if I am wrong or I have something missed. The applications use rte_eth_dev_configure( port, n_rx_queues, n_tx_queues, &port_conf) to setup multiple rx queues for a port. How can we select rx queues for the packets from a port? Is there any rx queue selection function? Is it determined by NIC and is the rx queue information delivered to DPDK? I will appreciate to you if I can be given any answer, advice, and comments. Thank you very much. Sincerely Yours, Ick-Sung Choi. -- next part -- A non-text attachment was scrubbed... Name: testpmd_app_ug-2.1.pdf Type: application/pdf Size: 123661 bytes Desc: testpmd_app_ug-2.1.pdf URL: <http://dpdk.org/ml/archives/dev/attachments/20151118/5be503e4/attachment-0001.pdf>
[dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment?
Hi Scott, You will need to start KNI sample app, it will create the vEth interface. After kni app, it will be there, kni app is the datapath, it get the packet into the kernel. http://dpdk.org/doc/guides/prog_guide/kernel_nic_interface.html 1. Insert the KNI kernel module: 2. insmod ./rte_kni.ko If using KNI in multi-thread mode, use the following command line: insmod ./rte_kni.ko kthread_mode=multiple 1. Running the KNI sample application: 4. ./kni -c -0xf0 -n 4 -- -p 0x3 -P -config="(0,4,6),(1,5,7)" This command runs the kni sample application with two physical ports. Each port pins two forwarding cores (ingress/egress) in user space. Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (???) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, July 15, 2015 5:54 PM To: Choi, Sy Jong; dev at dpdk.org; "Sandy.Liu (???) : 6817"; "Alan Yu (???) : 6632" Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, If I load "rte_kni.ko" driver, the net_device structs will be initialled by KNI, right? If yes, how can I handle these net_device structs in other driver, because I using "for_each_netdev()" kernel API can't find the net_device structs which KNI initialled. Or these structs have not been exported to kernel? Choi, Sy Jong ? 2015?07?01? 15:55 ??: Hi Scott, Please refer to our KNI library at:- dpdk-1.8.0\lib\librte_eal\linuxapp\kni\ethtool\igb\igb.h Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (?? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, July 01, 2015 2:44 PM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org> Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, Have any idea? "Scott.Jhuang (? ??) : 6309" ? 2015?06?23? 21:24 ??: Dear Sy Jong, Yes, I have check out DPDK KNI, but I still can't find how to prepare net_device structure... And I also doesn't find how to get "ethtool_cmd.phy_address" Could you let me know the path of source code folder Choi, Sy Jong ? 2015?06?19? 10:35 ??: Hi Scott, DPDK PMD are interfacing using rte_ethdev.c which link to ixgbe_ethdev.c there?s no ?net_device? in our code. But if you search DPDk code based, we have KNI example to teach you how to prepare the net_device structure. Have you check out our DPDK KNI codes? Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (? ? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Thursday, June 18, 2015 12:25 PM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org> Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Dear Sy Jong, I'm planning to program a driver to get all the ethport's net_device structure, because I need some information from these net_device structures. And I also need to use net_device struct's ethtool_cmd to get some information e.g. ethtool_cmd.phy_address, net_device->ethtool_ops->get_settings. In fact, I need some information from net_device struct to access and control PHY's link-up/down, and I reference igb driver to design the link-up/down functions, since in DPDK envirenment doesn't have igb driver, so In DPDK envirenment, I don't know how to get network deivce's net_device structs and more information which initial by igb driver(because doesn't have igb driver). Choi, Sy Jong ? 2015?06?17? 11:15 ??: Hi Scott, You are right, the KNI will be a good reference for you. It demonstrate how DPDK PMD interface with kernel. May I know are you planning to build the interface to ethtool? You can try running KNI app. Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (?? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, June 17, 2015 11:12 AM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org> Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, But...I am programming a driver now, have any sample driver I can reference? Choi, Sy Jong ? 2015?06?16? 14:48 ??: Hi Scott, You can review DPDK KNI sample app, there's ethtool support using a vEth device interfacing to DPDK PMD. Pure DPDK PMD require programming to display the information in ethtool. The interfacing is demonstrate on KNI sample app. Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of "Scott.Jhuang (???) : 6309" Sent: Monday, June 15, 2015 6:35 PM To: dev at dpdk.org<mailto:dev at dpdk.org> Subject: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi, I want to get etherport's net_device structs and us
[dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment?
HI Scott, KNI app effectively will become your datapath, it is a sample app, you can modify it. It receive packets from PMD and pass all packets to the kernel path from userspace. You can run l2fwd, or other app, you will need to run it on other PMD ports. Not on the same ports on KNI. Or you will need to modify KNI app, to distribute packets to kernel path or your new datapath. Basically it will be like coding to combine kni app and l2fwd app. Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (???) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Friday, July 17, 2015 3:53 PM To: Choi, Sy Jong; dev at dpdk.org; "Sandy.Liu (???) : 6817"; "Alan Yu (???) : 6632" Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, If I using KNI in DPDK, can I use another applications at the same time? (e.g. L2 forward, L3 forward) Choi, Sy Jong ? 2015?07?15? 18:01 ??: Hi Scott, You will need to start KNI sample app, it will create the vEth interface. After kni app, it will be there, kni app is the datapath, it get the packet into the kernel. http://dpdk.org/doc/guides/prog_guide/kernel_nic_interface.html 1. Insert the KNI kernel module: 1. insmod ./rte_kni.ko If using KNI in multi-thread mode, use the following command line: insmod ./rte_kni.ko kthread_mode=multiple 1. Running the KNI sample application: 1. ./kni -c -0xf0 -n 4 -- -p 0x3 -P -config="(0,4,6),(1,5,7)" This command runs the kni sample application with two physical ports. Each port pins two forwarding cores (ingress/egress) in user space. Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (?? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, July 15, 2015 5:54 PM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org>; "Sandy.Liu (?? ?) : 6817"; "Alan Yu (?? ?) : 6632" Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, If I load "rte_kni.ko" driver, the net_device structs will be initialled by KNI, right? If yes, how can I handle these net_device structs in other driver, because I using "for_each_netdev()" kernel API can't find the net_device structs which KNI initialled. Or these structs have not been exported to kernel? Choi, Sy Jong ? 2015?07?01? 15:55 ??: Hi Scott, Please refer to our KNI library at:- dpdk-1.8.0\lib\librte_eal\linuxapp\kni\ethtool\igb\igb.h Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (?? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, July 01, 2015 2:44 PM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org> Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, Have any idea? "Scott.Jhuang (? ??) : 6309" ? 2015?06?23? 21:24 ??: Dear Sy Jong, Yes, I have check out DPDK KNI, but I still can't find how to prepare net_device structure... And I also doesn't find how to get "ethtool_cmd.phy_address" Could you let me know the path of source code folder Choi, Sy Jong ? 2015?06?19? 10:35 ??: Hi Scott, DPDK PMD are interfacing using rte_ethdev.c which link to ixgbe_ethdev.c there?s no ?net_device? in our code. But if you search DPDk code based, we have KNI example to teach you how to prepare the net_device structure. Have you check out our DPDK KNI codes? Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (? ? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Thursday, June 18, 2015 12:25 PM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org> Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Dear Sy Jong, I'm planning to program a driver to get all the ethport's net_device structure, because I need some information from these net_device structures. And I also need to use net_device struct's ethtool_cmd to get some information e.g. ethtool_cmd.phy_address, net_device->ethtool_ops->get_settings. In fact, I need some information from net_device struct to access and control PHY's link-up/down, and I reference igb driver to design the link-up/down functions, since in DPDK envirenment doesn't have igb driver, so In DPDK envirenment, I don't know how to get network deivce's net_device structs and more information which initial by igb driver(because doesn't have igb driver). Choi, Sy Jong ? 2015?06?17? 11:15 ??: Hi Scott, You are right, the KNI will be a good reference for you. It demonstrate how DPDK PMD interface with kernel. May I know are you planning to build the interface to ethtool? You can try running KNI app. Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (?? ?) : 6309" [mailto:scott.jhu...@
[dpdk-dev] Wireless NICs are supported?
Hi Mr.Kim, We don't have wireless nic supported, since DPDK is design for high speed dataplane, at this moment there are not wireless NIC support. May I know what is the performance are you looking at to achieve? Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Woojoong Kim Sent: Saturday, July 18, 2015 11:29 AM To: dev at dpdk.org Subject: [dpdk-dev] Wireless NICs are supported? Dear All. Few months ago, I found DPDK in order to expand my research and implementation ability. However, all of DPDK documents did not mentioned about applications based on wireless NICs. Does DPDK supports for wireless NICs? If it doesn't, does have any try for wirelss NICs? Best Regards, Woojoong Kim. -- Ph.D Student Woojoong Kim Pohang University of Science and Technology(POSTECH) Department of Computer Science and Engineering Mobile Network(MoNet) Laboratory POSTECH Information Research Laboratories(PIRL) #322. Phone : 010-4736-1947(+8210-4736-1947)
[dpdk-dev] DPDK ixgbevf multi-queue disabled
Hi Saurabh, May I know the model number of your physical nic? Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Saurabh Mishra Sent: Thursday, February 04, 2016 3:47 AM To: dev at dpdk.org; users at dpdk.org Subject: [dpdk-dev] DPDK ixgbevf multi-queue disabled Is there any way to enable multi-queue for SR-IOV of ixgbe? I've seen that PF driver automatically disables multi-queue when VFs are created from host. We want to use multiple queues with DPDK in case of ixgbevf too. [781203.692378] ixgbe :06:00.0: Multiqueue Disabled: Rx Queue count = 1, Tx Queue count = 1 [781203.699858] ixgbe :06:00.0: registered PHC device on p5p1 [781203.861774] ixgbe :06:00.0 p5p1: detected SFP+: 5 [781204.104038] ixgbe :06:00.0 p5p1: NIC Link is Up 10 Gbps, Flow Control: RX/TX [781206.035467] ixgbe :06:00.1 p5p2: SR-IOV enabled with 2 VFs [781206.136011] pci :06:10.1: [8086:10ed] type 00 class 0x02 [781206.136375] pci :06:10.3: [8086:10ed] type 00 class 0x02 [781206.136776] ixgbe :06:00.1: removed PHC on p5p2 [781206.227015] ixgbe :06:00.1: irq 116 for MSI/MSI-X [781206.227046] ixgbe :06:00.1: irq 117 for MSI/MSI-X [781206.227062] ixgbe :06:00.1: Multiqueue Disabled: Rx Queue count = 1, Tx Queue count = 1 [781206.235804] ixgbe :06:00.1: registered PHC device on p5p2 [781206.407537] ixgbe :06:00.1 p5p2: detected SFP+: 6 [781206.649795] ixgbe :06:00.1 p5p2: NIC Link is Up 10 Gbps, Flow Control: RX/TX Thanks, /Saurabh
[dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment?
Hi Scott, You can review DPDK KNI sample app, there's ethtool support using a vEth device interfacing to DPDK PMD. Pure DPDK PMD require programming to display the information in ethtool. The interfacing is demonstrate on KNI sample app. Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of "Scott.Jhuang (???) : 6309" Sent: Monday, June 15, 2015 6:35 PM To: dev at dpdk.org Subject: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi, I want to get etherport's net_device structs and using ethtool_cmd to get some information of etherports. Are these capabilitys igb_uio driver also provided? If not, how can I get net_devices and use ethtool_cmd capabilitys? -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?242?8? 8F, No.242, Bo-Ai St., Shu-Lin Dist, New Taipei City 238, Taiwan Tel?+886-2-7705- # 6309 Fax?+886-2-7731-9988 E-mail?scott.jhuang at cas-well.com<mailto:scott.jhuang at cas-well.com> CASWELL Inc. http://www.cas-well.com ? This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient.
[dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment?
Hi Scott, You are right, the KNI will be a good reference for you. It demonstrate how DPDK PMD interface with kernel. May I know are you planning to build the interface to ethtool? You can try running KNI app. Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (???) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, June 17, 2015 11:12 AM To: Choi, Sy Jong; dev at dpdk.org Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, But...I am programming a driver now, have any sample driver I can reference? Choi, Sy Jong ? 2015?06?16? 14:48 ??: Hi Scott, You can review DPDK KNI sample app, there's ethtool support using a vEth device interfacing to DPDK PMD. Pure DPDK PMD require programming to display the information in ethtool. The interfacing is demonstrate on KNI sample app. Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of "Scott.Jhuang (???) : 6309" Sent: Monday, June 15, 2015 6:35 PM To: dev at dpdk.org<mailto:dev at dpdk.org> Subject: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi, I want to get etherport's net_device structs and using ethtool_cmd to get some information of etherports. Are these capabilitys igb_uio driver also provided? If not, how can I get net_devices and use ethtool_cmd capabilitys? -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?242?8? 8F, No.242, Bo-Ai St., Shu-Lin Dist, New Taipei City 238, Taiwan Tel?+886-2-7705- # 6309 Fax?+886-2-7731-9988 E-mail?scott.jhuang at cas-well.com<mailto:scott.jhuang at cas-well.com><mailto:scott.jhuang at cas-well.com><mailto:scott.jhuang at cas-well.com> CASWELL Inc. http://www.cas-well.com ? This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?242?8? 8F, No.242, Bo-Ai St., Shu-Lin Dist, New Taipei City 238, Taiwan Tel?+886-2-7705- # 6309 Fax?+886-2-7731-9988 E-mail?scott.jhuang at cas-well.com<mailto:scott.jhuang at cas-well.com> CASWELL Inc. http://www.cas-well.com ? This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient.
[dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment?
Hi Scott, DPDK PMD are interfacing using rte_ethdev.c which link to ixgbe_ethdev.c there?s no ?net_device? in our code. But if you search DPDk code based, we have KNI example to teach you how to prepare the net_device structure. Have you check out our DPDK KNI codes? Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (???) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Thursday, June 18, 2015 12:25 PM To: Choi, Sy Jong; dev at dpdk.org Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Dear Sy Jong, I'm planning to program a driver to get all the ethport's net_device structure, because I need some information from these net_device structures. And I also need to use net_device struct's ethtool_cmd to get some information e.g. ethtool_cmd.phy_address, net_device->ethtool_ops->get_settings. In fact, I need some information from net_device struct to access and control PHY's link-up/down, and I reference igb driver to design the link-up/down functions, since in DPDK envirenment doesn't have igb driver, so In DPDK envirenment, I don't know how to get network deivce's net_device structs and more information which initial by igb driver(because doesn't have igb driver). Choi, Sy Jong ? 2015?06?17? 11:15 ??: Hi Scott, You are right, the KNI will be a good reference for you. It demonstrate how DPDK PMD interface with kernel. May I know are you planning to build the interface to ethtool? You can try running KNI app. Regards, Choi, Sy Jong Platform Application Engineer From: "Scott.Jhuang (?? ?) : 6309" [mailto:scott.jhu...@cas-well.com] Sent: Wednesday, June 17, 2015 11:12 AM To: Choi, Sy Jong; dev at dpdk.org<mailto:dev at dpdk.org> Subject: Re: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi Sy Jong, But...I am programming a driver now, have any sample driver I can reference? Choi, Sy Jong ? 2015?06?16? 14:48 ??: Hi Scott, You can review DPDK KNI sample app, there's ethtool support using a vEth device interfacing to DPDK PMD. Pure DPDK PMD require programming to display the information in ethtool. The interfacing is demonstrate on KNI sample app. Regards, Choi, Sy Jong Platform Application Engineer -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of "Scott.Jhuang (???) : 6309" Sent: Monday, June 15, 2015 6:35 PM To: dev at dpdk.org<mailto:dev at dpdk.org> Subject: [dpdk-dev] How to get net_device and use struct ethtool_cmd at DPDK enverinment? Hi, I want to get etherport's net_device structs and using ethtool_cmd to get some information of etherports. Are these capabilitys igb_uio driver also provided? If not, how can I get net_devices and use ethtool_cmd capabilitys? -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?242?8? 8F, No.242, Bo-Ai St., Shu-Lin Dist, New Taipei City 238, Taiwan Tel?+886-2-7705- # 6309 Fax?+886-2-7731-9988 E-mail?scott.jhuang at cas-well.com<mailto:scott.jhuang at cas-well.com><mailto:scott.jhuang at cas-well.com><mailto:scott.jhuang at cas-well.com> CASWELL Inc. http://www.cas-well.com ? This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?242?8? 8F, No.242, Bo-Ai St., Shu-Lin Dist, New Taipei City 238, Taiwan Tel?+886-2-7705- # 6309 Fax?+886-2-7731-9988 E-mail?scott.jhuang at cas-well.com<mailto:scott.jhuang at cas-well.com> CASWELL Inc. http://www.cas-well.com ? This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- Best Regards, Scott Jhuang Software Engineering Dept. Software Engineer CASwell 238 ?242?8? 8F, No.242, Bo-Ai St., Shu-Lin Dist, New Taipei City 238, Taiwan Tel?+886-2-7705- # 6309 Fax?+886-2-7731-9988 E-mail?scott.jhuang at cas-well.com<mailto:scott.jhuang at cas-well.com> CASWELL Inc. http://www.cas-well.com ? This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient.