summaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/api_types.cpp
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-02-12 06:18:30 -0800
committerNeale Ranns <nranns@cisco.com>2019-02-13 09:06:44 +0000
commit6fef74ad3083f630648eae65545a0dd46af1102e (patch)
tree8b7ad67c063ae41ef7acfd15fa7f406198e6e7c7 /extras/vom/vom/api_types.cpp
parent22ad815d654294d77ccbb2b7286a73b544bf3f52 (diff)
VOM: neighbour API flags
Change-Id: Ia664cd4c77f1c5b4bc46c5e191bb57704b3ccc46 Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'extras/vom/vom/api_types.cpp')
-rw-r--r--extras/vom/vom/api_types.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/extras/vom/vom/api_types.cpp b/extras/vom/vom/api_types.cpp
index 486ebdacb6d..ea75d7fd8ee 100644
--- a/extras/vom/vom/api_types.cpp
+++ b/extras/vom/vom/api_types.cpp
@@ -17,6 +17,34 @@
namespace VOM {
+vapi_enum_ip_neighbor_flags
+to_api(const neighbour::flags_t& f)
+{
+ vapi_enum_ip_neighbor_flags out = IP_API_NEIGHBOR_FLAG_NONE;
+
+ if (f & neighbour::flags_t::STATIC)
+ out = static_cast<vapi_enum_ip_neighbor_flags>(out |
+ IP_API_NEIGHBOR_FLAG_STATIC);
+ if (f & neighbour::flags_t::NO_FIB_ENTRY)
+ out = static_cast<vapi_enum_ip_neighbor_flags>(
+ out | IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY);
+
+ return (out);
+}
+
+const neighbour::flags_t
+from_api(vapi_enum_ip_neighbor_flags f)
+{
+ neighbour::flags_t out = neighbour::flags_t::NONE;
+
+ if (f & IP_API_NEIGHBOR_FLAG_STATIC)
+ out |= neighbour::flags_t::STATIC;
+ if (f & IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY)
+ out |= neighbour::flags_t::NO_FIB_ENTRY;
+
+ return out;
+}
+
void
to_api(const boost::asio::ip::address_v4& a, vapi_type_ip4_address& v)
{