X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fpunt_api.c;fp=src%2Fvnet%2Fip%2Fpunt_api.c;h=b356886a56f9a2d2e2af4d191dc8f3db75ff612a;hb=b538dd868665009f9a3737610177342f88e3ba80;hp=95fff714b46d89d013f17dc73a2e8e9414ba7b5a;hpb=0c6ac791dde099346af1752aa92d0eb05fc2db11;p=vpp.git diff --git a/src/vnet/ip/punt_api.c b/src/vnet/ip/punt_api.c index 95fff714b46..b356886a56f 100644 --- a/src/vnet/ip/punt_api.c +++ b/src/vnet/ip/punt_api.c @@ -95,6 +95,18 @@ vl_api_punt_l4_decode (const vl_api_punt_l4_t * in, punt_l4_t * out) return (rv); } +static int +vl_api_punt_ip_proto_decode (const vl_api_punt_ip_proto_t * in, + punt_ip_proto_t * out) +{ + int rv; + + rv = ip_address_family_decode (in->af, &out->af); + rv += ip_proto_decode (in->protocol, &out->protocol); + + return (rv); +} + static int vl_api_punt_exception_decode (const vl_api_punt_exception_t * in, punt_exception_t * out) @@ -124,6 +136,9 @@ vl_api_punt_decode (const vl_api_punt_t * in, punt_reg_t * out) case PUNT_TYPE_EXCEPTION: return (vl_api_punt_exception_decode (&in->punt.exception, &out->punt.exception)); + case PUNT_TYPE_IP_PROTO: + return (vl_api_punt_ip_proto_decode (&in->punt.ip_proto, + &out->punt.ip_proto)); } return (-1); @@ -137,6 +152,14 @@ vl_api_punt_l4_encode (const punt_l4_t * in, vl_api_punt_l4_t * out) out->port = clib_net_to_host_u16 (in->port); } +static void +vl_api_punt_ip_proto_encode (const punt_ip_proto_t * in, + vl_api_punt_ip_proto_t * out) +{ + out->af = ip_address_family_encode (in->af); + out->protocol = ip_proto_encode (in->protocol); +} + static void vl_api_punt_exception_encode (const punt_exception_t * in, vl_api_punt_exception_t * out) @@ -154,6 +177,9 @@ vl_api_punt_encode (const punt_reg_t * in, vl_api_punt_t * out) case PUNT_TYPE_L4: vl_api_punt_l4_encode (&in->punt.l4, &out->punt.l4); break; + case PUNT_TYPE_IP_PROTO: + vl_api_punt_ip_proto_encode (&in->punt.ip_proto, &out->punt.ip_proto); + break; case PUNT_TYPE_EXCEPTION: vl_api_punt_exception_encode (&in->punt.exception, &out->punt.exception);