summaryrefslogtreecommitdiffstats
path: root/src/vnet/udp/udp.api
diff options
context:
space:
mode:
authorArthur de Kerhor <arthurdekerhor@gmail.com>2021-05-20 11:48:00 +0200
committerFlorin Coras <florin.coras@gmail.com>2021-05-29 18:13:01 +0000
commit8a6f5d394c69eba3bfaddfe36a93d1013cba3ce3 (patch)
tree4adb54d52b2f246fc7d2820fb959e63bbcae7de3 /src/vnet/udp/udp.api
parentb740fdc8ff7f58637524e999d5fe01b8b010810d (diff)
udp: add udp decapsulation
Possibility to register a port via CLI or API to decap incoming UDP packets: - For CLI, a user needs to specify the inner protocol (only MPLS supported for now) - For API, the protocol is specified by index Added unittests Type: feature Change-Id: Ifedd86d8db2e355b7618472554fd67d77a13a4aa Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Diffstat (limited to 'src/vnet/udp/udp.api')
-rw-r--r--src/vnet/udp/udp.api35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/vnet/udp/udp.api b/src/vnet/udp/udp.api
index 2cd2bd50272..02176be7c2b 100644
--- a/src/vnet/udp/udp.api
+++ b/src/vnet/udp/udp.api
@@ -45,6 +45,26 @@ typedef udp_encap
u32 id;
};
+enum udp_decap_next_proto
+{
+ UDP_API_DECAP_PROTO_IP4,
+ UDP_API_DECAP_PROTO_IP6,
+ UDP_API_DECAP_PROTO_MPLS,
+};
+
+/**
+ * @brief UDP Decap object
+ * @param is_ip4 - IPv4 if non-zero, else IPv6
+ * @param port - port to listen on for the decap
+ * @param next_proto - the protocol of the inner header
+ */
+typedef udp_decap
+{
+ u8 is_ip4;
+ u16 port;
+ vl_api_udp_decap_next_proto_t next_proto;
+};
+
/**
* @brief Add UDP encap
* @param client_index - opaque cookie to identify the sender
@@ -103,6 +123,21 @@ define udp_encap_details
vl_api_udp_encap_t udp_encap;
};
+/**
+ * @brief Add/Del UDP decap
+ * @param client_index - opaque cookie to identify the sender
+ * @param context - sender context, to match reply w/ request
+ * @param is_add - add decap if non-zero, else delete
+ * @param udp_decap - UDP decap description
+ */
+autoreply define udp_decap_add_del
+{
+ u32 client_index;
+ u32 context;
+ bool is_add;
+ vl_api_udp_decap_t udp_decap;
+};
+
/*
* Local Variables:
* eval: (c-set-style "gnu")