X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ffib%2Ffib_types.c;h=dcb1c3a659c43f059ccb017682bc828f25fd1a82;hb=ea96e92361b483962fd2a6b027cedc02f3bb6f93;hp=3ac5c1d11837943e5543d89c0f8c5ee8982f8ea1;hpb=320dfcf2aa8f4617b51a2bb15f3d0f93ee62d4dc;p=vpp.git diff --git a/src/vnet/fib/fib_types.c b/src/vnet/fib/fib_types.c index 3ac5c1d1183..dcb1c3a659c 100644 --- a/src/vnet/fib/fib_types.c +++ b/src/vnet/fib/fib_types.c @@ -89,6 +89,7 @@ fib_prefix_from_ip46_addr (const ip46_address_t *addr, pfx->fp_len = ((ip46_address_is_ip4(addr) ? 32 : 128)); pfx->fp_addr = *addr; + pfx->___fp___pad = 0; } void @@ -100,13 +101,14 @@ fib_prefix_from_mpls_label (mpls_label_t label, pfx->fp_len = 21; pfx->fp_label = label; pfx->fp_eos = eos; + pfx->___fp___pad = 0; } void fib_prefix_copy (fib_prefix_t *dst, const fib_prefix_t *src) { - memcpy(dst, src, sizeof(*dst)); + clib_memcpy(dst, src, sizeof(*dst)); } int @@ -166,6 +168,21 @@ fib_prefix_is_cover (const fib_prefix_t *p1, return (0); } +u8 +fib_prefix_get_host_length (fib_protocol_t proto) +{ + switch (proto) + { + case FIB_PROTOCOL_IP4: + return (32); + case FIB_PROTOCOL_IP6: + return (128); + case FIB_PROTOCOL_MPLS: + return (21); + } + return (0); +} + int fib_prefix_is_host (const fib_prefix_t *prefix) {