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