From 810086d8fd08445919ae03bf36161037e53a712a Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Sun, 5 Nov 2017 16:26:46 -0800 Subject: UDP Encapsulation. A UDP-encap object that particiapates in the FIB graph and contributes DPO to teh output chain. It thereofre resembles a tunnel but without the interface. FIB paths (and henace routes) can then be created to egress through the UDP-encap. Said routes can have MPLS labels, hence this also allows MPLSoUPD. Encap is uni-directional. For decap, one still registers with the UDP port dispatcher. Change-Id: I23bd345523b20789a1de1b02022ea1148ca50797 Signed-off-by: Neale Ranns --- src/vnet/udp/udp.api | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/vnet/udp/udp.api (limited to 'src/vnet/udp/udp.api') diff --git a/src/vnet/udp/udp.api b/src/vnet/udp/udp.api new file mode 100644 index 00000000000..25ee96489a2 --- /dev/null +++ b/src/vnet/udp/udp.api @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2016 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: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** \file + + This file defines vpp UDP control-plane API messages which are generally + called through a shared memory interface. +*/ + +vl_api_version 1.0.0 + +/** \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 +{ + 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]; +}; + +define udp_encap_dump +{ + u32 client_index; + u32 context; +}; + +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]; +}; + +/* + * Local Variables: + * eval: (c-set-style "gnu") + * End: + */ -- cgit 1.2.3-korg