FD.io VPP
v18.04-17-g3a0d853
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
=
"1.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, 0xffff 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
};
79
80
/** \brief Reply for tap create reply
81
@param context - returned sender context, to match reply w/ request
82
@param retval - return code
83
@param sw_if_index - software index allocated for the new tap interface
84
*/
85
define tap_create_v2_reply
86
{
87
u32
context
;
88
i32
retval
;
89
u32
sw_if_index
;
90
};
91
92
/** \brief Delete tap interface
93
@param client_index - opaque cookie to identify the sender
94
@param context - sender context, to match reply w/ request
95
@param sw_if_index - interface index of existing tap interface
96
*/
97
autoreply define tap_delete_v2
98
{
99
u32
client_index
;
100
u32
context
;
101
u32
sw_if_index
;
102
};
103
104
/** \brief Dump tap interfaces request */
105
define sw_interface_tap_v2_dump
106
{
107
u32
client_index
;
108
u32
context
;
109
};
110
111
/** \brief Reply for tap dump request
112
@param sw_if_index - software index of tap interface
113
@param id - interface id
114
@param dev_name - Linux tap device name
115
@param tx_ring_sz - the number of entries of TX ring
116
@param rx_ring_sz - the number of entries of RX ring
117
@param host_mac_addr - mac address assigned to the host side of the interface
118
@param host_if_name - host side interface name
119
@param host_namespace - host namespace the interface is attached into
120
@param host_bridge - host bridge the interface is attached into
121
@param host_ip4_addr - host IPv4 ip address
122
@param host_ip4_prefix_len - host IPv4 ip address prefix length; 0 if unset
123
@param host_ip6_addr - host IPv6 ip address
124
@param host_ip6_prefix_len - host IPv6 ip address prefix length; 0 if unset
125
*/
126
define sw_interface_tap_v2_details
127
{
128
u32
context
;
129
u32
sw_if_index
;
130
u32
id
;
131
u8
dev_name[64];
132
u16
tx_ring_sz
;
133
u16
rx_ring_sz
;
134
u8
host_mac_addr[6];
135
u8
host_if_name[64];
136
u8
host_namespace[64];
137
u8
host_bridge[64];
138
u8
host_ip4_addr[4];
139
u8
host_ip4_prefix_len
;
140
u8
host_ip6_addr[16];
141
u8
host_ip6_prefix_len
;
142
};
143
144
/*
145
* Local Variables:
146
* eval: (c-set-style "gnu")
147
* End:
148
*/
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:128
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:133
vl_api_tap_create_v2_reply_t::sw_if_index
u32 sw_if_index
Definition:
tapv2.api:89
vl_api_sw_interface_tap_v2_details_t::id
u32 id
Definition:
tapv2.api:130
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:129
vl_api_tap_delete_v2_t::context
u32 context
Definition:
tapv2.api:100
vl_api_tap_create_v2_t::host_ip6_prefix_len
u8 host_ip6_prefix_len
Definition:
tapv2.api:73
vl_api_sw_interface_tap_v2_dump_t::context
u32 context
Definition:
tapv2.api:108
vl_api_tap_create_v2_reply_t::retval
i32 retval
Definition:
tapv2.api:88
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
i32
int i32
Definition:
types.h:81
vl_api_tap_create_v2_reply_t::context
u32 context
Definition:
tapv2.api:87
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
vl_api_tap_delete_v2_t::sw_if_index
u32 sw_if_index
Definition:
tapv2.api:101
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
vl_api_tap_create_v2_t::tx_ring_sz
u16 tx_ring_sz
Definition:
tapv2.api:58
u32
unsigned int u32
Definition:
types.h:88
vl_api_sw_interface_tap_v2_dump_t::client_index
u32 client_index
Definition:
tapv2.api:107
vl_api_sw_interface_tap_v2_details_t::host_ip4_prefix_len
u8 host_ip4_prefix_len
Definition:
tapv2.api:139
u16
unsigned short u16
Definition:
types.h:57
vl_api_tap_create_v2_t::host_ip4_gw_set
u8 host_ip4_gw_set
Definition:
tapv2.api:74
u8
unsigned char u8
Definition:
types.h:56
vl_api_sw_interface_tap_v2_details_t::tx_ring_sz
u16 tx_ring_sz
Definition:
tapv2.api:132
vl_api_sw_interface_tap_v2_details_t::host_ip6_prefix_len
u8 host_ip6_prefix_len
Definition:
tapv2.api:141
vl_api_tap_delete_v2_t::client_index
u32 client_index
Definition:
tapv2.api:99
src
vnet
devices
tap
tapv2.api
Generated on Mon Oct 1 2018 08:02:35 for FD.io VPP by
1.8.11