DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [Bug 279] Unaligned memory access when reading ipv6 header
@ 2019-05-16 10:34 bugzilla
  2019-05-16 10:34 ` bugzilla
  0 siblings, 1 reply; 2+ messages in thread
From: bugzilla @ 2019-05-16 10:34 UTC (permalink / raw)
  To: dev

https://bugs.dpdk.org/show_bug.cgi?id=279

            Bug ID: 279
           Summary: Unaligned memory access when reading ipv6 header
           Product: DPDK
           Version: 19.02
          Hardware: x86
                OS: Linux
            Status: CONFIRMED
          Severity: normal
          Priority: Normal
         Component: examples
          Assignee: dev@dpdk.org
          Reporter: mplaneta@os.inf.tu-dresden.de
  Target Milestone: ---

Hello,

I'm running l3fwd application in a following way:

sudo ./build/l3fwd -l 2-3 -n 2 --vdev=net_tap0  --vdev=net_tap1 
--vdev=net_tap2    -- -p 0xe  -E --parse-ptype --config="(1,0,3),(2,0,3)"

And it fails with following output:

EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15d8 net_e1000_em
soft parse-ptype is enabled

Skipping disabled port 0
Initializing port 1 ... Creating queues: nb_rxq=1 nb_txq=2... 
Address:AE:00:CE:7A:B1:50, Destination:02:00:00:00:00:01, Allocated mbuf pool
on socket 0
Hash: Adding 0x4 keys
txq=2,0,0 txq=3,1,0 
Initializing port 2 ... Creating queues: nb_rxq=1 nb_txq=2... 
Address:F6:CE:D9:39:29:D2, Destination:02:00:00:00:00:02, txq=2,0,0 txq=3,1,0 
Initializing port 3 ... Creating queues: nb_rxq=0 nb_txq=2... 
Address:92:18:9B:13:E1:EF, Destination:02:00:00:00:00:03, txq=2,0,0 txq=3,1,0 

Initializing rx queues on lcore 2 ... 
Initializing rx queues on lcore 3 ... rxq=1,0,0 rxq=2,0,0 

Port 1: softly parse packet type info
Port 2: softly parse packet type info

Checking link statusdone
Port1 Link Up. Speed 10000 Mbps -full-duplex
Port2 Link Up. Speed 10000 Mbps -full-duplex
Port3 Link Up. Speed 10000 Mbps -full-duplex
L3FWD: entering main loop on lcore 3
L3FWD:  -- lcoreid=3 portid=1 rxqueueid=0
L3FWD:  -- lcoreid=3 portid=2 rxqueueid=0
L3FWD: lcore 2 has nothing to do
[1]    13769 segmentation fault  sudo ./build/l3fwd -l 2-3 -n 2 --vdev=net_tap0
--vdev=net_tap1 --vdev=net_tap

In the debugger I see that the reason point to unaligned memory access in
following instruction:

0x5555555de474 <em_get_ipv6_dst_port+12>        vmovdqa 0x14(%rdi),%xmm2

Where

p/x $rdi + 0x14
$3 = 0x100694162

The instruction point to following line of function em_get_ipv6_dst_port:

        key.xmm[1] = *(xmm_t *)data1;


I compiled DPDK with following command:

make -j4 install EXTRA_CFLAGS="-ggdb3 -O0" T=x86_64-native-linuxapp-gcc
DESTDIR=$(pwd)/../dpdk-install prefix=

And used the same CFLAGS for l3fwd

System information

$ lscpu                                                                         
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       39 bits physical, 48 bits virtual
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               142
Model name:          Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
Stepping:            9
CPU MHz:             915.480
CPU max MHz:         3100.0000
CPU min MHz:         400.0000
BogoMIPS:            5424.00
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            3072K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl
xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64
monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2
x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm
3dnowprefetch cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority
ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed
adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln
pts hwp hwp_notify hwp_act_window hwp_epp

 $ gcc --version
gcc (Debian 8.2.0-14) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [dpdk-dev] [Bug 279] Unaligned memory access when reading ipv6 header
  2019-05-16 10:34 [dpdk-dev] [Bug 279] Unaligned memory access when reading ipv6 header bugzilla
@ 2019-05-16 10:34 ` bugzilla
  0 siblings, 0 replies; 2+ messages in thread
