[dpdk-dev] [Bug 338] IP Reassembly with more 4 packets Segfault

bugzilla at dpdk.org bugzilla at dpdk.org
Tue Aug 13 05:05:17 CEST 2019


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

            Bug ID: 338
           Summary: IP Reassembly with more 4 packets Segfault
           Product: DPDK
           Version: 17.11
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: core
          Assignee: dev at dpdk.org
          Reporter: abhijeet080808 at gmail.com
  Target Milestone: ---

I have looked at previous mails on this mailing list and also elsewhere on
Google and could not find any information related to this.

Whenever I have to reassemble a valid IP packet with more than 4 fragments, I
see a crash. Stack trace below. I assume the number 4 comes from
RTE_LIBRTE_IP_FRAG_MAX_FRAG.

To trigger this, I sent a fragmented IP packet via - ping <DPDK IP addr> -s
6000

(gdb) bt
#0  ip_frag_lookup (tbl=tbl at entry=0x7fff7a32ce80, key=key at entry=0x7ffff6eeee10,
tms=tms at entry=2602613353715115, free=free at entry=0x7ffff6eeedb8, 
    stale=stale at entry=0x7ffff6eeedc0) at
/usr/src/debug/dpdk-17.11.2-6.fc30.x86_64/lib/librte_ip_frag/ip_frag_internal.c:379
#1  0x00007ffff7c021f6 in ip_frag_find (tbl=tbl at entry=0x7fff7a32ce80,
dr=dr at entry=0x7fff7a32c900, key=key at entry=0x7ffff6eeee10, tms=2602613353715115)
    at
/usr/src/debug/dpdk-17.11.2-6.fc30.x86_64/lib/librte_ip_frag/ip_frag_internal.c:286
#2  0x00007ffff7c00280 in rte_ipv4_frag_reassemble_packet (tbl=0x7fff7a32ce80,
dr=0x7fff7a32c900, mb=0x7fff8b71b480, tms=<optimized out>, 
    ip_hdr=<optimized out>) at
/usr/src/debug/dpdk-17.11.2-6.fc30.x86_64/lib/librte_ip_frag/rte_ipv4_reassembly.c:160

(gdb) f 0
#0  ip_frag_lookup (tbl=tbl at entry=0x7fff7a32ce80, key=key at entry=0x7ffff6eeee10,
tms=tms at entry=2602613353715115, free=free at entry=0x7ffff6eeedb8, 
    stale=stale at entry=0x7ffff6eeedc0) at
/usr/src/debug/dpdk-17.11.2-6.fc30.x86_64/lib/librte_ip_frag/ip_frag_internal.c:379
379     if (ip_frag_key_cmp(key, &p1[i].key) == 0)

(gdb) f 1
#1  0x00007ffff7c021f6 in ip_frag_find (tbl=tbl at entry=0x7fff7a32ce80,
dr=dr at entry=0x7fff7a32c900, key=key at entry=0x7ffff6eeee10, tms=2602613353715115)
    at
/usr/src/debug/dpdk-17.11.2-6.fc30.x86_64/lib/librte_ip_frag/ip_frag_internal.c:286
286     if ((pkt = ip_frag_lookup(tbl, key, tms, &free, &stale)) == NULL) {

(gdb) f 2
#2  0x00007ffff7c00280 in rte_ipv4_frag_reassemble_packet (tbl=0x7fff7a32ce80,
dr=0x7fff7a32c900, mb=0x7fff8b71b480, tms=<optimized out>, 
    ip_hdr=<optimized out>) at
/usr/src/debug/dpdk-17.11.2-6.fc30.x86_64/lib/librte_ip_frag/rte_ipv4_reassembly.c:160
160     if ((fp = ip_frag_find(tbl, dr, &key, tms)) == NULL) {

Is this a known issue? Are there any workaround?

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


More information about the dev mailing list