summaryrefslogtreecommitdiffstats
path: root/src/vnet/ip/ip_types_api.h
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-05-15 02:13:37 -0700
committerOle Trøan <otroan@employees.org>2019-05-28 13:30:44 +0000
commit50f0ac0f097e5495da1f2b1816106e3d420ff34b (patch)
treed10ae0385fc10b7da97b2a24f8dea3882f6d702d /src/vnet/ip/ip_types_api.h
parent9080096f7c548415fc4d5354c7e582a3eda1a5ed (diff)
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 <nranns@cisco.com>
Diffstat (limited to 'src/vnet/ip/ip_types_api.h')
-rw-r--r--src/vnet/ip/ip_types_api.h12
1 files changed, 12 insertions, 0 deletions
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,