|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __VOM_IGMP_LISTEN_H__
17 #define __VOM_IGMP_LISTEN_H__
39 typedef std::pair<interface::key_t, boost::asio::ip::address>
key_t;
45 const boost::asio::ip::address_v4&
gaddr,
48 const boost::asio::ip::address_v4&
gaddr);
74 std::shared_ptr<igmp_listen>
singular()
const;
84 static void dump(std::ostream& os);
89 static std::shared_ptr<igmp_listen>
find(
const key_t& k);
109 void handle_replay();
114 void show(std::ostream& os);
135 static std::shared_ptr<igmp_listen> find_or_add(
const igmp_listen& temp);
162 const std::shared_ptr<igmp_binding> m_igmp_bind;
167 const boost::asio::ip::address_v4 m_gaddr;
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.
inspect command handler Handler
Class definition for listeners to OM events.
A representation of igmp configuration on an interface.
std::shared_ptr< igmp_listen > singular() const
Return the 'singular instance' of the IGMP that matches this object.
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 std::shared_ptr< igmp_listen > find(const key_t &k)
Find a listen from its key.
std::ostream & operator<<(std::ostream &os, const std::pair< direction_t, interface::key_t > &key)
static void dump(std::ostream &os)
Dump all igmp_listens into the stream provided.
igmp_listen(const igmp_binding &igmp_bind, const boost::asio::ip::address_v4 &gaddr, const src_addrs_t &saddrs)
Construct a new object matching the desried state.
vl_api_ip4_address_t saddrs[n_srcs]
std::set< boost::asio::ip::address_v4 > src_addrs_t
A representation of IGMP binding on an interface.
bool operator==(const igmp_listen &l) const
Comparison operator.
vl_api_ip4_address_t gaddr
std::string to_string() const
convert to string format for debug purposes
std::pair< interface::key_t, boost::asio::ip::address > key_t
The key type for igmp_listens.
A Database to store the unique 'singular' instances of a single object type.
~igmp_listen()
Destructor.
const key_t key() const
Get the object's key.
void event_handler(void *tls_async)
A base class for all object_base in the VPP object_base-Model.