|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __VOM_ROUTE_H__
17 #define __VOM_ROUTE_H__
159 std::shared_ptr<route_domain>
rd()
const;
160 std::shared_ptr<interface>
itf()
const;
189 std::shared_ptr<route_domain> m_rd;
194 std::shared_ptr<interface> m_interface;
204 uint8_t m_preference;
253 typedef std::pair<route::table_id_t, prefix_t>
key_t;
298 std::shared_ptr<ip_route>
singular()
const;
313 static std::shared_ptr<ip_route>
find(
const ip_route& temp);
318 static void dump(std::ostream& os);
333 static std::shared_ptr<ip_route>
find(
const key_t& k);
353 void handle_replay();
358 void show(std::ostream& os);
374 static std::shared_ptr<ip_route> find_or_add(
const ip_route& temp);
404 std::shared_ptr<route_domain> m_rd;
431 typedef std::pair<route::table_id_t, mprefix_t>
key_t;
466 std::shared_ptr<ip_mroute>
singular()
const;
471 static std::shared_ptr<ip_mroute>
find(
const ip_mroute& temp);
476 static void dump(std::ostream& os);
491 static std::shared_ptr<ip_mroute>
find(
const key_t& k);
513 void handle_replay();
518 void show(std::ostream& os);
534 static std::shared_ptr<ip_mroute> find_or_add(
const ip_mroute& temp);
564 std::shared_ptr<route_domain> m_rd;
const key_t key() const
Get the route's key.
const static special_t PROHIBIT
a path will return ICMP prohibit
The VPP Object Model (VOM) library.
dependency_t
There needs to be a strict order in which object types are read from VPP (at boot time) and replayed ...
The interface to writing objects into VPP OM.
std::set< path > path_list_t
A path-list is a set of paths.
const boost::asio::ip::address & nh() const
std::shared_ptr< route_domain > rd() const
inspect command handler Handler
const static itf_flags_t FORWARD
A local/for-us/recieve.
static std::shared_ptr< ip_route > find(const ip_route &temp)
Find the instnace of the route domain in the OM.
Class definition for listeners to OM events.
std::string to_string() const
convert to string format for debug purposes
vnet_hw_if_output_node_runtime_t * r
static void dump(std::ostream &os)
Dump all route-doamin into the stream provided.
bool operator==(const ip_route &i) const
Comparison operator.
const static itf_flags_t NONE
void replay(void)
replay the object to create it in hardware
std::shared_ptr< ip_route > singular() const
Return the matching 'singular instance'.
bool operator==(const path &p) const
comparison operator
bool operator==(const ip_mroute &i) const
Comparison operator.
void add(const path &path, const itf_flags_t &flag)
uint8_t preference() const
A template base class for all enum types.
A representation of an interface in VPP.
const typedef std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
special_t type() const
Getters.
bool operator<(const path &p) const
Less than operator for set insertion.
manual_print typedef address
std::pair< route::table_id_t, prefix_t > key_t
The key for a route.
void remove(const path &path)
remove a path.
std::ostream & operator<<(std::ostream &os, const ip_route::key_t &key)
const static flags_t DVR
A path that resolves via a DVR next-hop.
const static special_t STANDARD
A standard path type.
const static itf_flags_t ACCEPT
Path is accepting multicast traffic.
std::set< std::pair< path, itf_flags_t > > mpath_list_t
A mpath-list is a set of paths and interface flags.
const static special_t LOCAL
A local/for-us/recieve.
static std::shared_ptr< ip_mroute > find(const ip_mroute &temp)
Find the instnace of the route domain in the OM.
ip_route(const prefix_t &prefix)
Construct a route in the default table.
const static special_t DROP
drop path
std::string to_string() const
Convert to string for debugging.
std::string to_string() const
Convert to string for debugging.
Types belonging to Routing.
ip_mroute(const mprefix_t &mprefix)
Construct a route in the default table.
void add(const path &path)
Add a path.
const static special_t UNREACH
a path will return ICMP unreachables
nh_proto_t nh_proto() const
A Database to store the unique 'singular' instances of a single object type.
path(special_t special, const nh_proto_t &proto=nh_proto_t::IPV4)
constructor for special paths
A path for IP or MPLS routes.
std::shared_ptr< interface > itf() const
const static flags_t NONE
No flags.
const static nh_proto_t IPV4
void event_handler(void *tls_async)
const key_t key() const
Get the route's key.
void replay(void)
replay the object to create it in hardware
A base class for all object_base in the VPP object_base-Model.
std::pair< route::table_id_t, mprefix_t > key_t
The key for a route.
std::shared_ptr< ip_mroute > singular() const
Return the matching 'singular instance'.
static void dump(std::ostream &os)
Dump all route-doamin into the stream provided.