Skip to content

Add generic netlink (genetlink) support#3

Merged
lhoward merged 1 commit into
mainfrom
genetlink
Jun 30, 2026
Merged

Add generic netlink (genetlink) support#3
lhoward merged 1 commit into
mainfrom
genetlink

Conversation

@lhoward

@lhoward lhoward commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Add a GENetLink.swift layer over the core NLSocket implementing generic netlink: resolve a family by name via the nlctrl controller (CTRL_CMD_GETFAMILY) and issue typed genl requests, decoding the genlmsghdr command/version and response attributes. Because the core NLSocket_CB_VALID dispatch only understands rtnetlink/netfilter objects, the genl layer installs its own valid/error callbacks on the underlying socket and tracks pending requests by sequence number.

Wire libnl-genl-3 into the package and CNetLink shim, and add nltool genl_family and ethtool_pause subcommands demonstrating CTRL_CMD_GETFAMILY multicast-group listing and ETHTOOL_MSG_PAUSE_GET respectively.

Add a GENetLink.swift layer over the core NLSocket implementing generic
netlink: resolve a family by name via the nlctrl controller
(CTRL_CMD_GETFAMILY) and issue typed genl requests, decoding the
genlmsghdr command/version and response attributes. Because the core
NLSocket_CB_VALID dispatch only understands rtnetlink/netfilter objects,
the genl layer installs its own valid/error callbacks on the underlying
socket and tracks pending requests by sequence number.

Wire libnl-genl-3 into the package and CNetLink shim, and add nltool
genl_family and ethtool_pause subcommands demonstrating CTRL_CMD_GETFAMILY
multicast-group listing and ETHTOOL_MSG_PAUSE_GET respectively.
@lhoward lhoward merged commit 11e2e6d into main Jun 30, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant