FD.io VPP
v19.04.4-rc0-5-ge88582fac
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.0.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 tap_flags - flags for the TAP interface creation
51
*/
52
define tap_create_v2
53
{
54
u32
client_index
;
55
u32
context
;
56
u32
id
;
57
u8
use_random_mac
;
58
u8
mac_address
[6];
59
u16
tx_ring_sz
;
/* optional, default is 256 entries, must be power of 2 */
60
u16
rx_ring_sz
;
/* optional, default is 256 entries, must be power of 2 */
61
u8
host_namespace_set
;
62
u8
host_namespace[64];
63
u8
host_mac_addr_set
;
64
u8
host_mac_addr[6];
65
u8
host_if_name_set
;
66
u8
host_if_name[64];
67
u8
host_bridge_set
;
68
u8
host_bridge[64];
69
u8
host_ip4_addr_set
;
70
u8
host_ip4_addr[4];
71
u8
host_ip4_prefix_len
;
72
u8
host_ip6_addr_set
;
73
u8
host_ip6_addr[16];
74
u8
host_ip6_prefix_len
;
75
u8
host_ip4_gw_set
;
76
u8
host_ip4_gw[4];
77
u8
host_ip6_gw_set
;
78
u8
host_ip6_gw[16];
79
u8
tag[64];
80
u32
tap_flags
;
81
};
82
83
/** \brief Reply for tap create reply
84
@param context - returned sender context, to match reply w/ request
85
@param retval - return code
86
@param sw_if_index - software index allocated for the new tap interface
87
*/
88
define tap_create_v2_reply
89
{
90
u32
context
;
91
i32
retval
;
92
u32
sw_if_index
;
93
};
94
95
/** \brief Delete tap interface
96
@param client_index - opaque cookie to identify the sender
97
@param context - sender context, to match reply w/ request
98
@param sw_if_index - interface index of existing tap interface
99
*/
100
autoreply define tap_delete_v2
101
{
102
u32
client_index
;
103
u32
context
;
104
u32
sw_if_index
;
105
};
106
107
/** \brief Dump tap interfaces request */
108
define sw_interface_tap_v2_dump
109
{
110
u32
client_index
;
111
u32
context
;
112
};
113
114
/** \brief Reply for tap dump request
115
@param sw_if_index - software index of tap interface
116
@param id - interface id
117
@param dev_name - Linux tap device name
118
@param tx_ring_sz - the number of entries of TX ring
119
@param rx_ring_sz - the number of entries of RX ring
120
@param host_mac_addr - mac address assigned to the host side of the interface
121
@param host_if_name - host side interface name
122
@param host_namespace - host namespace the interface is attached into
123
@param host_bridge - host bridge the interface is attached into
124
@param host_ip4_addr - host IPv4 ip address
125
@param host_ip4_prefix_len - host IPv4 ip address prefix length; 0 if unset
126
@param host_ip6_addr - host IPv6 ip address
127
@param host_ip6_prefix_len - host IPv6 ip address prefix length; 0 if unset
128
*/
129
define sw_interface_tap_v2_details
130
{
131
u32
context
;
132
u32
sw_if_index
;
133
u32
id
;
134
u8
dev_name[64];
135
u16
tx_ring_sz
;
136
u16
rx_ring_sz
;
137
u8
host_mac_addr[6];
138
u8
host_if_name[64];
139
u8
host_namespace[64];
140
u8
host_bridge[64];
141
u8
host_ip4_addr[4];
142
u8
host_ip4_prefix_len
;
143
u8
host_ip6_addr[16];
144
u8
host_ip6_prefix_len
;
145
u32
tap_flags
;
146
};
147
148
/*
149
* Local Variables:
150
* eval: (c-set-style "gnu")
151
* End:
152
*/
vl_api_tap_create_v2_t::host_ip6_gw_set
u8 host_ip6_gw_set
Definition:
tapv2.api:77
vl_api_tap_create_v2_t::rx_ring_sz
u16 rx_ring_sz
Definition:
tapv2.api:60
vl_api_sw_interface_tap_v2_details_t::tap_flags
u32 tap_flags
Definition:
tapv2.api:145
vl_api_sw_interface_tap_v2_details_t::context
u32 context
Definition:
tapv2.api:131
vl_api_tap_create_v2_t::client_index
u32 client_index
Definition:
tapv2.api:54
vl_api_sw_interface_tap_v2_details_t::rx_ring_sz
u16 rx_ring_sz
Definition:
tapv2.api:136
vl_api_tap_create_v2_reply_t::sw_if_index
u32 sw_if_index
Definition:
tapv2.api:92
vl_api_sw_interface_tap_v2_details_t::id
u32 id
Definition:
tapv2.api:133
vl_api_tap_create_v2_t::host_ip6_addr_set
u8 host_ip6_addr_set
Definition:
tapv2.api:72
vl_api_sw_interface_tap_v2_details_t::sw_if_index
u32 sw_if_index
Definition:
tapv2.api:132
vl_api_tap_delete_v2_t::context
u32 context
Definition:
tapv2.api:103
vl_api_tap_create_v2_t::host_ip6_prefix_len
u8 host_ip6_prefix_len
Definition:
tapv2.api:74
u8
unsigned char u8
Definition:
types.h:56
vl_api_sw_interface_tap_v2_dump_t::context
u32 context
Definition:
tapv2.api:111
vl_api_tap_create_v2_reply_t::retval
i32 retval
Definition:
tapv2.api:91
vl_api_tap_create_v2_t::id
u32 id
Definition:
tapv2.api:56
vl_api_tap_create_v2_t::context
u32 context
Definition:
tapv2.api:55
vl_api_tap_create_v2_t::host_bridge_set
u8 host_bridge_set
Definition:
tapv2.api:67
vl_api_tap_create_v2_reply_t::context
u32 context
Definition:
tapv2.api:90
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:69
vl_api_tap_create_v2_t::host_if_name_set
u8 host_if_name_set
Definition:
tapv2.api:65
u16
unsigned short u16
Definition:
types.h:57
vl_api_tap_delete_v2_t::sw_if_index
u32 sw_if_index
Definition:
tapv2.api:104
vl_api_tap_create_v2_t::use_random_mac
u8 use_random_mac
Definition:
tapv2.api:57
version
option version
Definition:
tapv2.api:22
vl_api_tap_create_v2_t::host_namespace_set
u8 host_namespace_set
Definition:
tapv2.api:61
vl_api_tap_create_v2_t::host_ip4_prefix_len
u8 host_ip4_prefix_len
Definition:
tapv2.api:71
vl_api_tap_create_v2_t::host_mac_addr_set
u8 host_mac_addr_set
Definition:
tapv2.api:63
i32
signed int i32
Definition:
types.h:77
vl_api_tap_create_v2_t::tx_ring_sz
u16 tx_ring_sz
Definition:
tapv2.api:59
vl_api_sw_interface_tap_v2_dump_t::client_index
u32 client_index
Definition:
tapv2.api:110
vl_api_sw_interface_tap_v2_details_t::host_ip4_prefix_len
u8 host_ip4_prefix_len
Definition:
tapv2.api:142
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:80
vl_api_tap_create_v2_t::host_ip4_gw_set
u8 host_ip4_gw_set
Definition:
tapv2.api:75
vl_api_sw_interface_tap_v2_details_t::tx_ring_sz
u16 tx_ring_sz
Definition:
tapv2.api:135
vl_api_sw_interface_tap_v2_details_t::host_ip6_prefix_len
u8 host_ip6_prefix_len
Definition:
tapv2.api:144
vl_api_tap_delete_v2_t::client_index
u32 client_index
Definition:
tapv2.api:102
src
vnet
devices
tap
tapv2.api
Generated on Mon Jun 29 2020 12:02:54 for FD.io VPP by
1.8.13