*/
const static type_t TRANSPORT;
+ /**
+ * A L3-out subnet
+ */
+ const static type_t L3_OUT;
+
+ /**
+ * An anonymous L3-out subnet
+ */
+ const static type_t ANON_L3_OUT;
+
private:
type_t(int v, const std::string s);
};
/**
- * Construct an internal GBP subnet
- */
+ * Construct an internal GBP subnet
+ */
gbp_subnet(const gbp_route_domain& rd,
const route::prefix_t& prefix,
const type_t& type);
/**
- * Construct an external GBP subnet
+ * Construct an stitched external GBP subnet
*/
gbp_subnet(const gbp_route_domain& rd,
const route::prefix_t& prefix,
const gbp_recirc& recirc,
const gbp_endpoint_group& epg);
+ /**
+ * Construct an l3-out GBP subnet
+ */
+ gbp_subnet(const gbp_route_domain& rd,
+ const route::prefix_t& prefix,
+ sclass_t sclass,
+ const type_t& type = type_t::L3_OUT);
+
/**
* Copy Construct
*/
*/
std::shared_ptr<gbp_endpoint_group> m_epg;
+ /**
+ * Sclass for l3-out subnets
+ */
+ sclass_t m_sclass;
+
/**
* A map of all bridge_domains
*/