summaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/route_api_types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vom/vom/route_api_types.cpp')
-rw-r--r--extras/vom/vom/route_api_types.cpp71
1 files changed, 64 insertions, 7 deletions
diff --git a/extras/vom/vom/route_api_types.cpp b/extras/vom/vom/route_api_types.cpp
index 31acc84b6fb..b6ab6381b12 100644
--- a/extras/vom/vom/route_api_types.cpp
+++ b/extras/vom/vom/route_api_types.cpp
@@ -123,11 +123,68 @@ from_api(const vapi_type_fib_path& p)
return (route::path(route::path::special_t::DROP));
};
+vapi_enum_ip_dscp
+to_api(const ip_dscp_t& d)
+{
+ return static_cast<vapi_enum_ip_dscp>((int)d);
+}
+const ip_dscp_t&
+from_api(vapi_enum_ip_dscp d)
+{
+ switch (d) {
+ case IP_API_DSCP_CS0:
+ return ip_dscp_t::DSCP_CS0;
+ case IP_API_DSCP_CS1:
+ return ip_dscp_t::DSCP_CS1;
+ case IP_API_DSCP_CS2:
+ return ip_dscp_t::DSCP_CS2;
+ case IP_API_DSCP_CS3:
+ return ip_dscp_t::DSCP_CS3;
+ case IP_API_DSCP_CS4:
+ return ip_dscp_t::DSCP_CS4;
+ case IP_API_DSCP_CS5:
+ return ip_dscp_t::DSCP_CS5;
+ case IP_API_DSCP_CS6:
+ return ip_dscp_t::DSCP_CS6;
+ case IP_API_DSCP_CS7:
+ return ip_dscp_t::DSCP_CS7;
+ case IP_API_DSCP_EF:
+ return ip_dscp_t::DSCP_EF;
+ case IP_API_DSCP_AF11:
+ return ip_dscp_t::DSCP_AF11;
+ case IP_API_DSCP_AF12:
+ return ip_dscp_t::DSCP_AF12;
+ case IP_API_DSCP_AF13:
+ return ip_dscp_t::DSCP_AF13;
+ case IP_API_DSCP_AF21:
+ return ip_dscp_t::DSCP_AF21;
+ case IP_API_DSCP_AF22:
+ return ip_dscp_t::DSCP_AF22;
+ case IP_API_DSCP_AF23:
+ return ip_dscp_t::DSCP_AF23;
+ case IP_API_DSCP_AF31:
+ return ip_dscp_t::DSCP_AF31;
+ case IP_API_DSCP_AF32:
+ return ip_dscp_t::DSCP_AF32;
+ case IP_API_DSCP_AF33:
+ return ip_dscp_t::DSCP_AF33;
+ case IP_API_DSCP_AF41:
+ return ip_dscp_t::DSCP_AF41;
+ case IP_API_DSCP_AF42:
+ return ip_dscp_t::DSCP_AF42;
+ case IP_API_DSCP_AF43:
+ return ip_dscp_t::DSCP_AF43;
+ }
+
+ return ip_dscp_t::DSCP_CS0;
+}
+
}; // namespace VOM
- /*
- * fd.io coding-style-patch-verification: ON
- *
- * Local Variables:
- * eval: (c-set-style "mozilla")
- * End:
- */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "mozilla")
+ * End:
+ */