From: bugzilla @ 2019-05-16 10:34 UTC (permalink / raw)
  To: dev

https://bugs.dpdk.org/show_bug.cgi?id=279

            Bug ID: 279
           Summary: Unaligned memory access when reading ipv6 header
           Product: DPDK
           Version: 19.02
          Hardware: x86
                OS: Linux
            Status: CONFIRMED
          Severity: normal
          Priority: Normal
         Component: examples
          Assignee: dev@dpdk.org
          Reporter: mplaneta@os.inf.tu-dresden.de
  Target Milestone: ---

Hello,

I'm running l3fwd application in a following way:

sudo ./build/l3fwd -l 2-3 -n 2 --vdev=net_tap0  --vdev=net_tap1 
--vdev=net_tap2    -- -p 0xe  -E --parse-ptype --config="(1,0,3),(2,0,3)"

And it fails with following output:

EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15d8 net_e1000_em
soft parse-ptype is enabled

Skipping disabled port 0
Initializing port 1 ... Creating queues: nb_rxq=1 nb_txq=2... 
Address:AE:00:CE:7A:B1:50, Destination:02:00:00:00:00:01, Allocated mbuf pool
on socket 0
Hash: Adding 0x4 keys
txq=2,0,0 txq=3,1,0 
Initializing port 2 ... Creating queues: nb_rxq=1 nb_txq=2... 
Address:F6:CE:D9:39:29:D2, Destination:02:00:00:00:00:02, txq=2,0,0 txq=3,1,0 
Initializing port 3 ... Creating queues: nb_rxq=0 nb_txq=2... 
Address:92:18:9B:13:E1:EF, Destination:02:00:00:00:00:03, txq=2,0,0 txq=3,1,0 

Initializing rx queues on lcore 2 ... 
Initializing rx queues on lcore 3 ... rxq=1,0,0 rxq=2,0,0 

Port 1: softly parse packet type info
Port 2: softly parse packet type info

Checking link statusdone
Port1 Link Up. Speed 10000 Mbps -full-duplex
Port2 Link Up. Speed 10000 Mbps -full-duplex
Port3 Link Up. Speed 10000 Mbps -full-duplex
L3FWD: entering main loop on lcore 3
L3FWD:  -- lcoreid=3 portid=1 rxqueueid=0
L3FWD:  -- lcoreid=3 portid=2 rxqueueid=0
L3FWD: lcore 2 has nothing to do
[1]    13769 segmentation fault  sudo ./build/l3fwd -l 2-3 -n 2 --vdev=net_tap0
--vdev=net_tap1 --vdev=net_tap

In the debugger I see that the reason point to unaligned memory access in
following instruction:

0x5555555de474 <em_get_ipv6_dst_port+12>        vmovdqa 0x14(%rdi),%xmm2

Where

p/x $rdi + 0x14
$3 = 0x100694162

The instruction point to following line of function em_get_ipv6_dst_port:

        key.xmm[1] = *(xmm_t *)data1;


I compiled DPDK with following command:

make -j4 install EXTRA_CFLAGS="-ggdb3 -O0" T=x86_64-native-linuxapp-gcc
DESTDIR=$(pwd)/../dpdk-install prefix=

And used the same CFLAGS for l3fwd

System information

$ lscpu                                                                         
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       39 bits physical, 48 bits virtual
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               142
Model name:          Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
Stepping:            9
CPU MHz:             915.480
CPU max MHz:         3100.0000
CPU min MHz:         400.0000
BogoMIPS:            5424.00
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            3072K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl
xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64
monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2
x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm
3dnowprefetch cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority
ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed
adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln
pts hwp hwp_notify hwp_act_window hwp_epp

 $ gcc --version
gcc (Debian 8.2.0-14) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-05-16 10:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-16 10:34 [dpdk-dev] [Bug 279] Unaligned memory access when reading ipv6 header bugzilla
2019-05-16 10:34 ` bugzilla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).