|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __VOM_L3_BINDING_H__
17 #define __VOM_L3_BINDING_H__
36 typedef std::pair<interface::key_t, route::prefix_t>
key_t;
75 std::shared_ptr<l3_binding>
singular()
const;
95 static void dump(std::ostream& os);
100 static std::shared_ptr<l3_binding>
find(
const key_t& k);
120 void handle_replay();
125 void show(std::ostream& os);
146 static std::shared_ptr<l3_binding> find_or_add(
const l3_binding& temp);
175 const std::shared_ptr<interface> m_itf;
bool operator==(const l3_binding &l) const
Comparison operator.
static const_iterator_t cbegin()
static std::shared_ptr< l3_binding > find(const key_t &k)
Find a binding from its key.
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 ...
static const_iterator_t cend()
The interface to writing objects into VPP OM.
inspect command handler Handler
const interface & itf() const
Return the interface associated with this L3 binding.
Class definition for listeners to OM events.
std::map< KEY, std::weak_ptr< OBJ > >::const_iterator const_iterator
Iterator.
std::string to_string() const
convert to string format for debug purposes
const key_t key() const
Get the object's key.
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.
static void dump(std::ostream &os)
Dump all l3_bindings into the stream provided.
std::pair< interface::key_t, route::prefix_t > key_t
The key type for l3_bindings.
std::ostream & operator<<(std::ostream &os, const std::pair< direction_t, interface::key_t > &key)
l3_binding(const interface &itf, const route::prefix_t &pfx)
Construct a new object matching the desried state.
std::shared_ptr< l3_binding > singular() const
Return the 'singular instance' of the L3-Config that matches this object.
A Database to store the unique 'singular' instances of a single object type.
singular_db< key_t, l3_binding >::const_iterator const_iterator_t
The iterator type.
void event_handler(void *tls_async)
A representation of L3 configuration on an interface.
A base class for all object_base in the VPP object_base-Model.
const route::prefix_t & prefix() const
Return the prefix associated with this L3 binding.