FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
punt.api
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-2016 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 option version = "2.0.0";
17 
18 /** \brief Punt definition
19  @param ipv - L3 protocol 4 - IPv4, 6 - IPv6, ~0 - All
20  @param l4_protocol - L4 protocol to be punted
21  @param l4_port - TCP/UDP port to be punted
22 */
23 typeonly define punt
24 {
28 };
29 
30 /** \brief Punt traffic to the host
31  @param client_index - opaque cookie to identify the sender
32  @param context - sender context, to match reply w/ request
33  @param is_add - add punt if non-zero, else delete
34  @param punt - punt definition, only UDP (0x11) is supported
35 */
36 autoreply define set_punt {
41 };
42 
43 define punt_dump
44 {
48 };
49 
50 define punt_details
51 {
54 };
55 
56 /** \brief Punt traffic to the host via socket
57  @param client_index - opaque cookie to identify the sender
58  @param context - sender context, to match reply w/ request
59  @param header_version - expected meta data header version (currently 1)
60  @param punt - punt definition
61 */
67  u8 pathname[108]; /* Linux sun_path defined to be 108 bytes, see unix(7) */
68 };
69 
70 define punt_socket_register_reply
71 {
74  u8 pathname[64];
75 };
76 
77 define punt_socket_dump
78 {
82 };
83 
84 define punt_socket_details
85 {
88  u8 pathname[108];
89 };
90 
91 autoreply define punt_socket_deregister {
95 };
96 
97 /*
98  * Local Variables:
99  * eval: (c-set-style "gnu")
100  * End:
101  */
u32 client_index
Definition: punt.api:37
vl_api_punt_t punt
Definition: punt.api:53
unsigned char u8
Definition: types.h:56
option version
Definition: punt.api:16
unsigned int u32
Definition: types.h:88
vl_api_punt_t punt
Definition: punt.api:87
unsigned short u16
Definition: types.h:57
u8 l4_protocol
Definition: punt.api:26
signed int i32
Definition: types.h:77
u16 l4_port
Definition: punt.api:27
vl_api_punt_t punt
Definition: punt.api:40
static int punt_socket_register(bool is_ip4, u8 protocol, u16 port, char *client_pathname)
Definition: punt.c:262
Punt definition.
Definition: punt.api:23