16 #ifndef __VOM_GBP_SUBNET_H__ 17 #define __VOM_GBP_SUBNET_H__ 36 typedef std::pair<gbp_route_domain::key_t, route::prefix_t>
key_t;
62 type_t(
int v,
const std::string s);
100 const key_t
key()
const;
110 std::shared_ptr<gbp_subnet>
singular()
const;
115 static std::shared_ptr<gbp_subnet>
find(
const key_t& k);
120 static void dump(std::ostream& os);
150 void handle_replay();
155 void show(std::ostream& os);
176 static std::shared_ptr<gbp_subnet> find_or_add(
const gbp_subnet& temp);
201 const std::shared_ptr<gbp_route_domain> m_rd;
216 std::shared_ptr<gbp_recirc> m_recirc;
221 std::shared_ptr<gbp_endpoint_group> m_epg;
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.
std::shared_ptr< gbp_subnet > singular() const
Return the matching 'singular instance'.
static const type_t TRANSPORT
A transport subnet, sent via the RD's UU-fwd interface.
void replay(void)
replay the object to create it in hardware
static const type_t STITCHED_INTERNAL
Internal subnet is reachable through the source EPG's uplink interface.
static void dump(std::ostream &os)
Dump all bridge_domain-doamin into the stream provided.
static std::shared_ptr< gbp_subnet > find(const key_t &k)
Find the instnace of the bridge_domain domain in the OM.
A Database to store the unique 'singular' instances of a single object type.
A recirculation interface for GBP use pre/post NAT.
std::pair< gbp_route_domain::key_t, route::prefix_t > key_t
The key for a GBP subnet; table and prefix.
gbp_subnet(const gbp_route_domain &rd, const route::prefix_t &prefix, const type_t &type)
Construct an internal GBP subnet.
bool operator==(const enum_base &e) const
Comparison operator.
const key_t key() const
Return the object's key.
static const type_t STITCHED_EXTERNAL
External subnet requires NAT translation before egress.
A entry in the ARP termination table of a Bridge Domain.
Class definition for listeners to OM events.
inspect command handler Handler
void event_handler(void *tls_async)
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.
A base class for all object_base in the VPP object_base-Model.
std::ostream & operator<<(std::ostream &os, const std::pair< direction_t, interface::key_t > &key)
A entry in the ARP termination table of a Route Domain.
The VPP Object Model (VOM) library.
const std::string & to_string() const
convert to string format for debug purposes
static const type_t L3_OUT
A transport subnet, sent via the RD's UU-fwd interface.