From 50f0ac0f097e5495da1f2b1816106e3d420ff34b Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Wed, 15 May 2019 02:13:37 -0700 Subject: Punt: socket register for exception dispatched/punted packets based on reason - add to the Punt API to allow different descriptions of the desired packets: UDP or exceptions - move the punt nodes into punt_node.c - improve tests (test that the correct packets are punted to the registered socket) Change-Id: I1a133dec88106874993cba1f5a439cd26b2fef72 Signed-off-by: Neale Ranns --- src/vnet/ip/ip_types_api.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/vnet/ip/ip_types_api.h') diff --git a/src/vnet/ip/ip_types_api.h b/src/vnet/ip/ip_types_api.h index a67134c9a86..4c79bf138e3 100644 --- a/src/vnet/ip/ip_types_api.h +++ b/src/vnet/ip/ip_types_api.h @@ -33,6 +33,18 @@ struct _vl_api_address; struct _vl_api_prefix; struct _vl_api_mprefix; +/** + * These enum decode/encodes use 'int' as the type for the enum becuase + * one cannot forward declare an enum + */ +extern int ip_address_family_decode (int _af, ip_address_family_t * out); +extern int ip_address_family_encode (ip_address_family_t af); +extern int ip_proto_decode (int _af, ip_protocol_t * out); +extern int ip_proto_encode (ip_protocol_t af); + +/** + * Decode/Encode for struct/union types + */ extern ip46_type_t ip_address_decode (const struct _vl_api_address *in, ip46_address_t * out); extern void ip_address_encode (const ip46_address_t * in, -- cgit 1.2.3-korg