16 #ifndef __VOM_ROUTE_H__ 17 #define __VOM_ROUTE_H__ 82 path(
const boost::asio::ip::address&
nh,
91 const boost::asio::ip::address&
nh,
133 const boost::asio::ip::address&
nh()
const;
134 std::shared_ptr<route_domain>
rd()
const;
135 std::shared_ptr<interface>
itf()
const;
153 boost::asio::ip::address m_nh;
159 std::shared_ptr<route_domain> m_rd;
164 std::shared_ptr<interface> m_interface;
174 uint8_t m_preference;
185 std::ostream&
operator<<(std::ostream& os,
const path_list_t& path_list);
196 typedef std::pair<route::table_id_t, prefix_t>
key_t;
231 const key_t key()
const;
241 std::shared_ptr<ip_route> singular()
const;
256 static std::shared_ptr<ip_route> find(
const ip_route& temp);
261 static void dump(std::ostream& os);
276 static std::shared_ptr<ip_route> find(
const key_t& k);
286 virtual ~event_handler() =
default;
296 void handle_replay();
301 void show(std::ostream& os);
312 static event_handler m_evh;
317 static std::shared_ptr<ip_route> find_or_add(
const ip_route& temp);
347 std::shared_ptr<route_domain> m_rd;
nh_proto_t nh_proto() const
sll srl srl sll sra u16x4 i
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)
A next-hop protocol describes the protocol of a peer to which packets are sent after matching a route...
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.
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
std::pair< route::table_id_t, prefix_t > key_t
The key for a route.