X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip_types_api.c;h=d201d387f02169b1a6ba6f65a74b8520c4ca86f8;hb=23a386b71b287bc95000a8980856c5dbe7cdaf5a;hp=2e92e72377292483d8d0ece2f5614340db0599b3;hpb=d26b8607c9f9a4385bf7af0a01b1a42efaed5053;p=vpp.git diff --git a/src/vnet/ip/ip_types_api.c b/src/vnet/ip/ip_types_api.c index 2e92e723772..d201d387f02 100644 --- a/src/vnet/ip/ip_types_api.c +++ b/src/vnet/ip/ip_types_api.c @@ -253,8 +253,24 @@ void ip_prefix_encode (const fib_prefix_t * in, vl_api_prefix_t * out) { out->len = in->fp_len; - ip_address_encode (&in->fp_addr, - fib_proto_to_ip46 (in->fp_proto), &out->address); + ip46_type_t ip46_type; + + switch (in->fp_proto) + { + case FIB_PROTOCOL_IP4: + ip46_type = (IP46_TYPE_IP4); + break; + case FIB_PROTOCOL_IP6: + ip46_type = (IP46_TYPE_IP6); + break; + case FIB_PROTOCOL_MPLS: + ip46_type = (IP46_TYPE_ANY); + break; + default: + ip46_type = (IP46_TYPE_ANY); + } + + ip_address_encode (&in->fp_addr, ip46_type, &out->address); } void