aregm / nff-go Goto Github PK
View Code? Open in Web Editor NEWNFF-Go -Network Function Framework for GO (former YANFF)
License: BSD 3-Clause "New" or "Revised" License
NFF-Go -Network Function Framework for GO (former YANFF)
License: BSD 3-Clause "New" or "Revised" License
What is speed parameter? Can you please make this test more actual.
As new tests point we have some race conditions after recent stopping commit:
Also we need to re-init ring number to not face problems with big number of rings
Parsing wrong CPU list does not return error:
config.CPUList = "200999000000-100999000000"
Returns empty list and nil as error, because there are no checks of range.
NAT example supports VLAN tags, but there are no tests for it. It is necessary to add such tests. For this it is necessary to add more virtual interfaces between VMs or an ability to reconvigure networking settings on Linux interfaces to add/remove VLAN tags.
On the CONTRIBUTING.md page, it claims that the mailing list is a "durable communication channel", but the link is broken. I wasn't able to find a live link to any mailing list for YANFF.
I tried the IRC channel but either I didn't do it right (I've never used IRC before) or nobody was on when I tried.
Need to rewrite NAT using DirectSend for ARP requests, instead of confusing merges.
Master branch should have not only squashed commits but all commits from develop.
Hi, we are using nff-go and want to re-init it during process executing, but always got errors like
Apr 10 03:29:52 ubuntu router[951]: ------------***-------- Initializing DPDK --------***------------
Apr 10 03:29:52 ubuntu router[951]: EAL: FATAL: already called initialization.
Apr 10 03:29:52 ubuntu router[951]: EAL: already called initialization.
Apr 10 03:29:52 ubuntu router[954]: EAL: Error - exiting with code: 1
Apr 10 03:29:52 ubuntu router[951]: Cause: Error with EAL initialization
Apr 10 03:29:52 ubuntu router[954]: Error with EAL initialization
I checked DPDK 18.02 Release, they have a new function rte_eal_cleanup
to cleanup resource of DPDK used.
Is there any reason nff-go not calling rte_eal_cleanup
?
Hi, I'm using nff-go and facing a kernel panic problem.
Here is a sample code:
https://gist.github.com/mkfsn/139274a9d0368c76c86f13ea0aa41fcc
The devices
package is similar to devbind
script in DPDK, for binding and unbinding driver (e.g. virtio_net, uio_pci_generic)
I use iperf3 to send packets and if I close the nff runner (including unbinding uio driver, binding to original kernel driver, and bringing up the network device) while sending packets, kernel sometimes panic:
Apr 16 07:21:27 ubuntu kernel: [15074.868458] virtio-pci 0000:00:04.0: virtio_pci: leaving for legacy driver
Apr 16 07:21:27 ubuntu kernel: [15074.882968] net eth1: netmap queues/slots: TX 1/256, RX 1/256
Apr 16 07:21:27 ubuntu kernel: [15074.882974] 287.301852 [ 746] virtio_netmap_attach virtio attached txq=1, txd=256 rxq=1, rxd=256
Apr 16 07:21:27 ubuntu kernel: [15074.920581] BUG: unable to handle kernel NULL pointer dereference at 000000000000000d
Apr 16 07:21:27 ubuntu kernel: [15074.920627] IP: [<000000000000000d>] 0xd
Apr 16 07:21:27 ubuntu kernel: [15074.920649] PGD 0
Apr 16 07:21:27 ubuntu kernel: [15074.920661] Oops: 0010 [#1] SMP
Apr 16 07:21:27 ubuntu kernel: [15074.920679] Modules linked in: nfnetlink_queue nfnetlink xt_NFQUEUE xt_NETMAP iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle xt_mark uio_pci_generic uio ip6table_filter ip6_tables iptable_filter ip_tables x_tables cirrus hid_generic ttm usbhid drm_kms_helper hid joydev psmouse crct10dif_pclmul crc32_pclmul drm ghash_clmulni_intel ppdev aesni_intel fb_sys_fops aes_x86_64 syscopyarea lrw gf128mul glue_helper input_leds floppy ablk_helper serio_raw cryptd sysfillrect parport_pc sysimgblt parport i2c_piix4 8250_fintek pata_acpi mac_hid virtio_net(O) netmap(O) autofs4
Apr 16 07:21:27 ubuntu kernel: [15074.921002] CPU: 2 PID: 2864 Comm: nff Tainted: G O 4.4.98 #1
Apr 16 07:21:27 ubuntu kernel: [15074.921035] Hardware name: OpenStack Foundation OpenStack Nova, BIOS 1.10.2-1ubuntu1~cloud0 04/01/2014
Apr 16 07:21:27 ubuntu kernel: [15074.921078] task: ffff880236272a00 ti: ffff880037f90000 task.ti: ffff880037f90000
Apr 16 07:21:27 ubuntu kernel: [15074.921113] RIP: 0010:[<000000000000000d>] [<000000000000000d>] 0xd
Apr 16 07:21:27 ubuntu kernel: [15074.921144] RSP: 0018:ffff880037f93c18 EFLAGS: 00010202
Apr 16 07:21:27 ubuntu kernel: [15074.921169] RAX: 000000000000000d RBX: ffff880234c8c9e0 RCX: 0000000000000001
Apr 16 07:21:27 ubuntu kernel: [15074.921202] RDX: ffff88021dbff800 RSI: ffff8802349ee1a8 RDI: ffff88021dbff800
Apr 16 07:21:27 ubuntu kernel: [15074.921235] RBP: ffff880037f93c38 R08: 0000000000000000 R09: 0000000000000000
Apr 16 07:21:27 ubuntu kernel: [15074.921268] R10: ffff8802349ee1a8 R11: ffff880235618210 R12: ffff88021d94b698
Apr 16 07:21:27 ubuntu kernel: [15074.921301] R13: 0000000000000000 R14: ffff8802362fe620 R15: ffff880043365d80
Apr 16 07:21:27 ubuntu kernel: [15074.921335] FS: 0000000000000000(0000) GS:ffff88023fd00000(0000) knlGS:0000000000000000
Apr 16 07:21:27 ubuntu kernel: [15074.921372] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Apr 16 07:21:27 ubuntu kernel: [15074.921399] CR2: 000000000000000d CR3: 0000000001e0a000 CR4: 00000000003406e0
Apr 16 07:21:27 ubuntu kernel: [15074.921436] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Apr 16 07:21:27 ubuntu kernel: [15074.921469] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Apr 16 07:21:27 ubuntu kernel: [15074.921502] Stack:
Apr 16 07:21:27 ubuntu kernel: [15074.921512] ffffffffc01924c4 ffff880235618200 0000000000000008 ffff8802349ee1a8
Apr 16 07:21:27 ubuntu kernel: [15074.921551] ffff880037f93c80 ffffffff812120a4 ffff8802349ee1a8 ffff880235618210
Apr 16 07:21:27 ubuntu kernel: [15074.921589] ffff880236272a00 ffffffff82109d50 ffff880235618200 ffff8802352d0800
Apr 16 07:21:27 ubuntu kernel: [15074.921629] Call Trace:
Apr 16 07:21:27 ubuntu kernel: [15074.921645] [<ffffffffc01924c4>] ? uio_release+0x34/0x60 [uio]
Apr 16 07:21:27 ubuntu kernel: [15074.922814] [<ffffffff812120a4>] __fput+0xe4/0x220
Apr 16 07:21:27 ubuntu kernel: [15074.924372] [<ffffffff8121221e>] ____fput+0xe/0x10
Apr 16 07:21:27 ubuntu kernel: [15074.925588] [<ffffffff8109ef71>] task_work_run+0x81/0xa0
Apr 16 07:21:27 ubuntu kernel: [15074.926727] [<ffffffff81083e91>] do_exit+0x2e1/0xb00
Apr 16 07:21:27 ubuntu kernel: [15074.927870] [<ffffffff8183de97>] ? wait_for_completion+0x37/0x140
Apr 16 07:21:27 ubuntu kernel: [15074.929022] [<ffffffff81084733>] do_group_exit+0x43/0xb0
Apr 16 07:21:27 ubuntu kernel: [15074.930160] [<ffffffff81090992>] get_signal+0x292/0x600
Apr 16 07:21:27 ubuntu kernel: [15074.931281] [<ffffffff8102e567>] do_signal+0x37/0x6f0
Apr 16 07:21:27 ubuntu kernel: [15074.932386] [<ffffffff8112e484>] ? kprobe_flush_task+0x94/0x130
Apr 16 07:21:27 ubuntu kernel: [15074.933513] [<ffffffff810a9c72>] ? finish_task_switch+0x1b2/0x220
Apr 16 07:21:27 ubuntu kernel: [15074.934664] [<ffffffff8183ce06>] ? __schedule+0x3b6/0xa30
Apr 16 07:21:27 ubuntu kernel: [15074.935808] [<ffffffff8100320c>] exit_to_usermode_loop+0x8c/0xd0
Apr 16 07:21:27 ubuntu kernel: [15074.936920] [<ffffffff81003c16>] prepare_exit_to_usermode+0x26/0x30
Apr 16 07:21:27 ubuntu kernel: [15074.938007] [<ffffffff818420e5>] retint_user+0x8/0x10
Apr 16 07:21:27 ubuntu kernel: [15074.939100] Code: Bad RIP value.
Apr 16 07:21:27 ubuntu kernel: [15074.940185] RIP [<000000000000000d>] 0xd
Apr 16 07:21:27 ubuntu kernel: [15074.941276] RSP <ffff880037f93c18>
Apr 16 07:21:27 ubuntu kernel: [15074.942338] CR2: 000000000000000d
Apr 16 07:21:27 ubuntu kernel: [15074.945828] ---[ end trace fb8bf404b90ddb84 ]---
Apr 16 07:21:27 ubuntu kernel: [15074.946862] Fixing recursive fault but reboot is needed!
I didn't get any error when closing but "stopped successfully".
I would appreciate if you have any suggestions or ideas.
Currently NFF-Go doesn't correctly handle a situation when user program asks for HW offloading and in initialization it happens that network card (port) doesn't support HW offloading (for TX checksums). It is necessary to either return an error, disable offloading and send this information to the calling program that it should call SW checksum calculation functions for the packets.
When stability.json tests run, four tests out of ten don't report their status, run for one minute and get terminated on timeout. This makes them look as failed instead of passed.
We need a stability test which will test
SetReceiveKNI
SetReceiveFile
SetGenerator
SetFastGenerator
SetVectorFastGenerator
SetSendKNI
SetSendFile
Test should
(choose yourself who will make it)
Now we have three merges:
Need to consider all these variants in testMerge
Hi there, I tried this both on debian unstable and archlinux with the same result:
In Debian, I installed the dpdk dpdk-doc and dpdk-dev packages before starting.
In Archlinux, I pacaur -S dpdk
I did observe on both occasions both the depends script and the Makefile do not detect the intalled 17.11 version of dpdk which was more recent than 17.08 version as fetched by the Makefile.
/home/dma2/Code/go/src/github.com/intel-go/nff-go/dpdk/dpdk-17.08/x86_64-native-linuxapp-gcc/lib/librte_distributor.a(rte_distributor_v20.o): In function rte_distributor_request_pkt_v20': rte_distributor_v20.c:(.text+0x0): multiple definition of
rte_distributor_request_pkt_v20'
/home/dma2/Code/go/src/github.com/intel-go/nff-go/dpdk/dpdk-17.08/x86_64-native-linuxapp-gcc/lib/librte_distributor.a(rte_distributor_v20.o):rte_distributor_v20.c:(.text+0x0): first defined here
/home/dma2/Code/go/src/github.com/intel-go/nff-go/dpdk/dpdk-17.08/x86_64-native-linuxapp-gcc/lib/librte_distributor.a(rte_distributor_v20.o): In function rte_distributor_poll_pkt_v20': rte_distributor_v20.c:(.text+0x50): multiple definition of
rte_distributor_poll_pkt_v20'
Thank you.
Hi, for now we a referencing the latest commit of master. When can we expect a stable tag or release?
Hi,
Calling C functions with CGO has high overhead, how nff-go get around it?
Are there any benchmarks/measurements of similar high pps processing programs to see overhead of nff-go (CGO/Go) compared to using DPDK with C?
We identifier problem with VLAN at VM, however it doesn't explain why checksum tests fail without VM?
Some bugs in "passed" tests need to be fixed.
We have tons of duplicated code now.
As first step to eliminate this we need to remove CheckFatal from all tests and examples and place it to flow package as default error checker.
Hitting an error at top level make. Smells like a GOROOT problem, but I am using a standard Ubuntu 16.04 install. One difference seems to be the Ubuntu install installs to /usr/lib/go-1.9 ran than /usr/local. Spinning up a new VM using the standard location but having issues with our cloud. Seen this before?
make[2]: Entering directory '/mnt/Code/gocode/src/github.com/intel-go/nff-go/test/framework'
Checking for AVX support... AVX and AVX2
go generate
stringer: checking package: types.go:8:2: could not import encoding/json (can't find import: )
types.go:12: running "stringer": exit status 1
Makefile:11: recipe for target 'apptype_string.go' failed
make[2]: *** [apptype_string.go] Error 1
make[2]: Leaving directory '/mnt/Code/gocode/src/github.com/intel-go/nff-go/test/framework'
../mk/intermediate.mk:13: recipe for target 'framework' failed
make[1]: *** [framework] Error 2
make[1]: Leaving directory '/mnt/Code/gocode/src/github.com/intel-go/nff-go/test'
mk/intermediate.mk:13: recipe for target 'test' failed
make: *** [test] Error 2
go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/mnt/Code/gocode"
GORACE=""
GOROOT="/usr/lib/go-1.9"
GOTOOLDIR="/usr/lib/go-1.9/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build721947677=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
go version
go version go1.9.4 linux/amd64
I see that newly merged VLAN checksum tests from pull request #223 fail on VirtualBox VMs:
[11:19:34] [Step 4/4] 2018/03/05 13:19:35 /--- Running test cksums_ipv4_tcp_vlan ---
[11:19:34] [Step 4/4] 2018/03/05 13:19:35 DD: Created client for cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum: , client = &{http tcp://localhost:2218 tcp localhost:2218 0xc420160930 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:19:34] [Step 4/4] 2018/03/05 13:19:35 DD: Created container for cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:e42324e775b1ab143569fb67a26d7b1227321be57ca0d7da3c537a27d5e135d6 , response = {e42324e775b1ab143569fb67a26d7b1227321be57ca0d7da3c537a27d5e135d6 []} , err = <nil>
[11:19:35] [Step 4/4] 2018/03/05 13:19:35 DD: Started container for cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:e42324e775b1ab143569fb67a26d7b1227321be57ca0d7da3c537a27d5e135d6 err = <nil>
[11:19:35] [Step 4/4] 2018/03/05 13:19:35 DD: Created client for cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum: , client = &{http tcp://localhost:2220 tcp localhost:2220 0xc4202484b0 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:19:35] [Step 4/4] 2018/03/05 13:19:35 DD: Created container for cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:917fab38a49995a8d8583a845be53434fb577f3ba15a4dc51b9875337b68afa9 , response = {917fab38a49995a8d8583a845be53434fb577f3ba15a4dc51b9875337b68afa9 []} , err = <nil>
[11:19:35] [Step 4/4] 2018/03/05 13:19:36 DD: Started container for cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:917fab38a49995a8d8583a845be53434fb577f3ba15a4dc51b9875337b68afa9 err = <nil>
[11:19:35] [Step 4/4] 2018/03/05 13:19:36 DD: Trying to read logs from container 917fab38a49995a8d8583a845be53434fb577f3ba15a4dc51b9875337b68afa9
[11:19:35] [Step 4/4] 2018/03/05 13:19:36 DD: Trying to read logs from container e42324e775b1ab143569fb67a26d7b1227321be57ca0d7da3c537a27d5e135d6
[11:19:36] [Step 4/4] 2018/03/05 13:19:36 0 IPv4 L3 and TCP L4 mode is enabled
[11:19:36] [Step 4/4] 2018/03/05 13:19:36 0 ------------***-------- Initializing DPDK --------***------------
[11:19:36] [Step 4/4] 2018/03/05 13:19:36 1 No L3 IP mode selected. Enabling IPv4 by default
[11:19:36] [Step 4/4] 2018/03/05 13:19:36 1 No L4 packet type mode selected. Enabling UDP by default
[11:19:36] [Step 4/4] 2018/03/05 13:19:36 1 UDP L4 mode is enabled
[11:19:36] [Step 4/4] 2018/03/05 13:19:36 1 ------------***-------- Initializing DPDK --------***------------
[11:19:37] [Step 4/4] 2018/03/05 13:19:37 0 ------------***-------- Initializing ports -------***------------
[11:19:37] [Step 4/4] 2018/03/05 13:19:37 0 ------------***------ Initializing scheduler -----***------------
[11:19:37] [Step 4/4] 2018/03/05 13:19:37 0 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:19:37] [Step 4/4] 2018/03/05 13:19:37 0 ------------***------ Filling FlowFunctions ------***------------
[11:19:37] [Step 4/4] 2018/03/05 13:19:37 0 ------------***--------- Checking system ---------***------------
[11:19:37] [Step 4/4] 2018/03/05 13:19:37 0 ------------***---------- Creating ports ---------***------------
[11:19:37] [Step 4/4] 2018/03/05 13:19:37 0 DEBUG: Port 0 MAC address: 08 00 27 a4 a0 33
[11:19:37] [Step 4/4] 2018/03/05 13:19:37 0 DEBUG: Port 1 MAC address: 08 00 27 71 63 aa
[11:19:38] [Step 4/4] 2018/03/05 13:19:38 1 ------------***-------- Initializing ports -------***------------
[11:19:38] [Step 4/4] 2018/03/05 13:19:38 1 ------------***------ Initializing scheduler -----***------------
[11:19:38] [Step 4/4] 2018/03/05 13:19:38 1 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:19:38] [Step 4/4] 2018/03/05 13:19:38 1 ------------***------ Filling FlowFunctions ------***------------
[11:19:38] [Step 4/4] 2018/03/05 13:19:38 1 ------------***--------- Checking system ---------***------------
[11:19:38] [Step 4/4] 2018/03/05 13:19:38 1 ------------***---------- Creating ports ---------***------------
[11:19:38] [Step 4/4] 2018/03/05 13:19:38 1 DEBUG: Port 0 MAC address: 08 00 27 2f c9 8c
[11:19:38] [Step 4/4] 2018/03/05 13:19:38 1 DEBUG: Port 1 MAC address: 08 00 27 35 9f 1e
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 ------------***------ Starting FlowFunctions -----***------------
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 DEBUG: Start SCHEDULER at 0 core
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 DEBUG: Start STOP at scheduler 0 core
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 DEBUG: Start unclonable FlowFunction generator 1 at 1 core
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 DEBUG: Start unclonable FlowFunction sender 2 at 2 core
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 DEBUG: Start unclonable FlowFunction receiver 3 at 3 core
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 DEBUG: Start clonable FlowFunction handler 4 at 4 core
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 DEBUG: Start clonable FlowFunction handler 5 at 5 core
[11:19:39] [Step 4/4] 2018/03/05 13:19:39 0 ------------***--------- NFF-GO-GO Started --------***------------
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 0 DEBUG: ---------------
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 0 DEBUG: System is using 6 cores now. 2 cores are left available.
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 0 DEBUG: Number of packets in queue for separate: 0
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 0 DEBUG: Current speed of handler 4 is 0 PKT/S
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 0 DEBUG: Number of packets in queue for handle: 0
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 0 DEBUG: Current speed of handler 5 is 0 PKT/S
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 0 DEBUG: Mempool N 0 used 513 from 32764
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 0 DEBUG: Mempool N 1 used 128 from 32764
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 1 ------------***------ Starting FlowFunctions -----***------------
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 1 DEBUG: Start SCHEDULER at 0 core
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 1 DEBUG: Start STOP at scheduler 0 core
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 1 DEBUG: Start unclonable FlowFunction receiver 1 at 1 core
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 1 DEBUG: Start unclonable FlowFunction sender 5 at 2 core
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 1 DEBUG: Start clonable FlowFunction handler 2 at 3 core
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 1 DEBUG: Start clonable FlowFunction handler 3 at 4 core
[11:19:40] [Step 4/4] 2018/03/05 13:19:40 1 DEBUG: Start clonable FlowFunction handler 4 at 5 core
[11:19:40] [Step 4/4] 2018/03/05 13:19:41 1 ------------***--------- NFF-GO-GO Started --------***------------
[11:19:40] [Step 4/4] 2018/03/05 13:19:41 1 IPv4 ICMP checksum mismatch 15290 should be 2866
[11:19:40] [Step 4/4] 2018/03/05 13:19:41 1 TEST FAILED
[11:19:40] [Step 4/4] 2018/03/05 13:19:41 DD: Finished with code TestReportedFailed
[11:19:40] [Step 4/4] 2018/03/05 13:19:41 DD: Trying to kill container for app cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:e42324e775b1ab143569fb67a26d7b1227321be57ca0d7da3c537a27d5e135d6
[11:19:40] [Step 4/4] 2018/03/05 13:19:41 DD: Trying to remove container for app cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:e42324e775b1ab143569fb67a26d7b1227321be57ca0d7da3c537a27d5e135d6
[11:19:41] [Step 4/4] 2018/03/05 13:19:41 DD: Trying to kill container for app cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:917fab38a49995a8d8583a845be53434fb577f3ba15a4dc51b9875337b68afa9
[11:19:41] [Step 4/4] 2018/03/05 13:19:41 DD: Trying to remove container for app cksums_ipv4_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:917fab38a49995a8d8583a845be53434fb577f3ba15a4dc51b9875337b68afa9
[11:19:41] [Step 4/4] 2018/03/05 13:19:42 \--- Finished test cksums_ipv4_tcp_vlan --- status: TestRunning
[11:19:41] [Step 4/4] 2018/03/05 13:19:42 /--- Running test cksums_ipv4_udp_vlan ---
[11:19:41] [Step 4/4] 2018/03/05 13:19:42 DD: Created client for cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum: , client = &{http tcp://localhost:2218 tcp localhost:2218 0xc420249890 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:19:42] [Step 4/4] 2018/03/05 13:19:42 DD: Created container for cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:d5e33023425e970c48ae8ca07eec641b6dc913f9edfcdea983675d07ab0668c2 , response = {d5e33023425e970c48ae8ca07eec641b6dc913f9edfcdea983675d07ab0668c2 []} , err = <nil>
[11:19:42] [Step 4/4] 2018/03/05 13:19:43 DD: Started container for cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:d5e33023425e970c48ae8ca07eec641b6dc913f9edfcdea983675d07ab0668c2 err = <nil>
[11:19:42] [Step 4/4] 2018/03/05 13:19:43 DD: Created client for cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum: , client = &{http tcp://localhost:2220 tcp localhost:2220 0xc420338120 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:19:42] [Step 4/4] 2018/03/05 13:19:43 DD: Created container for cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:229c1276fb473a1f16bfd81f7e84dc98fd55dbc526cdcb00c48b7baa3c7ca61b , response = {229c1276fb473a1f16bfd81f7e84dc98fd55dbc526cdcb00c48b7baa3c7ca61b []} , err = <nil>
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 DD: Started container for cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:229c1276fb473a1f16bfd81f7e84dc98fd55dbc526cdcb00c48b7baa3c7ca61b err = <nil>
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 DD: Trying to read logs from container 229c1276fb473a1f16bfd81f7e84dc98fd55dbc526cdcb00c48b7baa3c7ca61b
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 DD: Trying to read logs from container d5e33023425e970c48ae8ca07eec641b6dc913f9edfcdea983675d07ab0668c2
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 0 IPv4 L3 and UDP L4 mode is enabled
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 0 ------------***-------- Initializing DPDK --------***------------
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 1 No L3 IP mode selected. Enabling IPv4 by default
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 1 No L4 packet type mode selected. Enabling UDP by default
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 1 UDP L4 mode is enabled
[11:19:43] [Step 4/4] 2018/03/05 13:19:43 1 ------------***-------- Initializing DPDK --------***------------
[11:19:44] [Step 4/4] 2018/03/05 13:19:44 0 ------------***-------- Initializing ports -------***------------
[11:19:44] [Step 4/4] 2018/03/05 13:19:44 0 ------------***------ Initializing scheduler -----***------------
[11:19:44] [Step 4/4] 2018/03/05 13:19:44 0 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:19:44] [Step 4/4] 2018/03/05 13:19:44 0 ------------***------ Filling FlowFunctions ------***------------
[11:19:44] [Step 4/4] 2018/03/05 13:19:44 0 ------------***--------- Checking system ---------***------------
[11:19:44] [Step 4/4] 2018/03/05 13:19:44 0 ------------***---------- Creating ports ---------***------------
[11:19:44] [Step 4/4] 2018/03/05 13:19:44 0 DEBUG: Port 0 MAC address: 08 00 27 a4 a0 33
[11:19:44] [Step 4/4] 2018/03/05 13:19:45 0 DEBUG: Port 1 MAC address: 08 00 27 71 63 aa
[11:19:45] [Step 4/4] 2018/03/05 13:19:45 1 ------------***-------- Initializing ports -------***------------
[11:19:45] [Step 4/4] 2018/03/05 13:19:45 1 ------------***------ Initializing scheduler -----***------------
[11:19:45] [Step 4/4] 2018/03/05 13:19:45 1 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:19:45] [Step 4/4] 2018/03/05 13:19:45 1 ------------***------ Filling FlowFunctions ------***------------
[11:19:45] [Step 4/4] 2018/03/05 13:19:45 1 ------------***--------- Checking system ---------***------------
[11:19:45] [Step 4/4] 2018/03/05 13:19:45 1 ------------***---------- Creating ports ---------***------------
[11:19:45] [Step 4/4] 2018/03/05 13:19:45 1 DEBUG: Port 0 MAC address: 08 00 27 2f c9 8c
[11:19:45] [Step 4/4] 2018/03/05 13:19:45 1 DEBUG: Port 1 MAC address: 08 00 27 35 9f 1e
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 ------------***------ Starting FlowFunctions -----***------------
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 DEBUG: Start SCHEDULER at 0 core
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 DEBUG: Start STOP at scheduler 0 core
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 DEBUG: Start unclonable FlowFunction generator 1 at 1 core
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 DEBUG: Start unclonable FlowFunction sender 2 at 2 core
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 DEBUG: Start unclonable FlowFunction receiver 3 at 3 core
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 DEBUG: Start clonable FlowFunction handler 4 at 4 core
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 DEBUG: Start clonable FlowFunction handler 5 at 5 core
[11:19:46] [Step 4/4] 2018/03/05 13:19:47 0 ------------***--------- NFF-GO-GO Started --------***------------
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 ------------***------ Starting FlowFunctions -----***------------
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 DEBUG: Start SCHEDULER at 0 core
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 DEBUG: Start STOP at scheduler 0 core
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 DEBUG: Start unclonable FlowFunction receiver 1 at 1 core
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 DEBUG: Start unclonable FlowFunction sender 5 at 2 core
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 DEBUG: Start clonable FlowFunction handler 2 at 3 core
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 DEBUG: Start clonable FlowFunction handler 3 at 4 core
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 DEBUG: Start clonable FlowFunction handler 4 at 5 core
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 ------------***--------- NFF-GO-GO Started --------***------------
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 IPv4 ICMP checksum mismatch 15290 should be 34360
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 1 TEST FAILED
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 DD: Finished with code TestReportedFailed
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 DD: Trying to kill container for app cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:d5e33023425e970c48ae8ca07eec641b6dc913f9edfcdea983675d07ab0668c2
[11:19:47] [Step 4/4] 2018/03/05 13:19:47 DD: Trying to remove container for app cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:d5e33023425e970c48ae8ca07eec641b6dc913f9edfcdea983675d07ab0668c2
[11:19:47] [Step 4/4] 2018/03/05 13:19:48 DD: Trying to kill container for app cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:229c1276fb473a1f16bfd81f7e84dc98fd55dbc526cdcb00c48b7baa3c7ca61b
[11:19:48] [Step 4/4] 2018/03/05 13:19:48 DD: Trying to remove container for app cksums_ipv4_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:229c1276fb473a1f16bfd81f7e84dc98fd55dbc526cdcb00c48b7baa3c7ca61b
[11:19:48] [Step 4/4] 2018/03/05 13:19:49 \--- Finished test cksums_ipv4_udp_vlan --- status: TestRunning
[11:19:48] [Step 4/4] 2018/03/05 13:19:49 /--- Running test cksums_ipv6_tcp_vlan ---
[11:19:48] [Step 4/4] 2018/03/05 13:19:49 DD: Created client for cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum: , client = &{http tcp://localhost:2218 tcp localhost:2218 0xc420392630 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:19:48] [Step 4/4] 2018/03/05 13:19:49 DD: Created container for cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:3b477ba8d39370d625e9c29ad638ad4f0791acc6c927284272aa4b80bb370efd , response = {3b477ba8d39370d625e9c29ad638ad4f0791acc6c927284272aa4b80bb370efd []} , err = <nil>
[11:19:49] [Step 4/4] 2018/03/05 13:19:49 DD: Started container for cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:3b477ba8d39370d625e9c29ad638ad4f0791acc6c927284272aa4b80bb370efd err = <nil>
[11:19:49] [Step 4/4] 2018/03/05 13:19:49 DD: Created client for cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum: , client = &{http tcp://localhost:2220 tcp localhost:2220 0xc420392f00 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:19:49] [Step 4/4] 2018/03/05 13:19:49 DD: Created container for cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:411361dbaeac529c6db243ebc6e58414caa13ce449e5061802ed07d13d977910 , response = {411361dbaeac529c6db243ebc6e58414caa13ce449e5061802ed07d13d977910 []} , err = <nil>
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 DD: Started container for cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:411361dbaeac529c6db243ebc6e58414caa13ce449e5061802ed07d13d977910 err = <nil>
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 DD: Trying to read logs from container 411361dbaeac529c6db243ebc6e58414caa13ce449e5061802ed07d13d977910
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 DD: Trying to read logs from container 3b477ba8d39370d625e9c29ad638ad4f0791acc6c927284272aa4b80bb370efd
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 0 IPv6 L3 and TCP L4 mode is enabled
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 0 ------------***-------- Initializing DPDK --------***------------
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 1 No L3 IP mode selected. Enabling IPv4 by default
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 1 No L4 packet type mode selected. Enabling UDP by default
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 1 UDP L4 mode is enabled
[11:19:50] [Step 4/4] 2018/03/05 13:19:50 1 ------------***-------- Initializing DPDK --------***------------
[11:19:50] [Step 4/4] 2018/03/05 13:19:51 0 ------------***-------- Initializing ports -------***------------
[11:19:50] [Step 4/4] 2018/03/05 13:19:51 0 ------------***------ Initializing scheduler -----***------------
[11:19:50] [Step 4/4] 2018/03/05 13:19:51 0 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:19:50] [Step 4/4] 2018/03/05 13:19:51 0 ------------***------ Filling FlowFunctions ------***------------
[11:19:51] [Step 4/4] 2018/03/05 13:19:51 0 ------------***--------- Checking system ---------***------------
[11:19:51] [Step 4/4] 2018/03/05 13:19:51 0 ------------***---------- Creating ports ---------***------------
[11:19:51] [Step 4/4] 2018/03/05 13:19:51 0 DEBUG: Port 0 MAC address: 08 00 27 a4 a0 33
[11:19:51] [Step 4/4] 2018/03/05 13:19:51 0 DEBUG: Port 1 MAC address: 08 00 27 71 63 aa
[11:19:52] [Step 4/4] 2018/03/05 13:19:53 1 ------------***-------- Initializing ports -------***------------
[11:19:52] [Step 4/4] 2018/03/05 13:19:53 1 ------------***------ Initializing scheduler -----***------------
[11:19:52] [Step 4/4] 2018/03/05 13:19:53 1 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:19:52] [Step 4/4] 2018/03/05 13:19:53 1 ------------***------ Filling FlowFunctions ------***------------
[11:19:52] [Step 4/4] 2018/03/05 13:19:53 1 ------------***--------- Checking system ---------***------------
[11:19:52] [Step 4/4] 2018/03/05 13:19:53 1 ------------***---------- Creating ports ---------***------------
[11:19:52] [Step 4/4] 2018/03/05 13:19:53 1 DEBUG: Port 0 MAC address: 08 00 27 2f c9 8c
[11:19:52] [Step 4/4] 2018/03/05 13:19:53 1 DEBUG: Port 1 MAC address: 08 00 27 35 9f 1e
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 ------------***------ Starting FlowFunctions -----***------------
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 DEBUG: Start SCHEDULER at 0 core
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 DEBUG: Start STOP at scheduler 0 core
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 DEBUG: Start unclonable FlowFunction generator 1 at 1 core
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 DEBUG: Start unclonable FlowFunction sender 2 at 2 core
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 DEBUG: Start unclonable FlowFunction receiver 3 at 3 core
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 DEBUG: Start clonable FlowFunction handler 4 at 4 core
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 DEBUG: Start clonable FlowFunction handler 5 at 5 core
[11:19:53] [Step 4/4] 2018/03/05 13:19:53 0 ------------***--------- NFF-GO-GO Started --------***------------
[11:19:54] [Step 4/4] 2018/03/05 13:19:54 0 DEBUG: ---------------
[11:19:54] [Step 4/4] 2018/03/05 13:19:54 0 DEBUG: System is using 6 cores now. 2 cores are left available.
[11:19:54] [Step 4/4] 2018/03/05 13:19:54 0 DEBUG: Number of packets in queue for separate: 0
[11:19:54] [Step 4/4] 2018/03/05 13:19:54 0 DEBUG: Current speed of handler 4 is 0 PKT/S
[11:19:54] [Step 4/4] 2018/03/05 13:19:54 0 DEBUG: Number of packets in queue for handle: 0
[11:19:54] [Step 4/4] 2018/03/05 13:19:54 0 DEBUG: Current speed of handler 5 is 0 PKT/S
[11:19:54] [Step 4/4] 2018/03/05 13:19:54 0 DEBUG: Mempool N 0 used 513 from 32764
[11:19:54] [Step 4/4] 2018/03/05 13:19:54 0 DEBUG: Mempool N 1 used 128 from 32764
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 ------------***------ Starting FlowFunctions -----***------------
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 DEBUG: Start SCHEDULER at 0 core
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 DEBUG: Start STOP at scheduler 0 core
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 DEBUG: Start unclonable FlowFunction receiver 1 at 1 core
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 DEBUG: Start unclonable FlowFunction sender 5 at 2 core
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 DEBUG: Start clonable FlowFunction handler 2 at 3 core
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 DEBUG: Start clonable FlowFunction handler 3 at 4 core
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 DEBUG: Start clonable FlowFunction handler 4 at 5 core
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 IPv4 ICMP checksum mismatch 15290 should be 9588
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 1 TEST FAILED
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 DD: Finished with code TestReportedFailed
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 DD: Trying to kill container for app cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:3b477ba8d39370d625e9c29ad638ad4f0791acc6c927284272aa4b80bb370efd
[11:19:54] [Step 4/4] 2018/03/05 13:19:55 DD: Trying to remove container for app cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:3b477ba8d39370d625e9c29ad638ad4f0791acc6c927284272aa4b80bb370efd
[11:19:55] [Step 4/4] 2018/03/05 13:19:55 DD: Trying to kill container for app cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:411361dbaeac529c6db243ebc6e58414caa13ce449e5061802ed07d13d977910
[11:19:55] [Step 4/4] 2018/03/05 13:19:55 DD: Trying to remove container for app cksums_ipv6_tcp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:411361dbaeac529c6db243ebc6e58414caa13ce449e5061802ed07d13d977910
[11:19:55] [Step 4/4] 2018/03/05 13:19:56 \--- Finished test cksums_ipv6_tcp_vlan --- status: TestRunning
[11:19:55] [Step 4/4] 2018/03/05 13:19:56 /--- Running test cksums_ipv6_udp_vlan ---
[11:19:55] [Step 4/4] 2018/03/05 13:19:56 DD: Created client for cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum: , client = &{http tcp://localhost:2218 tcp localhost:2218 0xc4202cf260 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:19:56] [Step 4/4] 2018/03/05 13:19:56 DD: Created container for cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:1389c685c4e076f3a56bcd9b946b2543263788c24fed98c70fa829bc2dd0d161 , response = {1389c685c4e076f3a56bcd9b946b2543263788c24fed98c70fa829bc2dd0d161 []} , err = <nil>
[11:19:56] [Step 4/4] 2018/03/05 13:19:57 DD: Started container for cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:1389c685c4e076f3a56bcd9b946b2543263788c24fed98c70fa829bc2dd0d161 err = <nil>
[11:19:56] [Step 4/4] 2018/03/05 13:19:57 DD: Created client for cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum: , client = &{http tcp://localhost:2220 tcp localhost:2220 0xc4202cfb60 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:19:56] [Step 4/4] 2018/03/05 13:19:57 DD: Created container for cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:a6ada1a1e7975f9208cf5b9319ff9e1b86a2c05280ae35f21e73b1e5a222d0a1 , response = {a6ada1a1e7975f9208cf5b9319ff9e1b86a2c05280ae35f21e73b1e5a222d0a1 []} , err = <nil>
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 DD: Started container for cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:a6ada1a1e7975f9208cf5b9319ff9e1b86a2c05280ae35f21e73b1e5a222d0a1 err = <nil>
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 DD: Trying to read logs from container a6ada1a1e7975f9208cf5b9319ff9e1b86a2c05280ae35f21e73b1e5a222d0a1
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 DD: Trying to read logs from container 1389c685c4e076f3a56bcd9b946b2543263788c24fed98c70fa829bc2dd0d161
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 1 No L3 IP mode selected. Enabling IPv4 by default
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 1 No L4 packet type mode selected. Enabling UDP by default
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 1 UDP L4 mode is enabled
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 1 ------------***-------- Initializing DPDK --------***------------
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 0 IPv6 L3 and UDP L4 mode is enabled
[11:19:57] [Step 4/4] 2018/03/05 13:19:57 0 ------------***-------- Initializing DPDK --------***------------
[11:19:58] [Step 4/4] 2018/03/05 13:19:58 0 ------------***-------- Initializing ports -------***------------
[11:19:58] [Step 4/4] 2018/03/05 13:19:58 0 ------------***------ Initializing scheduler -----***------------
[11:19:58] [Step 4/4] 2018/03/05 13:19:58 0 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:19:58] [Step 4/4] 2018/03/05 13:19:58 0 ------------***------ Filling FlowFunctions ------***------------
[11:19:58] [Step 4/4] 2018/03/05 13:19:59 0 ------------***--------- Checking system ---------***------------
[11:19:58] [Step 4/4] 2018/03/05 13:19:59 0 ------------***---------- Creating ports ---------***------------
[11:19:58] [Step 4/4] 2018/03/05 13:19:59 0 DEBUG: Port 0 MAC address: 08 00 27 a4 a0 33
[11:19:58] [Step 4/4] 2018/03/05 13:19:59 0 DEBUG: Port 1 MAC address: 08 00 27 71 63 aa
[11:19:59] [Step 4/4] 2018/03/05 13:19:59 1 ------------***-------- Initializing ports -------***------------
[11:19:59] [Step 4/4] 2018/03/05 13:19:59 1 ------------***------ Initializing scheduler -----***------------
[11:19:59] [Step 4/4] 2018/03/05 13:19:59 1 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:19:59] [Step 4/4] 2018/03/05 13:19:59 1 ------------***------ Filling FlowFunctions ------***------------
[11:19:59] [Step 4/4] 2018/03/05 13:19:59 1 ------------***--------- Checking system ---------***------------
[11:19:59] [Step 4/4] 2018/03/05 13:19:59 1 ------------***---------- Creating ports ---------***------------
[11:19:59] [Step 4/4] 2018/03/05 13:19:59 1 DEBUG: Port 0 MAC address: 08 00 27 2f c9 8c
[11:19:59] [Step 4/4] 2018/03/05 13:20:00 1 DEBUG: Port 1 MAC address: 08 00 27 35 9f 1e
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 ------------***------ Starting FlowFunctions -----***------------
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 DEBUG: Start SCHEDULER at 0 core
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 DEBUG: Start STOP at scheduler 0 core
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 DEBUG: Start unclonable FlowFunction generator 1 at 1 core
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 DEBUG: Start unclonable FlowFunction sender 2 at 2 core
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 DEBUG: Start unclonable FlowFunction receiver 3 at 3 core
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 DEBUG: Start clonable FlowFunction handler 4 at 4 core
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 DEBUG: Start clonable FlowFunction handler 5 at 5 core
[11:20:00] [Step 4/4] 2018/03/05 13:20:01 0 ------------***--------- NFF-GO-GO Started --------***------------
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 ------------***------ Starting FlowFunctions -----***------------
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 DEBUG: Start SCHEDULER at 0 core
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 DEBUG: Start STOP at scheduler 0 core
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 DEBUG: Start unclonable FlowFunction receiver 1 at 1 core
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 DEBUG: Start unclonable FlowFunction sender 5 at 2 core
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 DEBUG: Start clonable FlowFunction handler 2 at 3 core
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 DEBUG: Start clonable FlowFunction handler 3 at 4 core
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 DEBUG: Start clonable FlowFunction handler 4 at 5 core
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 ------------***--------- NFF-GO-GO Started --------***------------
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 IPv4 ICMP checksum mismatch 15290 should be 5658
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 1 TEST FAILED
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 DD: Finished with code TestReportedFailed
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 DD: Trying to kill container for app cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:1389c685c4e076f3a56bcd9b946b2543263788c24fed98c70fa829bc2dd0d161
[11:20:01] [Step 4/4] 2018/03/05 13:20:02 DD: Trying to remove container for app cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:1389c685c4e076f3a56bcd9b946b2543263788c24fed98c70fa829bc2dd0d161
[11:20:02] [Step 4/4] 2018/03/05 13:20:02 DD: Trying to kill container for app cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:a6ada1a1e7975f9208cf5b9319ff9e1b86a2c05280ae35f21e73b1e5a222d0a1
[11:20:02] [Step 4/4] 2018/03/05 13:20:02 DD: Trying to remove container for app cksums_ipv6_udp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:a6ada1a1e7975f9208cf5b9319ff9e1b86a2c05280ae35f21e73b1e5a222d0a1
[11:20:03] [Step 4/4] 2018/03/05 13:20:03 \--- Finished test cksums_ipv6_udp_vlan --- status: TestRunning
[11:20:03] [Step 4/4] 2018/03/05 13:20:03 /--- Running test cksums_ipv4_icmp_vlan ---
[11:20:03] [Step 4/4] 2018/03/05 13:20:03 DD: Created client for cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum: , client = &{http tcp://localhost:2218 tcp localhost:2218 0xc4202801e0 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:20:03] [Step 4/4] 2018/03/05 13:20:03 DD: Created container for cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:c4b9580153b7c6e890b621f68f58bac932cf9940cba0f7b6c784b151890369ba , response = {c4b9580153b7c6e890b621f68f58bac932cf9940cba0f7b6c784b151890369ba []} , err = <nil>
[11:20:03] [Step 4/4] 2018/03/05 13:20:04 DD: Started container for cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:c4b9580153b7c6e890b621f68f58bac932cf9940cba0f7b6c784b151890369ba err = <nil>
[11:20:03] [Step 4/4] 2018/03/05 13:20:04 DD: Created client for cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum: , client = &{http tcp://localhost:2220 tcp localhost:2220 0xc4202808a0 1.24 map[User-Agent:engine-api-cli-1.0] false} , err = <nil>
[11:20:03] [Step 4/4] 2018/03/05 13:20:04 DD: Created container for cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:d1578f94425dc8d3c8b5cf13f444e60043113e0bacd83a7e614b2841b3e81c46 , response = {d1578f94425dc8d3c8b5cf13f444e60043113e0bacd83a7e614b2841b3e81c46 []} , err = <nil>
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 DD: Started container for cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:d1578f94425dc8d3c8b5cf13f444e60043113e0bacd83a7e614b2841b3e81c46 err = <nil>
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 DD: Trying to read logs from container d1578f94425dc8d3c8b5cf13f444e60043113e0bacd83a7e614b2841b3e81c46
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 DD: Trying to read logs from container c4b9580153b7c6e890b621f68f58bac932cf9940cba0f7b6c784b151890369ba
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 0 IPv4 L3 and ICMP L4 mode is enabled
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 0 Warning: cannot use HW offloading with ICMP protocol, only for L3 ipv4
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 0 ------------***-------- Initializing DPDK --------***------------
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 1 No L3 IP mode selected. Enabling IPv4 by default
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 1 No L4 packet type mode selected. Enabling UDP by default
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 1 UDP L4 mode is enabled
[11:20:04] [Step 4/4] 2018/03/05 13:20:05 1 ------------***-------- Initializing DPDK --------***------------
[11:20:05] [Step 4/4] 2018/03/05 13:20:06 0 ------------***-------- Initializing ports -------***------------
[11:20:05] [Step 4/4] 2018/03/05 13:20:06 0 ------------***------ Initializing scheduler -----***------------
[11:20:05] [Step 4/4] 2018/03/05 13:20:06 0 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:20:05] [Step 4/4] 2018/03/05 13:20:06 0 ------------***------ Filling FlowFunctions ------***------------
[11:20:05] [Step 4/4] 2018/03/05 13:20:06 0 ------------***--------- Checking system ---------***------------
[11:20:05] [Step 4/4] 2018/03/05 13:20:06 0 ------------***---------- Creating ports ---------***------------
[11:20:05] [Step 4/4] 2018/03/05 13:20:06 0 DEBUG: Port 0 MAC address: 08 00 27 a4 a0 33
[11:20:05] [Step 4/4] 2018/03/05 13:20:06 0 DEBUG: Port 1 MAC address: 08 00 27 71 63 aa
[11:20:06] [Step 4/4] 2018/03/05 13:20:07 1 ------------***-------- Initializing ports -------***------------
[11:20:06] [Step 4/4] 2018/03/05 13:20:07 1 ------------***------ Initializing scheduler -----***------------
[11:20:06] [Step 4/4] 2018/03/05 13:20:07 1 DEBUG: Scheduler can use cores: [0 1 2 3 4 5 6 7]
[11:20:06] [Step 4/4] 2018/03/05 13:20:07 1 ------------***------ Filling FlowFunctions ------***------------
[11:20:06] [Step 4/4] 2018/03/05 13:20:07 1 ------------***--------- Checking system ---------***------------
[11:20:06] [Step 4/4] 2018/03/05 13:20:07 1 ------------***---------- Creating ports ---------***------------
[11:20:06] [Step 4/4] 2018/03/05 13:20:07 1 DEBUG: Port 0 MAC address: 08 00 27 2f c9 8c
[11:20:06] [Step 4/4] 2018/03/05 13:20:07 1 DEBUG: Port 1 MAC address: 08 00 27 35 9f 1e
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 ------------***------ Starting FlowFunctions -----***------------
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 DEBUG: Start SCHEDULER at 0 core
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 DEBUG: Start STOP at scheduler 0 core
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 DEBUG: Start unclonable FlowFunction generator 1 at 1 core
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 DEBUG: Start unclonable FlowFunction sender 2 at 2 core
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 DEBUG: Start unclonable FlowFunction receiver 3 at 3 core
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 DEBUG: Start clonable FlowFunction handler 4 at 4 core
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 DEBUG: Start clonable FlowFunction handler 5 at 5 core
[11:20:07] [Step 4/4] 2018/03/05 13:20:08 0 ------------***--------- NFF-GO-GO Started --------***------------
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 DEBUG: ---------------
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 DEBUG: System is using 6 cores now. 2 cores are left available.
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 DEBUG: Number of packets in queue for separate: 0
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 DEBUG: Current speed of handler 4 is 0 PKT/S
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 DEBUG: Number of packets in queue for handle: 0
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 DEBUG: Current speed of handler 5 is 0 PKT/S
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 DEBUG: Mempool N 0 used 513 from 32764
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 DEBUG: Mempool N 1 used 128 from 32764
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 1 ------------***------ Starting FlowFunctions -----***------------
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 1 DEBUG: Start SCHEDULER at 0 core
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 1 DEBUG: Start STOP at scheduler 0 core
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 1 DEBUG: Start unclonable FlowFunction receiver 1 at 1 core
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 1 DEBUG: Start unclonable FlowFunction sender 5 at 2 core
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 1 DEBUG: Start clonable FlowFunction handler 2 at 3 core
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 1 DEBUG: Start clonable FlowFunction handler 3 at 4 core
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 1 DEBUG: Start clonable FlowFunction handler 4 at 5 core
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 IPv4 ICMP checksum mismatch 65049 should be 34102
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 0 TEST FAILED
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 DD: Finished with code TestReportedFailed
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 DD: Trying to kill container for app cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:c4b9580153b7c6e890b621f68f58bac932cf9940cba0f7b6c784b151890369ba
[11:20:08] [Step 4/4] 2018/03/05 13:20:09 DD: Trying to remove container for app cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2218:nff-go-test-cksum:c4b9580153b7c6e890b621f68f58bac932cf9940cba0f7b6c784b151890369ba
[11:20:09] [Step 4/4] 2018/03/05 13:20:09 DD: Trying to kill container for app cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:d1578f94425dc8d3c8b5cf13f444e60043113e0bacd83a7e614b2841b3e81c46
[11:20:09] [Step 4/4] 2018/03/05 13:20:09 DD: Trying to remove container for app cksums_ipv4_icmp_vlan:TestTypeScenario:localhost:2220:nff-go-test-cksum:d1578f94425dc8d3c8b5cf13f444e60043113e0bacd83a7e614b2841b3e81c46
[11:20:09] [Step 4/4] 2018/03/05 13:20:10 \--- Finished test cksums_ipv4_icmp_vlan --- status: TestReportedFailed
[11:20:09] [Step 4/4] 2018/03/05 13:20:10 TESTS EXECUTED: 16
[11:20:09] [Step 4/4] 2018/03/05 13:20:10 PASSED: 11
[11:20:09] [Step 4/4] 2018/03/05 13:20:10 FAILED: 5
[11:20:09] [Step 4/4] Process exited with code 105
I changed in low.c multiplier to 1, so it writes packets per second now,
Current speed of fast generator 1 is 6212778 PKT/S, but sent 9229088 PKTs/s
It differs too much, I think its a bug.
DEBUG: ---------------
DEBUG: System is using 6 cores now. 4 cores are left available.
DEBUG: Current speed of all receives: received 4440827 PKTs/s, pushed 4440827 PKTs/s
DEBUG: Current speed of all sends: required 9298656 PKTs/s, sent 9298656 PKTs/s
DEBUG: Current speed of stop ring: freed 4440922 PKTs/s
DEBUG: Number of packets in queue for handle: 0
DEBUG: Current speed of handler 4 is 2961944 PKT/S
DEBUG: Current speed of fast generator 1 is 6201237 PKT/S, target speed is 6000000 PKT/S
DEBUG: Mempool N 0 used 575 from 32764
DEBUG: Mempool N 1 used 262 from 32764
DEBUG: ---------------
DEBUG: System is using 6 cores now. 4 cores are left available.
DEBUG: Current speed of all receives: received 4437748 PKTs/s, pushed 4437748 PKTs/s
DEBUG: Current speed of all sends: required 9254240 PKTs/s, sent 9254240 PKTs/s
DEBUG: Current speed of stop ring: freed 4437869 PKTs/s
DEBUG: Number of packets in queue for handle: 0
DEBUG: Current speed of handler 4 is 2959896 PKT/S
DEBUG: Current speed of fast generator 1 is 6199040 PKT/S, target speed is 6000000 PKT/S
DEBUG: Mempool N 0 used 575 from 32764
DEBUG: Mempool N 1 used 121 from 32764
DEBUG: ---------------
DEBUG: System is using 6 cores now. 4 cores are left available.
DEBUG: Current speed of all receives: received 8907874 PKTs/s, pushed 8907874 PKTs/s
DEBUG: Current speed of all sends: required 18626432 PKTs/s, sent 18626432 PKTs/s
DEBUG: Current speed of stop ring: freed 8907763 PKTs/s
DEBUG: Number of packets in queue for handle: 46
DEBUG: Current speed of handler 4 is 2965938 PKT/S
DEBUG: Current speed of fast generator 1 is 6201941 PKT/S, target speed is 6000000 PKT/S
DEBUG: Mempool N 0 used 575 from 32764
DEBUG: Mempool N 1 used 518 from 32764
DEBUG: ---------------
DEBUG: System is using 6 cores now. 4 cores are left available.
DEBUG: Current speed of all receives: received 4411869 PKTs/s, pushed 4411869 PKTs/s
DEBUG: Current speed of all sends: required 9229088 PKTs/s, sent 9229088 PKTs/s
DEBUG: Current speed of stop ring: freed 4412054 PKTs/s
DEBUG: Number of packets in queue for handle: 0
DEBUG: Current speed of handler 4 is 2970708 PKT/S
DEBUG: Current speed of fast generator 1 is 6212778 PKT/S, target speed is 6000000 PKT/S
DEBUG: Mempool N 0 used 575 from 32764
DEBUG: Mempool N 1 used 176 from 32764
We support packets with VLAN tags but there are no tests for them yet. One important area is checksum calculation tests because these tests may be used as examples of correctly using functions for checksum calculation.
Greetings!
Can I please get a nudge in the right direction on how to diagnose this issue in “packet_test.go”? I am going through the code now, but, wanted to see if this was a common issue.
Configuration:
How could a packet get changed during the “TestInitEmptyIPv4Packet” test? Logs below.
Thanks for any help!
-Timothy
========================================
[DPDK] vagrant@ubuntu-dpdk:~/go/src/github.com/intel-go/yanff$ sudo env PATH=$PATH make testing
Checking for AVX support... AVX and AVX2
make -C packet testing
make[1]: Entering directory '/home/vagrant/go/src/github.com/intel-go/yanff/packet'
Checking for AVX support... AVX and AVX2
go test
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: Detected lcore 3 as core 0 on socket 0
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 4 lcore(s)
EAL: Probing VFIO support...
EAL: Module /sys/module/vfio_pci not found! error 2 (No such file or directory)
EAL: VFIO modules not loaded, skipping VFIO support...
EAL: Module /sys/module/vfio_pci not found! error 2 (No such file or directory)
EAL: Setting up physically contiguous memory...
EAL: Trying to obtain current memory policy.
EAL: Hugepage /dev/hugepages/rtemap_1 is on socket 0
EAL: Hugepage /dev/hugepages/rtemap_0 is on socket 0
EAL: Ask a virtual area of 0x40000000 bytes
EAL: Virtual area found at 0x7fff00000000 (size = 0x40000000)
EAL: Ask a virtual area of 0x40000000 bytes
EAL: Virtual area found at 0x7ffe80000000 (size = 0x40000000)
EAL: Requesting 2 pages of size 1024MB from socket 0
EAL: TSC frequency is ~2903750 KHz
EAL: Master lcore 0 is ready (tid=f7fea8c0;cpuset=[0])
EAL: lcore 2 is ready (tid=ef7fe700;cpuset=[2])
EAL: lcore 3 is ready (tid=eeffd700;cpuset=[3])
EAL: lcore 1 is ready (tid=effff700;cpuset=[1])
EAL: PCI device 0000:03:00.0 on NUMA socket -1
EAL: Invalid NUMA socket, default to 0
EAL: probe driver: 8086:10d3 net_e1000_em
EAL: Not managed by a supported kernel driver, skipped
EAL: PCI device 0000:0b:00.0 on NUMA socket -1
EAL: Invalid NUMA socket, default to 0
EAL: probe driver: 8086:10d3 net_e1000_em
EAL: PCI memory mapped at 0x7fff40000000
EAL: PCI memory mapped at 0x7fff40020000
EAL: PCI memory mapped at 0x7fff40040000
PMD: eth_em_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x10d3
--- FAIL: TestInitEmptyIPv4Packet (0.00s)
packet_test.go:501: Incorrect result:
got: 00000000000000000000000008004500001c00000000003b00007f00000180090905ffdd0000bbaa0000,
want: 00000000000000000000000008004500001c00000000000000007f00000180090905ffdd0000bbaa0000
--- FAIL: TestInitEmptyIPv6Packet (0.00s)
packet_test.go:526: Incorrect result:
got: 00000000000000000000000086dd6000000000083b00dead000000000000000000000000beaf00000000000000000000000000000000ffdd0000bbaa0000,
want: 00000000000000000000000086dd6000000000080000dead000000000000000000000000beaf00000000000000000000000000000000ffdd0000bbaa0000
FAIL
exit status 1
FAIL github.com/intel-go/yanff/packet 0.605s
Makefile:10: recipe for target 'testing' failed
make[1]: *** [testing] Error 1
make[1]: Leaving directory '/home/vagrant/go/src/github.com/intel-go/yanff/packet'
Makefile:21: recipe for target 'packet' failed
make: *** [packet] Error 2
We need performance tests to run NAT with apache benchmark and compare it with Linux iptables performance.
When I enable debug dump for NAT in config.go, it starts dumping packets into pcap files. When I view these files I can see that timing information is incorrect. For example I can see a lot of packets have negative timestamps. I cannot trust timing information when it is positive too because timings sometimes jump unpredictably increasing and decreasing.
We have ~10 checksum tests in stability.json and only one in cksum_test.go. Is this right? You can use SystemStop now.
I'm evaluating nff-go and vpp (https://wiki.fd.io/view/VPP). Please tell me advantages and disadvantages of each one.
Add agreed with Chris and Anay HLD to reflect latest discussions.
Program failed with error:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0xa0 pc=0x4e1155]
goroutine 21 [running, locked to thread]:
github.com/intel-go/nff-go/packet.(*Packet).GetRawPacketBytes(...)
/projects/src/github.com/intel-go/nff-go/packet/packet.go:700
github.com/intel-go/nff-go/flow.pcopy(0x69a200, 0xc42000c120, 0xc4201a40c0, 0xc42018c000, 0x0, 0x0, 0x0)
/projects/src/github.com/intel-go/nff-go/flow/flow.go:1139 +0x435
github.com/intel-go/nff-go/flow.(*scheduler).startFF.func1(0xc42018a140, 0x3)
/projects/src/github.com/intel-go/nff-go/flow/scheduler.go:202 +0x238
created by github.com/intel-go/nff-go/flow.(*scheduler).startFF
/projects/src/github.com/intel-go/nff-go/flow/scheduler.go:196 +0x22a
Code:
package main
import (
"log"
"sync"
"sync/atomic"
"time"
"github.com/intel-go/nff-go/flow"
"github.com/intel-go/nff-go/packet"
"github.com/intel-go/nff-go/test/stability/stabilityCommon"
)
var (
totalPackets uint64 = 100
payloadSize uint = 16
sentPacketsGroup1 uint64
recvPackets uint64
testDoneEvent *sync.Cond
progStart time.Time
// T second timeout is used to let generator reach required speed
// During timeout packets are skipped and not counted
T = 10 * time.Second
)
func main() {
// Init NFF-GO system
config := flow.Config{
DPDKArgs: []string{"--log-level=0"},
}
flow.CheckFatal(flow.SystemInit(&config))
var m sync.Mutex
testDoneEvent = sync.NewCond(&m)
flow1 := flow.SetGenerator(generatePacketGroup1, nil)
flow2 := flow.SetGenerator(generatePacketGroup1, nil)
flow.CheckFatal(flow.SetStopper(flow2))
var err error
flow2, err = flow.SetCopier(flow1)
flow.CheckFatal(err)
checkedFlow, err := flow.SetMerger(flow1, flow2)
flow.CheckFatal(err)
flow.CheckFatal(flow.SetHandler(checkedFlow, checkPackets, nil))
flow.CheckFatal(flow.SetStopper(checkedFlow))
// Start pipeline
go func() {
err = flow.SystemStart()
}()
flow.CheckFatal(err)
progStart = time.Now()
// Wait for enough packets to arrive
testDoneEvent.L.Lock()
testDoneEvent.Wait()
testDoneEvent.L.Unlock()
}
func generatePacketGroup1(pkt *packet.Packet, context flow.UserContext) {
if pkt == nil {
log.Fatal("Failed to create new packet")
}
if packet.InitEmptyIPv4UDPPacket(pkt, payloadSize) == false {
log.Fatal("Failed to init empty packet")
}
// We do not consider the start time of the system in this test
if time.Since(progStart) >= T && atomic.LoadUint64(&recvPackets) < totalPackets {
atomic.AddUint64(&sentPacketsGroup1, 1)
}
}
// Count and check packets in received flow
func checkPackets(pkt *packet.Packet, context flow.UserContext) {
if time.Since(progStart) < T || stabilityCommon.ShouldBeSkipped(pkt) {
return
}
if atomic.AddUint64(&recvPackets, 1) >= totalPackets {
testDoneEvent.Signal()
return
}
}
By the way, there is no such problem in the same code with fast generator!
First I tried the same code with many totalpackets, got really huge amount of the same warnings:
"WARNING: GeneratePacketFromByte: Cannot append mbuf", then run with 100 packets and got this error.
This commit golang/go@7dea509 breaks the build.
In current API we do not have a function to create the copy of incoming flow. Because generate cannot be an input with receive to handle function.
There was a decision made to rename the YANFF to NFF-Go. I will leave this issue for a while to see are there any concerns, up-votes/down-votes.
Need to migrate to the latest version of DPDK.
Problem: many (by measures of "awesome-go") go vet
warnings.
There are many integer to pointer
casts rule triggers in go vet
report for Yanff.
Most (all?) cases go from pointer
->uintptr
->pointer
, so it should not be unsafe as lint
assumes (it references Go 1.3a changes to GC).
What do you think about these solutions ("workarounds", actually):
Add more methods like unparsed
, which return unsafe.Pointer
with offset calculations applied, without additional type cast to uintptr
. This way, 3-level casts will go away and related lint warnings will go avay.
Note: go vet
allows this constructions: unsafe.Pointer(uintptr(p) + offset)
.
Move this kind of data casts (maywith struct itself) in separate package. Go can do cross-package inlining, so no performance will be lost, right? Report on Yanff will increase.
Related to adding YANFF to awesome-go.
After recent changes to ICMP checksum calculation NAT example crashes when pinged:
DEBUG: ---------------
DEBUG: System is using 7 cores now. 1 cores are left available.
DEBUG: Number of packets in queue for split: 0
DEBUG: Current speed of splitter 2 is 0 PKT/S
DEBUG: Number of packets in queue for split: 0
DEBUG: Current speed of splitter 4 is 0 PKT/S
DEBUG: Mempool N 0 used 128 from 32764
DEBUG: Mempool N 1 used 128 from 32764
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x5056ca]
goroutine 57 [running, locked to thread]:
github.com/intel-go/yanff/packet.calculateDataChecksum(0x0, 0x38, 0x0, 0xc42072a000)
/home/ubuntu/go/src/github.com/intel-go/yanff/packet/checksum.go:148 +0x1a
github.com/intel-go/yanff/packet.CalculateIPv4ICMPChecksum(0x7fa415c0134e, 0x7fa415c01362, 0x0, 0x7fa48c0091e0)
/home/ubuntu/go/src/github.com/intel-go/yanff/packet/checksum.go:292 +0x4c
github.com/intel-go/yanff/examples/nat.setIPv4ICMPChecksum(0x7fa415c012c0, 0xc420720101)
/home/ubuntu/go/src/github.com/intel-go/yanff/examples/nat/cksum.go:68 +0xaf
github.com/intel-go/yanff/examples/nat.(*ipv4Port).handleICMP(0xc4200a63c0, 0x7fa415c012c0, 0x0)
/home/ubuntu/go/src/github.com/intel-go/yanff/examples/nat/translation.go:366 +0xf4
github.com/intel-go/yanff/examples/nat.PublicToPrivateTranslation(0x7fa415c012c0, 0xa7d0c0, 0xb7eda0, 0xa7d0c0)
/home/ubuntu/go/src/github.com/intel-go/yanff/examples/nat/translation.go:95 +0x6ce
github.com/intel-go/yanff/flow.split(0x703f00, 0xc42007c4e0, 0xc42009e1e0, 0xc4200b8000, 0x7fa49dc772d0, 0xb7eda0)
/home/ubuntu/go/src/github.com/intel-go/yanff/flow/flow.go:1183 +0x5cd
github.com/intel-go/yanff/scheduler.(*Scheduler).startClonable.func1(0xc42005e0b0, 0x5)
/home/ubuntu/go/src/github.com/intel-go/yanff/scheduler/scheduler.go:201 +0xe7
created by github.com/intel-go/yanff/scheduler.(*Scheduler).startClonable
/home/ubuntu/go/src/github.com/intel-go/yanff/scheduler/scheduler.go:196 +0x1cc
You can use https://github.com/intel-go/yanff/wiki/NAT-example instruction to run NAT example.
Ports should be uint16 due to DPDK
Split should be uint8 due to vectors
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.