From d0df49f26eabf2f534b567f3370e50c4e804aeea Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Wed, 8 Aug 2018 01:06:40 -0700 Subject: Use IP address types on UDP encap API Change-Id: I3c714c519b6d0009329b50947ce250c18ee2a85a Signed-off-by: Neale Ranns --- src/vnet/udp/udp.api | 83 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 56 insertions(+), 27 deletions(-) (limited to 'src/vnet/udp/udp.api') diff --git a/src/vnet/udp/udp.api b/src/vnet/udp/udp.api index 9f5e2ece6ba..8788fba162d 100644 --- a/src/vnet/udp/udp.api +++ b/src/vnet/udp/udp.api @@ -1,5 +1,6 @@ +/* Hey Emacs use -*- mode: C -*- */ /* - * Copyright (c) 2016 Cisco and/or its affiliates. + * Copyright (c) 2018 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: @@ -13,51 +14,79 @@ * limitations under the License. */ -/** \file +/** + * @file + * + * This file defines vpp UDP control-plane API messages which are generally + * called through a shared memory interface. + */ - This file defines vpp UDP control-plane API messages which are generally - called through a shared memory interface. -*/ +option version = "1.1.0"; -option version = "1.0.0"; +import "vnet/ip/ip_types.api"; -/** \brief Add / del table request - A table can be added multiple times, but need be deleted only once. - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param is_ipv6 - V4 or V6 table - @param table_id - table ID associated with the encap destination -*/ -autoreply define udp_encap_add_del + +/** + * @brief UDP Encap object + * @param table_id - table ID associated with the encap destination + * @param dst_ip - Encap destination address + * @param src_ip - Encap source address + * @param dst_port - Encap destination port + * @param src_port - Encap source port + * @param id - The ID assigned to this encap object by the caller + */ +typedef udp_encap { - u32 client_index; - u32 context; u32 id; u32 table_id; - u8 is_ip6; - u8 is_add; u16 src_port; u16 dst_port; - u8 src_ip[16]; - u8 dst_ip[16]; + vl_api_address_t src_ip; + vl_api_address_t dst_ip; +}; + +/** + * @brief Add UDP encap + * @param client_index - opaque cookie to identify the sender + * @param context - sender context, to match reply w/ request + * @param udp_encap - UDP encap description + */ +autoreply define udp_encap_add +{ + u32 client_index; + u32 context; + vl_api_udp_encap_t udp_encap; }; +/** + * @brief Del UDP encap + * @param client_index - opaque cookie to identify the sender + * @param context - sender context, to match reply w/ request + * @param id - ID of the encap object the client chose during the add +*/ +autoreply define udp_encap_del +{ + u32 client_index; + u32 context; + u32 id; +}; + +/** + * @brief dump UDP encaps + */ define udp_encap_dump { u32 client_index; u32 context; }; +/** + * @brief UDP encap details during dump + */ define udp_encap_details { u32 context; - u32 id; - u32 table_id; - u8 is_ip6; - u16 src_port; - u16 dst_port; - u8 src_ip[16]; - u8 dst_ip[16]; + vl_api_udp_encap_t udp_encap; }; /* -- cgit 1.2.3-korg