19 namespace gbp_endpoint_group_cmds {
34 , m_retention(retention)
41 return ((m_itf == other.m_itf) && (m_bd_id == other.m_bd_id) &&
42 (m_rd_id == other.m_rd_id) && (m_vnid == other.m_vnid) &&
43 (m_retention == other.m_retention));
49 msg_t req(con.
ctx(), std::ref(*
this));
51 auto& payload = req.get_request().get_payload();
52 payload.epg.uplink_sw_if_index = m_itf.
value();
53 payload.epg.vnid = m_vnid;
54 payload.epg.sclass = m_sclass;
55 payload.epg.bd_id = m_bd_id;
56 payload.epg.rd_id = m_rd_id;
69 <<
" vnid:" << m_vnid <<
" bd-id:" << m_bd_id <<
" rd-id:" << m_rd_id
84 return (m_sclass == other.m_sclass);
90 msg_t req(con.
ctx(), std::ref(*
this));
92 auto& payload = req.get_request().get_payload();
93 payload.sclass = m_sclass;
103 std::ostringstream s;
105 <<
" sclass:" << m_sclass;
123 m_dump.reset(
new msg_t(con.
ctx(), std::ref(*
this)));
135 return (
"gbp-endpoint-group-dump");
bool operator==(const create_cmd &i) const
Comparison operator - only used for UT.
uint32_t table_id_t
type def the table-id
bool operator==(const delete_cmd &i) const
Comparison operator - only used for UT.
uint32_t value() const
get the value of the handle
rc_t issue(connection &con)
Issue the command to VPP/HW.
A cmd class that deletes a GBP endpoint_group.
Endpoint Retention Policy Settings.
rc_t issue(connection &con)
Issue the command to VPP/HW.
Error codes that VPP will return during a HW write.
uint32_t remote_ep_timeout
Remote Endpoint timeout/ageing.
std::string to_string() const
convert to string format for debug purposes
rc_t wait()
Wait on the commands promise.
std::string to_string() const
convert to string format for debug purposes
A cmd class that Dumps all the GBP endpoint_groups.
A representation of the connection to VPP.
std::string to_string() const
convert to string format for debug purposes
A base class for all RPC commands to VPP.
#define VAPI_CALL(_stmt)
Convenince wrapper macro for error handling in VAPI sends.
delete_cmd(HW::item< bool > &item, sclass_t sclass)
Constructor.
std::string to_string() const
convert to string format for debug purposes
vl_api_gbp_endpoint_retention_t retention
A type declaration of an interface handle in VPP.
static const rc_t OK
The HW write was successfull.
vapi::Connection & ctx()
Retrun the VAPI context the commands will use.
create_cmd(HW::item< bool > &item, vnid_t vnid, uint16_t sclass, uint32_t bd_id, route::table_id_t rd_id, const gbp_endpoint_group::retention_t &retention, const handle_t &itf)
Constructor.
The VPP Object Model (VOM) library.
uint32_t vnid_t
EPG IDs are 32 bit integers.
HW::item< bool > & m_hw_item
A reference to an object's HW::item that the command will update.
rc_t issue(connection &con)
Issue the command to VPP/HW.
HW::item< bool > & item()
return the HW item the command updates
vapi::Gbp_endpoint_group_add msg_t
convenient typedef
bool operator==(const dump_cmd &i) const
Comparison operator - only used for UT.
A command class that creates or updates the GBP endpoint_group.