Skip to content

fix(toolkit): the dpkt and scapy engines drop TCP behind an IPv6 extension header carried in IPv4 #1606

Closed

Description

@JarryShaw

With engine='dpkt' or engine='scapy', TCP carried behind an IPv6 extension header placed directly in IPv4 (protocol 0 Hop-by-Hop or 60 Destination Options) is dropped from TCP reassembly. The #1600 review also reports the same for AH (protocol 51).

Repro on main (c43e9318c). Each capture is Ethernet, then IPv4 with protocol 0 or 60, then one extension header (next header 6, PadN 4), then TCP carrying data. TCP datagrams reassembled:

Capture default dpkt scapy
protocol 0 1 0 0
protocol 60 1 0 0
plain TCP (control) 1 1 1

The default engine walks the chain, and pypcapfile matches it after #1600. Expected: dpkt and scapy step over the same chain and agree with the default engine, within the #1604 depth bound.

Found by the #1581 worker; I reproduced it. Blocked until #1605 and the #1604 PR merge, because both edit pcapkit/toolkit/dpkt.py and scapy.py.

Activity

  1. JarryShaw commented on Oct 10, 2026

    @JarryShaw
    OwnerAuthor

    Blocked until #1605 and the #1604 PR merge: both edit pcapkit/toolkit/dpkt.py and scapy.py.

  2. added
    fixPull requests that fix a defect (fix: subject prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 10, 2026
  3. moved this to Blocked in PyPCAPKiton Oct 10, 2026
  4. JarryShaw commented on Oct 10, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked: #1605 and #1608 merged. A worker is on it together with #1617, since both fix how the dpkt and scapy adapters find the TCP carrier.

  5. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 10, 2026
  6. moved this from Blocked to WIP in PyPCAPKiton Oct 10, 2026
  7. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 12, 2026
  8. added this to the PyPCAPKit v1.5 milestone on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    fixPull requests that fix a defect (fix: subject prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions