Skip to content

fix(link): a FRAD pad octet is lost or invented when a whole frame is rebuilt #2716

Closed

Description

@JarryShaw

Found by the Sonnet review of the #2710 fix. Both reproduce identically on main at 57a6c366d, and nothing is logged.

  • A pad before a direct NLPID is lost. 0c21 03 00 cc + IPv4 rebuilds as 0c21 03 cc …, without the pad.
  • A pad is invented before 0x80. 0c21 03 80 000000 0806 + ARP rebuilds as 0c21 03 00 80 ….

RFC 2427 §3 allows the single zero pad octet before any NLPID, "when required". The data model does not record whether a pad was captured, so make() cannot rebuild the frame exactly.

The fix needs a make() parameter for the pad, and #2692 rewrites the makers, so this is blocked until #2692 merges.

Activity

  1. added this to the PyPCAPKit v1.6 milestone on Nov 3, 2026
  2. added
    bugIssues reporting a defect (set by the bug report template; a default, not an assessment)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Nov 3, 2026
  3. JarryShaw commented on Nov 3, 2026

    @JarryShaw
    OwnerAuthor

    #2692 has merged, so make() can take the pad parameter. The #2710 worker is doing it as a second commit stacked on #2710, which goes out as its own PR. wip.

  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 Nov 3, 2026
  5. JarryShaw commented on Nov 3, 2026

    @JarryShaw
    OwnerAuthor

    The PR is #2721.

  6. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Nov 3, 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

    bugIssues reporting a defect (set by the bug report template; a default, not an assessment)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions