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