X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip_types_api.c;h=7a9d4d6446a86b949e1625b315a5ed2ad4168adf;hb=af1ddd39f1f5fa6a00e70356bac2b0bd38f76566;hp=98fb5280493ea936128128a9ab66914c568c9e24;hpb=7dd63e5cc1b48adc4f912778ba79d67c71f94b83;p=vpp.git diff --git a/src/vnet/ip/ip_types_api.c b/src/vnet/ip/ip_types_api.c index 98fb5280493..7a9d4d6446a 100644 --- a/src/vnet/ip/ip_types_api.c +++ b/src/vnet/ip/ip_types_api.c @@ -16,20 +16,6 @@ #include #include -#define vl_typedefs /* define message structures */ -#include -#undef vl_typedefs - -#define vl_endianfun /* define message structures */ -#include -#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 -#undef vl_printfun - int ip_address_family_decode (vl_api_address_family_t af, ip_address_family_t * out) @@ -107,6 +93,32 @@ ip_dscp_encode (ip_dscp_t dscp) return ((vl_api_ip_dscp_t) dscp); } +int +ip_feature_location_decode (vl_api_ip_feature_location_t loc, + ip_feature_location_t * out) +{ + /* Not all feature_locationcol are defined in vl_api_ip_feature_location_t + * so we must cast to a different type. + */ + switch (loc) + { +#define _(n,s) \ + case IP_API_FEATURE_##n: \ + *out = IP_FEATURE_##n; \ + return (0); + foreach_ip_feature_location +#undef _ + } + return (VNET_API_ERROR_FEATURE_DISABLED); +} + +vl_api_ip_feature_location_t +ip_feature_location_encode (ip_feature_location_t loc) +{ + return ((vl_api_ip_feature_location_t) (loc)); +} + + void ip6_address_encode (const ip6_address_t * in, vl_api_ip6_address_t out) { @@ -292,7 +304,6 @@ void ip_mprefix_encode (const mfib_prefix_t * in, vl_api_mprefix_t * out) { out->af = (FIB_PROTOCOL_IP6 == in->fp_proto ? ADDRESS_IP6 : ADDRESS_IP4); - out->af = out->af; out->grp_address_length = clib_host_to_net_u16 (in->fp_len); ip_address_union_encode (&in->fp_grp_addr, out->af, &out->grp_address);