Skip to content

Dissector for NETLINK on LINUX_SLL/SLL2 (ARPHRD_NETLINK) #2500

Closed

Description

@JarryShaw

Summary

Part of #2460. LinuxSLL/LinuxSLL2 fall back to Raw for the NETLINK
arphrd_type (824), 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

Linux kernel Netlink socket framing is a different framing entirely from
"next protocol over this link" -- it is not a protocol layered over
Ethernet/Frame-Relay/etc., it's the kernel's own IPC transport, captured
whole on an nlmon interface. No Netlink dissector exists in this codebase.

A dissector would need:

  • the struct nlmsghdr framing (len, type, flags, seq, pid), 16
    octets, repeating for every message in the capture buffer (Netlink packs
    several messages per read)
  • per-family payload parsing is a separate, much larger question (routing,
    NETLINK_GENERIC, etc.) and is out of scope for a first slice -- the
    header alone, with the payload kept as Raw, is the reasonable first cut
  • authoritative source: RFC 3549 (Netlink as an IPC mechanism) plus the
    Linux kernel's own <linux/netlink.h>

Not implemented here -- tracked as its own issue per #2460's scoping
("each of these is effectively its own new-protocol implementation, not a
tweak").

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 #2507, merged as ef62f94c5: NETLINK now dissects ARPHRD_NETLINK frames on LinuxSLL/SLL2. Closing. Moving that dispatch into a LinuxSLL registry map is tracked in #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