llmx-rtaco 0.0.1
RTNL-only netlink control-plane library for Linux (C++23).
Loading...
Searching...
No Matches
llmx::rtaco::AddressEvent Struct Reference

#include <nl_address_event.hxx>

Public Types

enum class  Type : uint16_t { UNKNOWN = 0 , NEW_ADDRESS = RTM_NEWADDR , DELETE_ADDRESS = RTM_DELADDR }
enum class  Flags : uint32_t {
  NONE = 0 , SECONDARY = (1u << 0) , TEMPORARY = SECONDARY , NODAD = (1u << 1) ,
  OPTIMISTIC = (1u << 2) , DADFAILED = (1u << 3) , HOMEADDRESS = (1u << 4) , DEPRECATED = (1u << 5) ,
  TENTATIVE = (1u << 6) , PERMANENT = (1u << 7) , MANAGETEMPADDR = (1u << 8) , NOPREFIXROUTE = (1u << 9) ,
  MCAUTOJOIN = (1u << 10) , STABLE_PRIVACY = (1u << 11)
}

Static Public Member Functions

static auto from_nlmsghdr (const nlmsghdr &header) -> AddressEvent
 Construct an AddressEvent from a netlink message header.

Public Attributes

Type type {Type::UNKNOWN}
int index {0}
uint8_t prefix_len {0}
uint8_t scope {0}
Flags flags {Flags::NONE}
uint8_t family {0}
std::string address {}
std::string label {}

Member Enumeration Documentation

◆ Flags

enum class llmx::rtaco::AddressEvent::Flags : uint32_t
strong
Enumerator
NONE 
SECONDARY 
TEMPORARY 
NODAD 
OPTIMISTIC 
DADFAILED 
HOMEADDRESS 
DEPRECATED 
TENTATIVE 
PERMANENT 
MANAGETEMPADDR 
NOPREFIXROUTE 
MCAUTOJOIN 
STABLE_PRIVACY 

◆ Type

enum class llmx::rtaco::AddressEvent::Type : uint16_t
strong
Enumerator
UNKNOWN 
NEW_ADDRESS 
DELETE_ADDRESS 

Member Function Documentation

◆ from_nlmsghdr()

auto llmx::rtaco::AddressEvent::from_nlmsghdr ( const nlmsghdr & header) -> AddressEvent
static

Construct an AddressEvent from a netlink message header.

Parses the provided netlink message header and extracts address attributes into an AddressEvent structure.

Parameters
headerThe netlink message header to parse.
Returns
Parsed AddressEvent.

Member Data Documentation

◆ address

std::string llmx::rtaco::AddressEvent::address {}

◆ family

uint8_t llmx::rtaco::AddressEvent::family {0}

◆ flags

Flags llmx::rtaco::AddressEvent::flags {Flags::NONE}

◆ index

int llmx::rtaco::AddressEvent::index {0}

◆ label

std::string llmx::rtaco::AddressEvent::label {}

◆ prefix_len

uint8_t llmx::rtaco::AddressEvent::prefix_len {0}

◆ scope

uint8_t llmx::rtaco::AddressEvent::scope {0}

◆ type

Type llmx::rtaco::AddressEvent::type {Type::UNKNOWN}

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