VBVX 0.1.0
Header-only C++23 library for safe, zero-copy parsing of packet buffers.
Loading...
Searching...
No Matches
vbvx::IPv6Header Struct Reference

IPv6 header (40 bytes). More...

#include <ip6_header.hxx>

Public Member Functions

constexpr auto ver_tc_flow_host () const noexcept -> uint32_t
constexpr auto version () const noexcept -> uint8_t
constexpr auto traffic_class () const noexcept -> uint8_t
constexpr auto flow_label () const noexcept -> uint32_t
constexpr auto payload_length () const noexcept -> uint16_t
constexpr auto l4_protocol () const noexcept -> IpProtocol
constexpr auto src_bytes () const noexcept -> std::span< const uint8_t, 16 >
constexpr auto dst_bytes () const noexcept -> std::span< const uint8_t, 16 >

Public Attributes

uint32_t ver_tc_flow_be
uint16_t payload_length_be
uint8_t next_header
uint8_t hop_limit
uint8_t src_addr [16]
uint8_t dst_addr [16]

Detailed Description

IPv6 header (40 bytes).

See also
IANA IPv6 Parameters: https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml
IETF RFC 8200 (Internet Protocol, Version 6 (IPv6) Specification): https://datatracker.ietf.org/doc/html/rfc8200

Member Function Documentation

◆ dst_bytes()

auto vbvx::IPv6Header::dst_bytes ( ) const -> std::span< const uint8_t, 16 >
inlineconstexprnoexcept

◆ flow_label()

auto vbvx::IPv6Header::flow_label ( ) const -> uint32_t
inlineconstexprnoexcept

◆ l4_protocol()

auto vbvx::IPv6Header::l4_protocol ( ) const -> IpProtocol
inlineconstexprnoexcept

◆ payload_length()

auto vbvx::IPv6Header::payload_length ( ) const -> uint16_t
inlineconstexprnoexcept

◆ src_bytes()

auto vbvx::IPv6Header::src_bytes ( ) const -> std::span< const uint8_t, 16 >
inlineconstexprnoexcept

◆ traffic_class()

auto vbvx::IPv6Header::traffic_class ( ) const -> uint8_t
inlineconstexprnoexcept

◆ ver_tc_flow_host()

auto vbvx::IPv6Header::ver_tc_flow_host ( ) const -> uint32_t
inlineconstexprnoexcept

◆ version()

auto vbvx::IPv6Header::version ( ) const -> uint8_t
inlineconstexprnoexcept

Member Data Documentation

◆ dst_addr

uint8_t vbvx::IPv6Header::dst_addr[16]

◆ hop_limit

uint8_t vbvx::IPv6Header::hop_limit

◆ next_header

uint8_t vbvx::IPv6Header::next_header

◆ payload_length_be

uint16_t vbvx::IPv6Header::payload_length_be

◆ src_addr

uint8_t vbvx::IPv6Header::src_addr[16]

◆ ver_tc_flow_be

uint32_t vbvx::IPv6Header::ver_tc_flow_be

The documentation for this struct was generated from the following file: