aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/ip/ip_types_api.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-05-21 06:54:54 -0700
committerOle Trøan <otroan@employees.org>2019-06-04 10:32:46 +0000
commitb538dd868665009f9a3737610177342f88e3ba80 (patch)
tree2e2a1964e56a70e7c2584668b8f32017311e834c /src/vnet/ip/ip_types_api.c
parent0c6ac791dde099346af1752aa92d0eb05fc2db11 (diff)
Punt: specify packets by IP protocol Type
Change-Id: I0c2d6fccd95146e52bb88ca4a6e84554d5d6b2ed Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/ip/ip_types_api.c')
-rw-r--r--src/vnet/ip/ip_types_api.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/vnet/ip/ip_types_api.c b/src/vnet/ip/ip_types_api.c
index d84c1ff9126..fd8d24f36fe 100644
--- a/src/vnet/ip/ip_types_api.c
+++ b/src/vnet/ip/ip_types_api.c
@@ -65,16 +65,16 @@ ip_address_family_encode (ip_address_family_t af)
int
ip_proto_decode (int _ipp, ip_protocol_t * out)
{
- vl_api_ip_proto_t ipp = clib_host_to_net_u32 (_ipp);
+ ip_protocol_t ipp = clib_host_to_net_u32 (_ipp);
switch (ipp)
{
- case IP_API_PROTO_TCP:
- *out = IP_PROTOCOL_TCP;
- return (0);
- case IP_API_PROTO_UDP:
- *out = IP_PROTOCOL_UDP;
- return (0);
+#define ip_protocol(n,s) \
+ case IP_PROTOCOL_##s: \
+ *out = IP_PROTOCOL_##s; \
+ return (0);
+#include "protocols.def"
+#undef ip_protocol
}
return (-1);
}
@@ -84,12 +84,11 @@ ip_proto_encode (ip_protocol_t ipp)
{
switch (ipp)
{
- case IP_PROTOCOL_UDP:
- return (clib_host_to_net_u32 (IP_API_PROTO_UDP));
- case IP_PROTOCOL_TCP:
- return (clib_host_to_net_u32 (IP_API_PROTO_TCP));
- default:
- break;
+#define ip_protocol(n,s) \
+ case IP_PROTOCOL_##s: \
+ return (clib_host_to_net_u32 (IP_PROTOCOL_##s));
+#include "protocols.def"
+#undef ip_protocol
}
ASSERT (0);