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
{
25
u8
ipv
;
26
u8
l4_protocol
;
27
u16
l4_port
;
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 {
37
u32
client_index
;
38
u32
context
;
39
u8
is_add
;
40
vl_api_punt_t
punt
;
41
};
42
43
define punt_dump
44
{
45
u32
client_index
;
46
u32
context
;
47
u8
is_ipv6
;
48
};
49
50
define punt_details
51
{
52
u32
context
;
53
vl_api_punt_t
punt
;
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
*/
62
define
punt_socket_register
{
63
u32
client_index
;
64
u32
context
;
65
u32
header_version
;
66
vl_api_punt_t
punt
;
67
u8
pathname[108];
/* Linux sun_path defined to be 108 bytes, see unix(7) */
68
};
69
70
define punt_socket_register_reply
71
{
72
u32
context
;
73
i32
retval
;
74
u8
pathname[64];
75
};
76
77
define punt_socket_dump
78
{
79
u32
client_index
;
80
u32
context
;
81
u8
is_ipv6
;
82
};
83
84
define punt_socket_details
85
{
86
u32
context
;
87
vl_api_punt_t
punt
;
88
u8
pathname[108];
89
};
90
91
autoreply define punt_socket_deregister {
92
u32
client_index
;
93
u32
context
;
94
vl_api_punt_t
punt
;
95
};
96
97
/*
98
* Local Variables:
99
* eval: (c-set-style "gnu")
100
* End:
101
*/
vl_api_set_punt_t::client_index
u32 client_index
Definition:
punt.api:37
vl_api_punt_socket_dump_t::context
u32 context
Definition:
punt.api:80
vl_api_punt_dump_t::context
u32 context
Definition:
punt.api:46
vl_api_punt_socket_dump_t::is_ipv6
u8 is_ipv6
Definition:
punt.api:81
vl_api_punt_details_t::punt
vl_api_punt_t punt
Definition:
punt.api:53
vl_api_punt_socket_deregister_t::context
u32 context
Definition:
punt.api:93
vl_api_punt_socket_register_reply_t::retval
i32 retval
Definition:
punt.api:73
vl_api_punt_socket_deregister_t::client_index
u32 client_index
Definition:
punt.api:92
u8
unsigned char u8
Definition:
types.h:56
vl_api_punt_socket_register_t::header_version
u32 header_version
Definition:
punt.api:65
vl_api_punt_socket_register_t::punt
vl_api_punt_t punt
Definition:
punt.api:66
version
option version
Definition:
punt.api:16
vl_api_set_punt_t::context
u32 context
Definition:
punt.api:38
u32
unsigned int u32
Definition:
types.h:88
vl_api_set_punt_t::is_add
u8 is_add
Definition:
punt.api:39
vl_api_punt_socket_details_t::punt
vl_api_punt_t punt
Definition:
punt.api:87
u16
unsigned short u16
Definition:
types.h:57
vl_api_punt_t::l4_protocol
u8 l4_protocol
Definition:
punt.api:26
vl_api_punt_t::ipv
u8 ipv
Definition:
punt.api:25
vl_api_punt_socket_register_reply_t::context
u32 context
Definition:
punt.api:72
vl_api_punt_socket_register_t::context
u32 context
Definition:
punt.api:64
vl_api_punt_socket_register_t::client_index
u32 client_index
Definition:
punt.api:63
i32
signed int i32
Definition:
types.h:77
vl_api_punt_t::l4_port
u16 l4_port
Definition:
punt.api:27
vl_api_punt_socket_details_t::context
u32 context
Definition:
punt.api:86
vl_api_set_punt_t::punt
vl_api_punt_t punt
Definition:
punt.api:40
vl_api_punt_dump_t::client_index
u32 client_index
Definition:
punt.api:45
vl_api_punt_details_t::context
u32 context
Definition:
punt.api:52
punt_socket_register
static int punt_socket_register(bool is_ip4, u8 protocol, u16 port, char *client_pathname)
Definition:
punt.c:262
vl_api_punt_dump_t::is_ipv6
u8 is_ipv6
Definition:
punt.api:47
vl_api_punt_socket_dump_t::client_index
u32 client_index
Definition:
punt.api:79
vl_api_punt_socket_deregister_t::punt
vl_api_punt_t punt
Definition:
punt.api:94
vl_api_punt_t
Punt definition.
Definition:
punt.api:23
src
vnet
ip
punt.api
Generated on Mon Jun 29 2020 12:03:16 for FD.io VPP by
1.8.13