summaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/api_types.cpp
diff options
context:
space:
mode:
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)
{