aboutsummaryrefslogtreecommitdiffstats
path: root/src/vpp-api/vom/route.hpp
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2018-01-03 04:18:48 -0800
committerOle Trøan <otroan@employees.org>2018-01-09 16:38:19 +0000
commitf068c3ed296c49dfbfe17677fc1ad2428fb4e3e4 (patch)
treeeef3c7c502b68ccdff9c5d80d04850465e25ef01 /src/vpp-api/vom/route.hpp
parent0e8cb6c475b616a3296b08d25bcaa1eed3ab0084 (diff)
DVR: run L3 output features
- rename l2_bridged to is_dvr. Including on the ip.api this was new in the 18.01 release so no compatability issues. - steal the free space in vnet_buffer_opaque_t for use with flags. - run the ipX-output feature arc from the DVR DPO Change-Id: I040e5976d1dbe076fcdda3a40a7804f56337ce3f Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vpp-api/vom/route.hpp')
-rw-r--r--src/vpp-api/vom/route.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/vpp-api/vom/route.hpp b/src/vpp-api/vom/route.hpp
index 2fb855a13eb..65797b7c2f9 100644
--- a/src/vpp-api/vom/route.hpp
+++ b/src/vpp-api/vom/route.hpp
@@ -72,6 +72,29 @@ public:
};
/**
+ * Path flags
+ */
+ class flags_t : public enum_base<flags_t>
+ {
+ public:
+ /**
+ * No flags
+ */
+ const static flags_t NONE;
+
+ /**
+ * A path that resolves via a DVR next-hop
+ */
+ const static flags_t DVR;
+
+ private:
+ /**
+ * Private constructor taking the value and the string name
+ */
+ flags_t(int v, const std::string& s);
+ };
+
+ /**
* constructor for special paths
*/
path(special_t special);
@@ -97,6 +120,7 @@ public:
*/
path(const interface& interface,
const nh_proto_t& proto,
+ const flags_t& flags = flags_t::NONE,
uint8_t weight = 1,
uint8_t preference = 0);
@@ -130,6 +154,7 @@ public:
*/
special_t type() const;
nh_proto_t nh_proto() const;
+ flags_t flags() const;
const boost::asio::ip::address& nh() const;
std::shared_ptr<route_domain> rd() const;
std::shared_ptr<interface> itf() const;
@@ -148,6 +173,11 @@ private:
nh_proto_t m_nh_proto;
/**
+ * Flags for the path
+ */
+ flags_t m_flags;
+
+ /**
* The next-hop
*/
boost::asio::ip::address m_nh;