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); \ 119 static const rc_t& from_vpp_retval(int32_t rv);
125 rc_t(
int v,
const std::string s);
217 static const ethertype_t& from_numeric_val(uint16_t numeric);
243 std::string to_string()
const;
248 bool operator==(
const handle_t& other)
const;
253 bool operator!=(
const handle_t& other)
const;
258 bool operator<(
const handle_t& other)
const;
268 uint32_t value()
const;
298 void to_bytes(uint8_t* array, uint8_t len)
const;
323 std::string to_string()
const;
343 void to_bytes(uint8_t* array, uint8_t len)
const;
368 std::string to_string()
const;
static const ethertype_t FCOE
Ethertype FCoE.
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.
virtual interfaces - those that depend on some real interface
Error codes that VPP will return during a HW write.
static const ethertype_t IPV6
Ethertype Ipv6.
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.
Type def of a L2 address as read from VPP.
static const l2_address_t ONE
An all 1's L2 address.
static const ethertype_t MAC_SECURITY
Ethertype MAC Security.
void to_bytes(const boost::asio::ip::address_v6 &addr, uint8_t *array)
static const ethertype_t IPV4
Ethertype IPv4.
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.
static const ethertype_t TRILL
Ethertype TRILL.
static const ethertype_t ARP
Ethertype Arp.
A type declaration of an interface handle in VPP.
struct mac_address_t_ mac_address_t
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.
static const ethertype_t UNSPECIFIED
Ethertype Unspecified.
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 ethertype_t MPLS_UNICAST
Ethertype MPLS unicast.
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