diff options
Diffstat (limited to 'src/vpp-api/vom/route.hpp')
-rw-r--r-- | src/vpp-api/vom/route.hpp | 30 |
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; |