Skip to content

A malformed known IPv6 extension header should parse as Raw, not IPv6_Ext #2477

Closed

Description

@JarryShaw

A malformed known IPv6 extension header should parse as Raw, not IPv6_Ext

When a dedicated parser (HOPOPT, Routing, Opts, MH, HIP) raises, IPv6._import_next_layer re-parses that header as IPv6_Ext so the walk continues. Per RFC 8200 §4 a node discards such a packet, and RFC 6564 does not prescribe skipping. Maintainer's ruling: follow the RFC.

  • Drop the fallback-on-failure and __generic_ext_codes__. The failed header becomes Raw (via beholder) and the walk stops there.
  • Keep IPv6_Ext for Shim6, which is registered to it directly and has no parser of its own.
  • Update the docs that describe the fallback (ipv6.py, ipv6_ext.py, the ipv6-ext-entry-paths section) and the tests that pin it.

Waits for #2464's redo to land, since both edit ipv6_ext.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 30, 2026
  2. JarryShaw commented on Oct 30, 2026

    @JarryShaw
    OwnerAuthor

    Unblocks when #2464 reaches review: good-to-go; both edit ipv6_ext.py.

  3. added this to the PyPCAPKit v1.5 milestone on Oct 30, 2026
  4. moved this to Blocked in PyPCAPKiton Oct 30, 2026
  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 30, 2026
  6. JarryShaw commented on Oct 30, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked (#2464 is good-to-go). Dispatched, stacked on #2464's branch since both edit ipv6_ext.py.

  7. moved this from Blocked to WIP in PyPCAPKiton Oct 30, 2026
  8. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 31, 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