summaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/vxlan_tunnel.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vom/vom/vxlan_tunnel.hpp')
-rw-r--r--extras/vom/vom/vxlan_tunnel.hpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/extras/vom/vom/vxlan_tunnel.hpp b/extras/vom/vom/vxlan_tunnel.hpp
index c085ba0b629..4c46e75a700 100644
--- a/extras/vom/vom/vxlan_tunnel.hpp
+++ b/extras/vom/vom/vxlan_tunnel.hpp
@@ -82,7 +82,8 @@ public:
{
~mode_t() = default;
const static mode_t STANDARD;
- const static mode_t GBP;
+ const static mode_t GBP_L2;
+ const static mode_t GBP_L3;
const static mode_t GPE;
private:
@@ -102,6 +103,11 @@ public:
uint32_t vni,
const interface& mcast_itf,
const mode_t& mode = mode_t::STANDARD);
+ vxlan_tunnel(const boost::asio::ip::address& src,
+ const boost::asio::ip::address& dst,
+ uint32_t vni,
+ const route_domain& rd,
+ const mode_t& mode = mode_t::STANDARD);
/*
* Destructor
@@ -227,6 +233,16 @@ private:
std::shared_ptr<interface> m_mcast_itf;
/**
+ * The RD an L3 interface is bound to
+ */
+ std::shared_ptr<const route_domain> m_rd;
+
+ /**
+ * HW state of the VPP table mapping
+ */
+ HW::item<route::table_id_t> m_table_id;
+
+ /**
* Construct a unique name for the tunnel
*/
static std::string mk_name(const boost::asio::ip::address& src,