16 #ifndef __VOM_TYPES_H__ 17 #define __VOM_TYPES_H__ 22 #include <boost/asio/ip/address.hpp> 29 #define VAPI_CALL(_stmt) \ 34 } while (VAPI_OK != _rv); \ 121 static const rc_t& from_vpp_retval(int32_t rv);
127 rc_t(
int v,
const std::string s);
179 std::string to_string()
const;
184 bool operator==(
const handle_t& other)
const;
189 bool operator!=(
const handle_t& other)
const;
194 bool operator<(
const handle_t& other)
const;
204 uint32_t value()
const;
229 void to_bytes(uint8_t* array, uint8_t len)
const;
254 std::string to_string()
const;
274 void to_bytes(uint8_t* array, uint8_t len)
const;
299 std::string to_string()
const;
static const rc_t NOOP
The HW write/update action was/has not been attempted.
Global Configuration has no dependency.
A template base class for all enum types.
Error codes that VPP will return during a HW write.
static const l2_address_t ZERO
An all 0's L2 address.
static const direction_t INPUT
Permit Direction.
static const handle_t INVALID
A value of an interface handle_t that means the itf does not exist.
Tunnel or virtual interfaces next.
Type def of a L2 address as read from VPP.
static const l2_address_t ONE
An all 1's L2 address.
void to_bytes(const boost::asio::ip::address_v6 &addr, uint8_t *array)
static const mac_address_t ONE
An all 1's MAC address.
std::vector< uint8_t > bytes
Underlying bytes array - filled from least to most significant.
A type declaration of an interface handle in VPP.
Tables in which entries are added, e.g bridge/route-domains.
std::array< uint8_t, 6 > bytes
Underlying bytes array.
dependency_t
There needs to be a strict order in which object types are read from VPP (at boot time) and replayed ...
static const rc_t OK
The HW write was successfull.
std::ostream & operator<<(std::ostream &os, const std::pair< direction_t, interface::key_t > &key)
Then L2/objects that bind to interfaces, BD, ACLS, etc.
static const rc_t INVALID
HW write reported invalid input.
The VPP Object Model (VOM) library.
static const rc_t UNSET
The value un-set.
static const direction_t OUTPUT
Deny Direction.
Type def of a Ethernet address.
static const mac_address_t ZERO
An all 0's MAC address.
static const rc_t TIMEOUT
HW write timedout - VPP did not respond within a timely manner.
interfaces are the root of the dependency graph