Skip to content

fix(toolkit): pypcapfile engine silently drops TCP in VLAN-tagged or tunnelled frames #1537

Closed

Description

@JarryShaw

The pypcapfile engine silently leaves TCP in 802.1Q/QinQ-tagged frames, and in tunnelled frames (6in4, 6in6, 4in4), out of TCP reassembly and tracing. It does this for IPv4 as well as IPv6.

pcapfile 0.12.0's Ethernet.payload_type (pcapfile/protocols/linklayer/ethernet.py:77-90) decodes only EtherType 0x0800. A VLAN tag (0x8100) therefore leaves the payload undecoded, and _network() in pcapkit/toolkit/pypcapfile.py finds no IP layer.

The default engine sees TCP in all of these. This was measured in the #1535 review on synthetic frames; none of the sample captures carries a VLAN tag.

Expected: warn once per capture, as #1535 does for untagged TCP over IPv6, or read through the tag.

Blocked until #1535 merges, since both change the same detection code in toolkit/pypcapfile.py.

Activity

  1. 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 9, 2026
  2. moved this to Blocked in PyPCAPKiton Oct 9, 2026
  3. JarryShaw commented on Oct 10, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked: #1535 has merged (ea883a648) with its warn-once for TCP over IPv6 in toolkit/pypcapfile.py. A worker is now building VLAN, QinQ, 6in4, 6in6 and 4in4 captures and deciding between reading through the encapsulation and warning once per capture. It owns toolkit/pypcapfile.py; #1512 has the engine file.

  4. 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
  5. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 10, 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

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions