dpdk: Add support for Mellanox ConnectX-4 devices
[vpp.git] / vnet / vnet / unix / tapcli.h
1 /*
2  * tapcli.h : tap support
3  *
4  * Copyright (c) 2013 Cisco and/or its affiliates.
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 /**
18  * @file
19  * @brief TAPCLI definitions
20  */
21
22 #ifndef __included_tapcli_h__
23 #define __included_tapcli_h__
24
25 /** TAP CLI errors */
26 #define foreach_tapcli_error                            \
27   /* Must be first. */                                  \
28  _(NONE, "no error")                                    \
29  _(READ, "read error")                                  \
30  _(BUFFER_ALLOC, "buffer allocation error")             \
31  _(UNKNOWN, "unknown error")
32
33 typedef enum {
34 #define _(sym,str) TAPCLI_ERROR_##sym,
35   foreach_tapcli_error
36 #undef _
37    TAPCLI_N_ERROR,
38  } tapcli_error_t;
39
40 /** TAP CLI interface details struct */
41 typedef struct {
42   u32 sw_if_index;
43   u8 dev_name[64];
44 } tapcli_interface_details_t;
45
46 int vnet_tap_dump_ifs (tapcli_interface_details_t **out_tapids);
47
48 #define TAP_MTU_MIN 68
49 #define TAP_MTU_MAX 65535
50 #define TAP_MTU_DEFAULT 1500
51
52 #endif /* __included_tapcli_h__ */