VPP-1506: dump local punts and registered punt sockets
[vpp.git] / src / vnet / fib / fib_api.c
index eca5e61..d46b9e2 100644 (file)
@@ -49,7 +49,7 @@ fib_path_api_parse (const vl_api_fib_path_t *in,
 
     path_flags = FIB_ROUTE_PATH_FLAG_NONE;
     next_hop_via_label = ntohl (in->via_label);
-    memset(out, 0, sizeof(*out));
+    clib_memset(out, 0, sizeof(*out));
     out->frp_sw_if_index = ~0;
 
     out->frp_proto = in->afi;
@@ -207,7 +207,7 @@ void
 fib_api_path_encode (const fib_route_path_encode_t * api_rpath,
                      vl_api_fib_path_t *out)
 {
-    memset (out, 0, sizeof (*out));
+    clib_memset (out, 0, sizeof (*out));
     switch (api_rpath->dpo.dpoi_type)
     {
     case DPO_RECEIVE:
@@ -266,3 +266,34 @@ fib_api_path_encode (const fib_route_path_encode_t * api_rpath,
     }
 }
 
+fib_protocol_t
+fib_proto_from_api_address_family (int af)
+{
+    switch (clib_net_to_host_u32 (af))
+    {
+    case ADDRESS_IP4:
+        return (FIB_PROTOCOL_IP4);
+    case ADDRESS_IP6:
+        return (FIB_PROTOCOL_IP6);
+    }
+
+    ASSERT(0);
+    return (FIB_PROTOCOL_IP4);
+}
+
+int
+fib_proto_to_api_address_family (fib_protocol_t fproto)
+{
+    switch (fproto)
+    {
+    case FIB_PROTOCOL_IP4:
+        return (clib_net_to_host_u32 (ADDRESS_IP4));
+    case FIB_PROTOCOL_IP6:
+        return (clib_net_to_host_u32 (ADDRESS_IP6));
+    default:
+        break;
+    }
+
+    ASSERT(0);
+    return (clib_net_to_host_u32 (ADDRESS_IP4));
+}