Skip to content

GRE dissector for IPGRE/IP6GRE on LINUX_SLL/SLL2 #2501

Closed

Description

@JarryShaw

Summary

Part of #2460. LinuxSLL/LinuxSLL2 fall back to Raw for the IPGRE
(778) and IP6GRE (823) arphrd_type values, whose protocol_type field
isn't an EtherType (see _ARPHRD_NOT_ETHERTYPE in
pcapkit/protocols/link/linux_sll.py). The header is preserved, nothing
crashes, but nothing is dissected either.

Scope

GRE over IPv4 and GRE over IPv6 respectively -- no GRE dissector exists yet
in this codebase at all (confirmed: no pcapkit/protocols/*/gre.py). The
GRE header itself (RFC 2784, with the optional checksum/key/sequence fields
of RFC 2890) is identical regardless of which IP version carries it; what
differs between IPGRE and IP6GRE is only which outer IP version the
Linux kernel's GRE tunnel interface reports via arphrd_type, not the GRE
framing itself.

So this is naturally one dissector, two arphrd_type bindings:

  • a GRE class under pcapkit/protocols/link/ (or wherever the
    layer-placement convention lands it once drafted) implementing RFC
    2784/2890's header: flags, version, protocol type (an EtherType, selecting
    the tunnelled payload), and the optional checksum/offset, key and sequence
    number fields gated by the flag bits
  • LinuxSLL's arphrd_type dispatch gets both ARPHRD.IPGRE and
    ARPHRD.IP6GRE wired to the same class, the way FRAD (Dissectors for non-ethertype ARPHRD types on LINUX_SLL/SLL2 (NETLINK/IPGRE/IP6GRE/802.11 radiotap/FRAD) #2460) added a
    single new dispatch branch

Not implemented here -- tracked as its own issue per #2460's scoping.

Activity

  1. added
    featPull requests that add a new capability (feat: subject prefix)
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 31, 2026
  2. moved this to Pending in PyPCAPKiton Oct 31, 2026
  3. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 31, 2026
  4. moved this from Pending to WIP in PyPCAPKiton Oct 31, 2026
  5. JarryShaw commented on Nov 1, 2026

    @JarryShaw
    OwnerAuthor

    Covered by #2508, merged as 574186ef9: GRE now dissects ARPHRD_IPGRE/ARPHRD_IP6GRE on LinuxSLL/SLL2. Closing. The registry-map follow-up is #2510.

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

    featPull requests that add a new capability (feat: subject prefix)

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions