While testing the bare values happens to work, the intent is to test
for their definition.
Reviewed by: emaste
Fixes: 9a16bd169e ("libsysdecode: support errno and syscalls for arm64 Linux")
Fixes: b69ae1a34c ("libsysdecode: Add preliminary support for decoding Linux syscalls")
Differential Revision: https://reviews.freebsd.org/D60415
We already verified that the attribute parser tables were correctly
sorted. Now also verify that the command decoders are too.
While here move the assertions into a constructor so we only run them once.
Introduce a PF netlink command decoder table mapping PFNL commands to
their attribute decoder sets. This replaces the existing switch-based
dispatch and makes it easier to add support for additional PF netlink
commands.
Signed-off-by: Ishan Agrawal <[email protected]>
Sponsored-by: Google LLC (GSoC 2026)
Reviewed by: kp
Some NLM_F_ definitions contain multiple underscores in their name; this
should pick them up.
Reviewed by: kp, Ishan Agrawal <[email protected]>
Fixes: 4c932a4d45 ("netlink: decode netlink message flags symbolically")
Sponsored by: The FreeBSD Foundation
Pull Request: https://github.com/freebsd/freebsd-src/pull/2340
Add a NOTE_REAP event for EVFILTER_PROC which provides a notification
when the process is reaped.
MFC after: 1 week
Sponsored by: Klara, Inc.
Sponsored by: NetApp, Inc.
Reviewed by: kib, markj
Differential Revision: https://reviews.freebsd.org/D58313
Change sysdecode_nlm_flag() to decode Netlink message flags as a
bitmask instead of looking up a single flag value. This correctly
prints combinations of NLM_F_* flags while preserving any unknown
bits in hexadecimal.
Reported by: androvonx95 <[email protected]>
Reviewed by: kp
Signed-off-by: Ishan Agrawal <[email protected]>
Sponsored-by: Google LLC (GSoC 2026)
Replace <sysdecode.h> with "sysdecode.h" so local builds use the in-tree header
in lib/libsysdecode instead of a stale installed copy in /usr/include, avoiding
build failures after updating sysdecode.h.
Signed-off-by: Ishan Agrawal <[email protected]>
Sponsored-by: Google LLC (GSoC 2026)
Reviewed by: kp
Pull-Request: https://github.com/freebsd/freebsd-src/pull/2338
Introduce a generic Netlink attribute decoding framework based on
attribute decoder tables. The framework supports decoding primitive
attribute types as well as nested attributes and can be reused by
different Generic Netlink families.
Signed-off-by: Ishan Agrawal <[email protected]>
Sponsored-by: Google LLC (GSoC 2026)
Reviewed-by: kp
Pull-Request: https://github.com/freebsd/freebsd-src/pull/2337
This is the last remaining piece of GPL software in the base system.
The installer transitioned to bsddialog four years ago, and the last
remaining dialog consumer, dpv, was turned off more than two years ago.
Retire dpv, libdpv, libfigpar (used only by dpv), and dialog itself.
Reviewed by: dteske
Differential Revision: https://reviews.freebsd.org/D55424
While here, clean up and simplify the existing code.
MFC after: 1 week
Reviewed by: glebius, jhb
Differential Revision: https://reviews.freebsd.org/D57993
Decode the Generic Netlink command header for messages
belonging to the PF Generic Netlink family. Display the
command name using the PF Generic Netlink command decoder.
Signed-off-by: Ishan Agrawal <[email protected]>
Reviewed by: kp
Sponsored-by: Google LLC (GSoC 2026)
Record Generic Netlink family IDs learned from
CTRL_CMD_GETFAMILY responses and use them to decode subsequent
Generic Netlink messages using symbolic family names instead of
numeric IDs.
Signed-off-by: Ishan Agrawal <[email protected]>
Reviewed by: kp
Sponsored-by: Google LLC (GSoC 2026)
Decode Generic Netlink controller (GENL_ID_CTRL) messages in
Netlink payloads. Display the Generic Netlink header along with
the CTRL_CMD_GETFAMILY attributes, including the family ID and
family name.
Signed-off-by: Ishan Agrawal <[email protected]>
Reviewed by: kp
Sponsored-by: Google LLC (GSoC 2026)
Record the Netlink protocol associated with AF_NETLINK sockets when
they are created and pass it to libsysdecode during message decoding.
Use the protocol to distinguish between Generic Netlink and Route
Netlink sockets, ensuring that Generic Netlink decoding is only
performed for NETLINK_GENERIC sockets.
Signed-off-by: Ishan Agrawal <[email protected]>
Reviewed by: kp
Sponsored-by : Google LLC (GSoC 2026)
This is the last remaining piece of GPL software in the base system.
The installer transitioned to bsddialog four years ago, and the last
remaining dialog consumer, dpv, was turned off more than two years ago.
Retire dpv, libdpv, libfigpar (used only by dpv), and dialog itself.
(cherry picked from commit 73bb4a92985d747462d866248c1e7623f7ff1a7f)
Generate an nlm_flag table definition for mktable from
netlink/netlink.h, add a sysdecode_nlm_flag() helper to
libsysdecode, and use it when decoding netlink message headers.
This enables mktable to generate netlink message flag lookup tables and
replaces raw hexadecimal output for recognized NLM_F_* flag values
with their symbolic names.
Reviewed by: kp
Signed-off-by: Ishan Agrawal <[email protected]>
Sponsored by: Google LLC (GSoC 2026)
Pull Request: https://github.com/freebsd/freebsd-src/pull/2294
Convert PFNL_CMD values in pf_nl.h from an enum to #define constants,
add a pfnl_cmd table definition for mktable, and implement the
corresponding command decoding helpers in libsysdecode.
This allows mktable to generate PF netlink command lookup tables and
enables symbolic decoding of PF netlink commands.
Reviewed by: kp
Signed-off-by: Ishan Agrawal <[email protected]>
Sponsored by: Google LLC (GSoC 2026)
Netlink usage is growing in FreeBSD. This patch adds support to
`truss(1)` to decode Netlink headers in sendmsg/recvmsg calls, making
debugging network configuration tools significantly easier.
Changes:
libsysdecode: Add `sysdecode_netlink()` to parse struct `nlmsghdr`.
truss: Detect `AF_NETLINK` sockets and decode the message payload.
Reviewed by: kp
Signed-off-by: Ishan Agrawal <[email protected]>
Github PR: https://github.com/freebsd/freebsd-src/pull/1950
This change removes additional library files and tests orphaned in the
commit referenced below.
MFC with: 8b78d412a
Fixes: 8b78d412a ("zfs: world changes after 89f729dcc merge")
Since the initializer is used in other places where we can't just
replace it with a char-by-char initializer, this adds a macro for the
nonstring attribute (match the linuxkpi definition).
Reviewed by: emaste, jhb
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D52535
mkioctls should look at the same set of headers as mktables does.
MFC after: 1 week
Fixes: 139d114acc ("libsysdecode use MKTABLES_INCLUDEDIR")
Sponsored by: Klara, Inc.
Sponsored by: NetApp, Inc.
Reviewed by: sjg
Differential Revision: https://reviews.freebsd.org/D54106
Follow up upstream rename from blacklist to blocklist.
- Old names and rc scripts are still valid, but emitting an ugly warning
- Old firewall rules and anchor names should work, but emitting an ugly
warning
- Old MK_BLACKLIST* knobs are wired to the new ones
Although care has been taken not to break current configurations, this
is a large patch containing mostly duplicated code. If issues arise, it
will be swiftly reverted.
Reviewed by: ivy (pkgbase)
Approved by: emaste (mentor)
MFC after: 2 days
Relnotes: yes
The sysdecode_syscallname function was accidentally documented as being
plural. Move it to reflect it's actual name, and adjust all references.
PR: 278383
Reviewed by: ziaee
Differential Revision: https://reviews.freebsd.org/D51002
Match the "U" in RFSPAWN's value (1U<<31) (and "u" for completeness).
Reject kernel-only RFPPWAIT to avoid a duplicate entry.
Reviewed by: imp, markj
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D45597
We do not conflate SYSROOT with STAGE_ROOT/DESTDIR during
DIRDEPS_BUILD
Make sure mktables looks in the right place.
Reviewed by: stevek
Sponsored by: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D44415
TCP_USE_DDP is a kernel-only macro, so we must exclude it in
libsysdecode to avoid breaking the build.
Fixes: 3d0a736796 ("tcp: Add a new kernel-only TCP_USE_DDP [...]")
We'll use this in another change to read pollfd arrays coming from a
successful poll(2) operation.
Reviewed by: bapt, jhb
Differential Revision: https://reviews.freebsd.org/D44159
Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix