FD.io VPP
v19.08.3-2-gbabecb413
Vector Packet Processing
tapv2.api
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017 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
/** \file
17
18
This file defines vpe control-plane API messages for
19
the Linux kernel TAP device driver
20
*/
21
22
option
version
=
"2.1.0"
;
23
24
/** \brief Initialize a new tap interface with the given paramters
25
@param client_index - opaque cookie to identify the sender
26
@param context - sender context, to match reply w/ request
27
@param id - interface id, 0xffffffff means auto
28
@param use_random_mac - let the system generate a unique mac address
29
@param mac_address - mac addr to assign to the interface if use_radom not set
30
@param tx_ring_sz - the number of entries of TX ring
31
@param rx_ring_sz - the number of entries of RX ring
32
@param host_mac_addr_set - host side interface mac address should be set
33
@param host_mac_addr - host side interface mac address
34
@param host_if_name_set - host side interface name should be set
35
@param host_if_name - host side interface name
36
@param host_namespace_set - host namespece should be set
37
@param host_namespace - host namespace to attach interface to
38
@param host_bridge_set - host bridge should be set
39
@param host_bridge - host bridge to attach interface to
40
@param host_ip4_addr_set - host IPv4 ip address should be set
41
@param host_ip4_addr - host IPv4 ip address
42
@param host_ip4_prefix_len - host IPv4 ip address prefix length
43
@param host_ip6_addr_set - host IPv6 ip address should be set
44
@param host_ip6_addr - host IPv6 ip address
45
@param host_ip6_prefix_len - host IPv6 ip address prefix length
46
@param host_ip4_gw_set - host IPv4 default gateway should be set
47
@param host_ip4_gw - host IPv4 default gateway
48
@param host_ip6_gw_set - host IPv6 default gateway should be set
49
@param host_ip6_gw - host IPv6 default gateway
50
@param host_mtu_set - host MTU should be set
51
@param host_mtu_size - host MTU size
52
@param tap_flags - flags for the TAP interface creation
53
*/
54
define tap_create_v2
55
{
56
u32
client_index
;
57
u32
context
;
58
u32
id
;
59
u8
use_random_mac
;
60
u8
mac_address
[6];
61
u16
tx_ring_sz
;
/* optional, default is 256 entries, must be power of 2 */
62
u16
rx_ring_sz
;
/* optional, default is 256 entries, must be power of 2 */
63
u8
host_namespace_set
;
64
u8
host_namespace[64];
65
u8
host_mac_addr_set
;
66
u8
host_mac_addr[6];
67
u8
host_if_name_set
;
68
u8
host_if_name[64];
69
u8
host_bridge_set
;
70
u8
host_bridge[64];
71
u8
host_ip4_addr_set
;
72
u8
host_ip4_addr[4];
73
u8
host_ip4_prefix_len
;
74
u8
host_ip6_addr_set
;
75
u8
host_ip6_addr[16];
76
u8
host_ip6_prefix_len
;
77
u8
host_ip4_gw_set
;
78
u8
host_ip4_gw[4];
79
u8
host_ip6_gw_set
;
80
u8
host_ip6_gw[16];
81
u8
host_mtu_set
;
82
u32
host_mtu_size
;
83
u8
tag[64];
84
u32
tap_flags
;
85
};
86
87
/** \brief Reply for tap create reply
88
@param context - returned sender context, to match reply w/ request
89
@param retval - return code
90
@param sw_if_index - software index allocated for the new tap interface
91
*/
92
define tap_create_v2_reply
93
{
94
u32
context
;
95
i32
retval
;
96
u32
sw_if_index
;
97
};
98
99
/** \brief Delete tap interface
100
@param client_index - opaque cookie to identify the sender
101
@param context - sender context, to match reply w/ request
102
@param sw_if_index - interface index of existing tap interface
103
*/
104
autoreply define tap_delete_v2
105
{
106
u32
client_index
;
107
u32
context
;
108
u32
sw_if_index
;
109
};
110
111
/** \brief Dump tap interfaces request */
112
define sw_interface_tap_v2_dump
113
{
114
u32
client_index
;
115
u32
context
;
116
};
117
118
/** \brief Reply for tap dump request
119
@param sw_if_index - software index of tap interface
120
@param id - interface id
121
@param dev_name - Linux tap device name
122
@param tx_ring_sz - the number of entries of TX ring
123
@param rx_ring_sz - the number of entries of RX ring
124
@param host_mac_addr - mac address assigned to the host side of the interface
125
@param host_if_name - host side interface name
126
@param host_namespace - host namespace the interface is attached into
127
@param host_bridge - host bridge the interface is attached into
128
@param host_ip4_addr - host IPv4 ip address
129
@param host_ip4_prefix_len - host IPv4 ip address prefix length; 0 if unset
130
@param host_ip6_addr - host IPv6 ip address
131
@param host_ip6_prefix_len - host IPv6 ip address prefix length; 0 if unset
132
@param host_mtu_size - host mtu size
133
*/
134
define sw_interface_tap_v2_details
135
{
136
u32
context
;
137
u32
sw_if_index
;
138
u32
id
;
139
u8
dev_name[64];
140
u16
tx_ring_sz
;
141
u16
rx_ring_sz
;
142
u8
host_mac_addr[6];
143
u8
host_if_name[64];
144
u8
host_namespace[64];
145
u8
host_bridge[64];
146
u8
host_ip4_addr[4];
147
u8
host_ip4_prefix_len
;
148
u8
host_ip6_addr[16];
149
u8
host_ip6_prefix_len
;
150
u32
host_mtu_size
;
151
u32
tap_flags
;
152
};
153
154
/*
155
* Local Variables:
156
* eval: (c-set-style "gnu")
157
* End:
158
*/
vl_api_tap_create_v2_t::host_ip6_gw_set
u8 host_ip6_gw_set
Definition:
tapv2.api:79
vl_api_tap_create_v2_t::rx_ring_sz
u16 rx_ring_sz
Definition:
tapv2.api:62
vl_api_sw_interface_tap_v2_details_t::tap_flags
u32 tap_flags
Definition:
tapv2.api:151
vl_api_sw_interface_tap_v2_details_t::context
u32 context
Definition:
tapv2.api:136
vl_api_tap_create_v2_t::client_index
u32 client_index
Definition:
tapv2.api:56
vl_api_sw_interface_tap_v2_details_t::rx_ring_sz
u16 rx_ring_sz
Definition:
tapv2.api:141
vl_api_tap_create_v2_reply_t::sw_if_index
u32 sw_if_index
Definition:
tapv2.api:96
vl_api_sw_interface_tap_v2_details_t::id
u32 id
Definition:
tapv2.api:138
vl_api_sw_interface_tap_v2_details_t::host_mtu_size
u32 host_mtu_size
Definition:
tapv2.api:150
vl_api_tap_create_v2_t::host_ip6_addr_set
u8 host_ip6_addr_set
Definition:
tapv2.api:74
vl_api_sw_interface_tap_v2_details_t::sw_if_index
u32 sw_if_index
Definition:
tapv2.api:137
vl_api_tap_create_v2_t::host_mtu_size
u32 host_mtu_size
Definition:
tapv2.api:82
vl_api_tap_delete_v2_t::context
u32 context
Definition:
tapv2.api:107
vl_api_tap_create_v2_t::host_mtu_set
u8 host_mtu_set
Definition:
tapv2.api:81
vl_api_tap_create_v2_t::host_ip6_prefix_len
u8 host_ip6_prefix_len
Definition:
tapv2.api:76
u8
unsigned char u8
Definition:
types.h:56
vl_api_sw_interface_tap_v2_dump_t::context
u32 context
Definition:
tapv2.api:115
vl_api_tap_create_v2_reply_t::retval
i32 retval
Definition:
tapv2.api:95
vl_api_tap_create_v2_t::id
u32 id
Definition:
tapv2.api:58
vl_api_tap_create_v2_t::context
u32 context
Definition:
tapv2.api:57
vl_api_tap_create_v2_t::host_bridge_set
u8 host_bridge_set
Definition:
tapv2.api:69
vl_api_tap_create_v2_reply_t::context
u32 context
Definition:
tapv2.api:94
u32
unsigned int u32
Definition:
types.h:88
vl_api_tap_create_v2_t::host_ip4_addr_set
u8 host_ip4_addr_set
Definition:
tapv2.api:71
vl_api_tap_create_v2_t::host_if_name_set
u8 host_if_name_set
Definition:
tapv2.api:67
u16
unsigned short u16
Definition:
types.h:57
vl_api_tap_delete_v2_t::sw_if_index
u32 sw_if_index
Definition:
tapv2.api:108
vl_api_tap_create_v2_t::use_random_mac
u8 use_random_mac
Definition:
tapv2.api:59
version
option version
Definition:
tapv2.api:22
vl_api_tap_create_v2_t::host_namespace_set
u8 host_namespace_set
Definition:
tapv2.api:63
vl_api_tap_create_v2_t::host_ip4_prefix_len
u8 host_ip4_prefix_len
Definition:
tapv2.api:73
vl_api_tap_create_v2_t::host_mac_addr_set
u8 host_mac_addr_set
Definition:
tapv2.api:65
i32
signed int i32
Definition:
types.h:77
vl_api_tap_create_v2_t::tx_ring_sz
u16 tx_ring_sz
Definition:
tapv2.api:61
vl_api_sw_interface_tap_v2_dump_t::client_index
u32 client_index
Definition:
tapv2.api:114
vl_api_sw_interface_tap_v2_details_t::host_ip4_prefix_len
u8 host_ip4_prefix_len
Definition:
tapv2.api:147
mac_address
u8 mac_address[6]
Definition:
ethernet_types.api:17
vl_api_tap_create_v2_t::tap_flags
u32 tap_flags
Definition:
tapv2.api:84
vl_api_tap_create_v2_t::host_ip4_gw_set
u8 host_ip4_gw_set
Definition:
tapv2.api:77
vl_api_sw_interface_tap_v2_details_t::tx_ring_sz
u16 tx_ring_sz
Definition:
tapv2.api:140
vl_api_sw_interface_tap_v2_details_t::host_ip6_prefix_len
u8 host_ip6_prefix_len
Definition:
tapv2.api:149
vl_api_tap_delete_v2_t::client_index
u32 client_index
Definition:
tapv2.api:106
src
vnet
devices
tap
tapv2.api
Generated on Mon Oct 19 2020 14:04:10 for FD.io VPP by
1.8.13