[dpdk-dev] MENNIC1.2 host-sim crashed for me

Hiroshi Shimamoto h-shimamoto at ct.jp.nec.com
Tue Jul 15 14:53:29 CEST 2014


Hi Srinivas,

> Subject: FW: MENNIC1.2 host-sim crashed for me
> 
> 
> Hi Hiroshi,
> Thanks for ur reply .. I have moved forward little bit.
> 
> MEMNIC-1.2
> 
> 1. I started qemu and then started host-sim application
> 
> Qemu command :
> qemu-system-x86_64 -enable-kvm -cpu host   -boot c -hda /home/vm-images/vm1-clone.img -m 8192M -smp 3 --enable-kvm -name
> vm1 -vnc :1 -pidfile /tmp/vm1.pid -drive file=fat:rw:/tmp/share  -device ivshmem,size=16,shm=ivshm
> vvfat fat:rw:/tmp/share chs 1024,16,63
> 
> 2.Host-sim app command :
> 3.[root at localhost host-sim]# ./memnic-host-sim   /dev/shm/ivshm
> 4.On the guest compiled  memnic-1.2 .
> 5.Inserted memnic.ko
> 6.Found and interface ens4  after insmod memnic.ko
> 
> [root at localhost memnic-1.2]# ifconfig -a
> ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
>         inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20<link>
>         ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
>         RX packets 0  bytes 0 (0.0 B)
>         RX errors 0  dropped 0  overruns 0  frame 0
>         TX packets 8  bytes 648 (648.0 B)
>         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> ens4: flags=4098<BROADCAST,MULTICAST>  mtu 1500
>         ether 00:09:c0:00:13:37  txqueuelen 1000  (Ethernet)
>         RX packets 0  bytes 0 (0.0 B)
>         RX errors 0  dropped 0  overruns 0  frame 0
>         TX packets 0  bytes 0 (0.0 B)
>         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
>         inet 127.0.0.1  netmask 255.0.0.0
>         inet6 ::1  prefixlen 128  scopeid 0x10<host>
>         loop  txqueuelen 0  (Local Loopback)
>         RX packets 386  bytes 33548 (32.7 KiB)
>         RX errors 0  dropped 0  overruns 0  frame 0
>         TX packets 386  bytes 33548 (32.7 KiB)
>         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> 7.lspci on the guest
> 
> [root at localhost memnic-1.2]# lspci
> 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
> 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
> 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
> 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
> 00:02.0 VGA compatible controller: Cirrus Logic GD 5446
> 00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
> 00:04.0 RAM memory: Red Hat, Inc Device 1110 [root at localhost memnic-1.2]#
> 
> 8.on the Guest  ran test pmd application

you cannot use both kernel driver and PMD concurrently.
Before run testpmd, you should unload memnic.ko by rmmod command.

> 
> [root at localhost test-pmd]# ./testpmd -c7 -n3  -- --d /usr/local/lib/librte_pmd_memnic_copy.so  -i --nb-cores=1
> --nb-ports=1 --port-topology=chained

I don't know about testpmd so much, but I guess the correct EAL parameters are like this.

# ./testpmd -c 0x7 -n 3 -d /usr/local/lib/librte_pmd_memnic_copy.so -- ...

Please pass extra library in EAL parameter.

> EAL: Detected lcore 0 as core 0 on socket 0
> EAL: Detected lcore 1 as core 0 on socket 0
> EAL: Detected lcore 2 as core 0 on socket 0
> EAL: Setting up memory...
> EAL: Ask a virtual area of 0x40000000 bytes
> EAL: Virtual area found at 0x7f5514000000 (size = 0x40000000)
> EAL: Requesting 512 pages of size 2MB from socket 0
> EAL: TSC frequency is ~3092833 KHz
> EAL: Master core 0 is ready (tid=54398880)
> EAL: Core 1 is ready (tid=135f8700)
> EAL: Core 2 is ready (tid=12df7700)
> EAL: PCI device 0000:00:03.0 on NUMA socket -1
> EAL:   probe driver: 8086:100e rte_em_pmd
> EAL:   0000:00:03.0 not managed by UIO driver, skipping
> EAL: Error - exiting with code: 1
>   Cause: No probed ethernet devices - check that CONFIG_RTE_LIBRTE_IGB_PMD=y and that CONFIG_RTE_LIBRTE_EM_PMD=y and that
> CONFIG_RTE_LIBRTE_IXGBE_PMD=y in your configuration file
> [root at localhost test-pmd]#
> 
> How can I bind 00:04.0 Ram controller to dpdk application (test-pmd ) .
> How DPDK test-pmd application finds the memnic device.
> 
> 9.Am I missing any steps in the guest configurations or host configuration .
> 10.Is there any better manual for testing MEMNIC-1.2 or better understanding .
> 11.Is there any better application  to test MEMNIC   for VM-VM  or VM to host data transfer .

