session: add session stats
[vpp.git] / src / vnet / mfib / mfib_api.c
index 1066a9d..170796b 100644 (file)
 #include <vnet/fib/fib_api.h>
 #include <vnet/ip/ip_types_api.h>
 
-#include <vnet/vnet_msg_enum.h>
-
-#define vl_typedefs            /* define message structures */
-#include <vnet/vnet_all_api_h.h>
-#undef vl_typedefs
-
-#define vl_endianfun           /* define message structures */
-#include <vnet/vnet_all_api_h.h>
-#undef vl_endianfun
-
-/* instantiate all the print functions we know about */
-#define vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__)
-#define vl_printfun
-#include <vnet/vnet_all_api_h.h>
-#undef vl_printfun
-
 static vl_api_mfib_itf_flags_t
 mfib_api_path_itf_flags_encode (mfib_itf_flags_t flags)
 {
@@ -92,6 +76,26 @@ mfib_api_path_itf_flags_decode (vl_api_mfib_itf_flags_t in,
         *out |= MFIB_ITF_FLAG_DONT_PRESERVE;
 }
 
+mfib_entry_flags_t
+mfib_api_path_entry_flags_decode (vl_api_mfib_entry_flags_t in)
+{
+    mfib_entry_flags_t out;
+
+    out = MFIB_ENTRY_FLAG_NONE;
+    in = clib_net_to_host_u32(in);
+
+    if (in & MFIB_API_ENTRY_FLAG_SIGNAL)
+        out |= MFIB_ENTRY_FLAG_SIGNAL;
+    if (in & MFIB_API_ENTRY_FLAG_DROP)
+        out |= MFIB_ENTRY_FLAG_DROP;
+    if (in & MFIB_API_ENTRY_FLAG_CONNECTED)
+        out |= MFIB_ENTRY_FLAG_CONNECTED;
+    if (in & MFIB_API_ENTRY_FLAG_ACCEPT_ALL_ITF)
+        out |= MFIB_ENTRY_FLAG_ACCEPT_ALL_ITF;
+
+    return (out);
+}
+
 int
 mfib_api_path_decode (vl_api_mfib_path_t *in,
                       fib_route_path_t *out)