Everything in views, nothing in copies.
VBVX models on-wire packet headers as typed views over the original buffer. You only pay for what you read; no parsing pass allocates, copies, or owns memory.
Abstractions
Parses offsets and exposes header views and helper accessors (ether_type(), l3_offset(), l4_offset()).
Lightweight wrapper around const H* with a .copy() helper when a local value is needed.
Zero-copy chainable views for bitmask enums; opt-in via enable_bitmask_operators.
Packed header structs with compile-time checks for layout and alignment.
Coverage
Ethernet, VLAN, ARP.
IPv4 and IPv6, with extension-header awareness.
TCP, UDP, ICMP.
Segment Routing over IPv6 — SRH segment list and TLV parsing.
Engineering
Vendor it via add_subdirectory or pull with FetchContent.
Modern, constexpr-friendly, [[gnu::packed]] headers with alignof == 1.
On-wire fields stay network order; autoswap helpers convert to host order.
GoogleTest suites covering parsing branches and SRv6 edge cases.