X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Fneighbour.hpp;h=4e074bf7f45391cdad4065001dcced6800cc66d7;hb=6fef74ad3083f630648eae65545a0dd46af1102e;hp=500f03d0a61dd3635c431b25256dac162f57c786;hpb=22ad815d654294d77ccbb2b7286a73b544bf3f52;p=vpp.git diff --git a/extras/vom/vom/neighbour.hpp b/extras/vom/vom/neighbour.hpp index 500f03d0a61..4e074bf7f45 100644 --- a/extras/vom/vom/neighbour.hpp +++ b/extras/vom/vom/neighbour.hpp @@ -27,6 +27,30 @@ namespace VOM { class neighbour : public object_base { public: + struct flags_t : public enum_base + { + /** + * Constructor + */ + flags_t(int v, const std::string s); + + /** + * Destructor + */ + ~flags_t() = default; + + flags_t operator|(const flags_t& e1) const + { + flags_t e = *this; + e |= e1; + return e; + } + + const static flags_t NONE; + const static flags_t STATIC; + const static flags_t NO_FIB_ENTRY; + }; + /** * The key for a neighbour entry; * the interface and IP address @@ -38,7 +62,8 @@ public: */ neighbour(const interface& itf, const boost::asio::ip::address& ip_addr, - const mac_address_t& mac); + const mac_address_t& mac, + const flags_t flags = flags_t::STATIC); /** * Copy Construct @@ -173,6 +198,11 @@ private: */ mac_address_t m_mac; + /** + * flags on the entry + */ + flags_t m_flags; + /** * A map of all bridge_domains */