Dear all, I am so sorry to send this question in dev mailing list. I sent this to users' mailing list, but no one response and that list is not so active. So, may I ask this question in this list? If it is not ok, I say sorry in advance.
----------------------------------------------------------------------------------------------------------------- I want to install an OVS/memnic software in a KVM virtual machine. For the higher speed, I install memnic/pmd (SR-IOV) instead of virtio, since I believe SR-IOV is faster than virtio. But, I meet some trouble when I build the memnic following the doc ( http://dpdk.org/doc/memnic-pmd) I download the most updated software DPDK 2.2.0 and memnic 1.3. My system is : 1. 2 VCPU 2G Mem 2. Ubuntu 14.04 64bit 3. Updated packages I build DPDK successfully, but when I build memnic in VM according to the doc. A lot of error message displays: -------------------------------------------------------------------------------------------------------------------- #... (So many lines of errors) ... ... ... In file included from /home/niuroy/dpdk-2.2.0/build/include/rte_ether.h:50:0, from /home/niuroy/dpdk-2.2.0/build/include/rte_ethdev.h:185, from pmd_memnic.c:32: /home/niuroy/dpdk-2.2.0/build/include/rte_memcpy.h:625:2: error: incompatible type for argument 2 of ?_mm_storeu_si128? MOVEUNALIGNED_LEFT47(dst, src, n, srcofs); ^ In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/xmmintrin.h:1246:0, from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/x86intrin.h:34, from /home/niuroy/dpdk-2.2.0/build/include/rte_vect.h:67, from /home/niuroy/dpdk-2.2.0/build/include/rte_memcpy.h:46, from /home/niuroy/dpdk-2.2.0/build/include/rte_ether.h:50, from /home/niuroy/dpdk-2.2.0/build/include/rte_ethdev.h:185, from pmd_memnic.c:32: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:700:1: note: expected ?__m128i? but argument is of type ?int? _mm_storeu_si128 (__m128i *__P, __m128i __B) ^ pmd_memnic.c: In function ?memnic_queue_alloc?: pmd_memnic.c:81:35: error: ?CACHE_LINE_SIZE? undeclared (first use in this function) q = rte_zmalloc(buf, sizeof(*q), CACHE_LINE_SIZE); ^ pmd_memnic.c:81:35: note: each undeclared identifier is reported only once for each function it appears in pmd_memnic.c: In function ?memnic_dev_stats_get?: pmd_memnic.c:182:3: error: ?fdirmatch? is deprecated (declared at /home/niuroy/dpdk-2.2.0/build/include/rte_ethdev.h:212) [-Werror=deprecated-declarations] stats->fdirmatch += st->fdirmatch; ^ pmd_memnic.c:182:3: error: ?fdirmatch? is deprecated (declared at /home/niuroy/dpdk-2.2.0/build/include/rte_ethdev.h:212) [-Werror=deprecated-declarations] pmd_memnic.c:183:3: error: ?fdirmiss? is deprecated (declared at /home/niuroy/dpdk-2.2.0/build/include/rte_ethdev.h:214) [-Werror=deprecated-declarations] stats->fdirmiss += st->fdirmiss; ^ pmd_memnic.c:183:3: error: ?fdirmiss? is deprecated (declared at /home/niuroy/dpdk-2.2.0/build/include/rte_ethdev.h:214) [-Werror=deprecated-declarations] pmd_memnic.c: In function ?memnic_recv_pkts?: pmd_memnic.c:315:5: error: ?struct rte_mbuf? has no member named ?pkt? mb->pkt.in_port = q->port_id; ^ pmd_memnic.c: In function ?memnic_xmit_pkts?: pmd_memnic.c:398:37: error: ?struct rte_mbuf? has no member named ?pkt? for (sg = tx_pkts[nr]; sg; sg = sg->pkt.next) { ^ pmd_memnic.c: At top level: pmd_memnic.c:496:2: error: initialization from incompatible pointer type [-Werror] .eth_dev_init = eth_memnic_dev_init, ^ pmd_memnic.c:496:2: error: (near initialization for ?rte_memnic_pmd.eth_dev_init?) [-Werror] cc1: all warnings being treated as errors make: *** [librte_pmd_memnic_copy.so] Error 1 ------------------------------------------------------------------------------------------------------------------ Then, I tried DPDK 2.0 and 1.8. with both of these version, I still meet a lot of errors just like 2.2 So, I want to ask 1. How to solve the problems? 2. Can I install OVS with SR-IOV feature by other ways? Thanks! -- Regards, Royce Niu