I think the current host-sim doesn't have any packet switching capability, we need to implement such
a functionality to test MEMNIC.

Actually, I started MEMNIC develop in DPDK vSwitch project.
You can see that in https://github.com/01org/dpdk-ovs/tree/development

thanks,
Hiroshi

> 
> Thanks &  regards,
> Srinivas.
> 
> 
> 
> -----Original Message-----
> From: Hiroshi Shimamoto [mailto:h-shimamoto at ct.jp.nec.com]
> Sent: Tuesday, July 15, 2014 5:31 AM
> To: Srinivas Reddi; dev at dpdk.org
> Subject: RE: MENNIC1.2 host-sim crashed for me
> 
> Hi,
> 
> > Subject: [dpdk-dev] MENNIC1.2 host-sim crashed for me
> >
> > Hi,
> > I want to run MEMNIC 1.2 application .
> >
> > 1.       I compiled DPDK1.6
> >
> > 2.       I compiled memnic.12
> >
> > 3.       And while running memnic-hostsim app    got strucked
> >
> > 4.
> >
> > 5.       [root at localhost host-sim]# ./memnic-host-sim /dev/shm/ivshm
> >
> > Bus error (core dumped)
> >
> >
> >
> > Core was generated by `./memnic-host-sim  /dev/shm/ivshm'.
> >
> > Program terminated with signal SIGBUS, Bus error.
> >
> > #0  0x0000003a82e894e4 in memset () from /lib64/libc.so.6
> >
> > Missing separate debuginfos, use: debuginfo-install
> > glibc-2.18-11.fc20.x86_64
> >
> > (gdb) bt
> >
> > #0  0x0000003a82e894e4 in memset () from /lib64/libc.so.6
> >
> > #1  0x00000000004008a3 in init_memnic (nic=0x7ffff6fe2000) at
> > host-sim.c:55
> >
> > #2  0x0000000000400a8a in main (argc=2, argv=0x7fffffffe4a8) at
> > host-sim.c:106
> >
> > (gdb)
> >
> >
> >
> >
> >
> > Got error at line 55 .. saying nic is read only..
> 
> 
> I have never tried host-sim yet though.
> I guess it's the cause that host-sim doesn't increase the shared memory size.
> Could you try booting qemu first with -device ivshmem,size=16,shm=/ivshm then run host-sim?
> 
> thanks,
> Hiroshi
> 
> >
> >
> >
> > 53 static void init_memnic(struct memnic_area *nic)
> >
> > 54 {
> >
> > 55     memset(nic, 0, sizeof(*nic));
> >
> > 56     nic->hdr.magic = MEMNIC_MAGIC;
> >
> > 57     nic->hdr.version = MEMNIC_VERSION;
> >
> > 58     /* 00:09:c0:00:13:37 */
> >
> > 59     nic->hdr.mac_addr[0] = 0x00;
> >
> > 60     nic->hdr.mac_addr[1] = 0x09;
> >
> > 61     nic->hdr.mac_addr[2] = 0xc0;
> >
> > 62     nic->hdr.mac_addr[3] = 0x00;
> >
> > 63     nic->hdr.mac_addr[4] = 0x13;
> >
> > 64     nic->hdr.mac_addr[5] = 0x37;
> >
> > 65 }
> >
> >
> >
> > Thanks,
> >
> > Srinivas.
> >
> > "DISCLAIMER: This message is proprietary to Aricent and is intended
> > solely for the use of the individual to whom it is addressed. It may
> > contain privileged or confidential information and should not be circulated or used for any purpose other than for what
> it is intended. If you have received this message in error, please notify the originator immediately.
> > If you are not the intended recipient, you are notified that you are
> > strictly prohibited from using, copying, altering, or disclosing the
> > contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information
> transmitted by this email including damage from virus."
> "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is
> addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose
> other than for what it is intended. If you have received this message in error, please notify the originator immediately.
> If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering,
> or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use
> of the information transmitted by this email including damage from virus."


More information about the dev mailing list