e9228d7cb0ecbcd59559b992ff77eaa3b45249e3
[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 #ifndef __included_tapcli_h__
19 #define __included_tapcli_h__
20
21 #define foreach_tapcli_error                            \
22   /* Must be first. */                                  \
23  _(NONE, "no error")                                    \
24  _(READ, "read error")                                  \
25  _(BUFFER_ALLOC, "buffer allocation error")             \
26  _(UNKNOWN, "unknown error")
27
28 typedef enum {
29 #define _(sym,str) TAPCLI_ERROR_##sym,
30   foreach_tapcli_error
31 #undef _
32    TAPCLI_N_ERROR,
33  } tapcli_error_t;
34
35 typedef struct {
36   u32 sw_if_index;
37   u8 dev_name[64];
38 } tapcli_interface_details_t;
39
40 int vnet_tap_dump_ifs (tapcli_interface_details_t **out_tapids);
41
42 #define TAP_MTU_MIN 68
43 #define TAP_MTU_MAX 65535
44 #define TAP_MTU_DEFAULT 1500
45
46 #endif /* __included_tapcli_h__ */