16 #ifndef __VOM_ROUTE_H__ 17 #define __VOM_ROUTE_H__ 94 flags_t(
int v,
const std::string& s);
105 path(
const boost::asio::ip::address&
nh,
114 const boost::asio::ip::address&
nh,
158 const boost::asio::ip::address&
nh()
const;
159 std::shared_ptr<route_domain>
rd()
const;
160 std::shared_ptr<interface>
itf()
const;
183 boost::asio::ip::address m_nh;
189 std::shared_ptr<route_domain> m_rd;
194 std::shared_ptr<interface> m_interface;
204 uint8_t m_preference;
215 std::ostream&
operator<<(std::ostream& os,
const path_list_t& path_list);
226 typedef std::pair<route::table_id_t, prefix_t>
key_t;
261 const key_t key()
const;
271 std::shared_ptr<ip_route> singular()
const;
286 static std::shared_ptr<ip_route> find(
const ip_route& temp);
291 static void dump(std::ostream& os);
306 static std::shared_ptr<ip_route> find(
const key_t& k);
316 virtual ~event_handler() =
default;
326 void handle_replay();
331 void show(std::ostream& os);
342 static event_handler m_evh;
347 static std::shared_ptr<ip_route> find_or_add(
const ip_route& temp);
377 std::shared_ptr<route_domain> m_rd;
nh_proto_t nh_proto() const
static const special_t STANDARD
A standard path type.
A template base class for all enum types.
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
A path for IP or MPLS routes.
std::shared_ptr< interface > itf() const
static const special_t LOCAL
A local/for-us/recieve.
static const special_t DROP
drop path
std::ostream & operator<<(std::ostream &os, const ip_route::key_t &key)
Types belonging to Routing.
static const special_t UNREACH
a path will return ICMP unreachables
std::shared_ptr< route_domain > rd() const
A Database to store the unique 'singular' instances of a single object type.
path(special_t special)
constructor for special paths
static const special_t PROHIBIT
a path will return ICMP prohibit
bool operator==(const enum_base &e) const
Comparison operator.
std::set< path > path_list_t
A path-list is a set of paths.
A representation of an interface in VPP.
Class definition for listeners to OM events.
static const flags_t DVR
A path that resolves via a DVR next-hop.
inspect command handler Handler
dependency_t
There needs to be a strict order in which object types are read from VPP (at boot time) and replayed ...
uint8_t preference() const
The interface to writing objects into VPP OM.
A base class for all object_base in the VPP object_base-Model.
const boost::asio::ip::address & nh() const
The VPP Object Model (VOM) library.
bool operator<(const path &p) const
Less than operator for set insertion.
special_t type() const
Getters.
const std::string & to_string() const
convert to string format for debug purposes
static const flags_t NONE
No flags.
std::pair< route::table_id_t, prefix_t > key_t
The key for a route.