diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-10 21:34:12 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-19 23:44:55 +0000 |
| commit | 60c0a075472cabd0ac7f54411f6a65626169984a (patch) | |
| tree | d467d82467309ce90b5a6e3af3830a2319fb64fd /apps/req.c | |
| parent | fdcb52d03688d92ba4962eea623292b0120e2293 (diff) | |
Modern Netlink arrays encode their elements as repeated attributes of
the same type rather than as children of an additional array container.
Add an SNL callback that parses one nested element for each occurrence
and appends it to a geometrically grown parser array. Retain the
existing parray callback for protocols that use the legacy container
form.
Store the growth capacity in struct snl_parray, appended after its
existing public count and items fields so their offsets remain stable
on LP64 and ILP32. Require parser targets to be real snl_parray
objects, and convert bitset, generic Netlink, and route multipath arrays
accordingly. This avoids relying on layout aliases for private growth
state.
Add regression coverage for a nested bit array that grows beyond its
initial allocation, while preserving replacement semantics when a
legacy array target is reused.
Reviewed by: melifaro, pouria
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D58775
Diffstat (limited to 'apps/req.c')
0 files changed, 0 insertions, 0 deletions
