FD.io VPP
v20.01-48-g3e0dafb74
Vector Packet Processing
l2_in_out_feat_arc.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 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
#ifndef __included_vnet_in_out_feat_arc_h__
17
#define __included_vnet_in_out_feat_arc_h__
18
19
#include <
vlib/vlib.h
>
20
#include <
vnet/vnet.h
>
21
#include <
vnet/classify/vnet_classify.h
>
22
23
typedef
enum
24
{
25
FEAT_ARC_NEXT_INDEX_DROP
,
26
FEAT_ARC_NEXT_INDEX_N_NEXT
,
27
}
in_out_feat_arc_next_index_t
;
28
29
typedef
enum
30
{
31
IN_OUT_FEAT_ARC_TABLE_IP4
,
32
IN_OUT_FEAT_ARC_TABLE_IP6
,
33
IN_OUT_FEAT_ARC_TABLE_L2
,
34
IN_OUT_FEAT_ARC_N_TABLES
,
35
}
in_out_feat_arc_table_id_t
;
36
37
typedef
enum
38
{
39
IN_OUT_FEAT_ARC_INPUT_TABLE_GROUP
,
40
IN_OUT_FEAT_ARC_OUTPUT_TABLE_GROUP
,
41
IN_OUT_FEAT_ARC_N_TABLE_GROUPS
42
}
in_out_feat_arc_table_group_id_t
;
43
44
typedef
struct
45
{
46
/* convenience variables */
47
vlib_main_t
*
vlib_main
;
48
vnet_main_t
*
vnet_main
;
49
vnet_classify_main_t
*
vnet_classify_main
;
50
vnet_config_main_t
51
*
52
vnet_config_main[
IN_OUT_FEAT_ARC_N_TABLE_GROUPS
]
53
[
IN_OUT_FEAT_ARC_N_TABLES
];
54
}
in_out_feat_arc_main_t
;
55
56
int
vnet_l2_feature_enable_disable
(
const
char
*arc_name,
57
const
char
*node_name,
u32
sw_if_index
,
58
int
enable_disable,
void
*feature_config,
59
u32
n_feature_config_bytes);
60
61
extern
vlib_node_registration_t
l2_in_feat_arc_end_node
;
62
extern
vlib_node_registration_t
l2_out_feat_arc_end_node
;
63
extern
vlib_node_registration_t
l2_out_feat_arc_node
;
64
extern
vlib_node_registration_t
l2_in_feat_arc_node
;
65
66
#endif
/* __included_vnet_in_out_feat_arc_h__ */
67
68
/*
69
* fd.io coding-style-patch-verification: ON
70
*
71
* Local Variables:
72
* eval: (c-set-style "gnu")
73
* End:
74
*/
IN_OUT_FEAT_ARC_TABLE_IP4
Definition:
l2_in_out_feat_arc.h:31
IN_OUT_FEAT_ARC_TABLE_L2
Definition:
l2_in_out_feat_arc.h:33
in_out_feat_arc_main_t::vnet_classify_main
vnet_classify_main_t * vnet_classify_main
Definition:
l2_in_out_feat_arc.h:49
in_out_feat_arc_table_group_id_t
in_out_feat_arc_table_group_id_t
Definition:
l2_in_out_feat_arc.h:37
sw_if_index
vl_api_interface_index_t sw_if_index
Definition:
gre.api:59
u32
unsigned int u32
Definition:
types.h:88
in_out_feat_arc_main_t::vlib_main
vlib_main_t * vlib_main
Definition:
l2_in_out_feat_arc.h:47
vnet_l2_feature_enable_disable
int vnet_l2_feature_enable_disable(const char *arc_name, const char *node_name, u32 sw_if_index, int enable_disable, void *feature_config, u32 n_feature_config_bytes)
Definition:
l2_in_out_feat_arc.c:596
vnet_config_main_t
Definition:
config.h:86
FEAT_ARC_NEXT_INDEX_N_NEXT
Definition:
l2_in_out_feat_arc.h:26
l2_out_feat_arc_end_node
vlib_node_registration_t l2_out_feat_arc_end_node
(constructor) VLIB_REGISTER_NODE (l2_out_feat_arc_end_node)
Definition:
l2_in_out_feat_arc.c:484
IN_OUT_FEAT_ARC_INPUT_TABLE_GROUP
Definition:
l2_in_out_feat_arc.h:39
vnet.h
IN_OUT_FEAT_ARC_OUTPUT_TABLE_GROUP
Definition:
l2_in_out_feat_arc.h:40
IN_OUT_FEAT_ARC_N_TABLES
Definition:
l2_in_out_feat_arc.h:34
vnet_classify.h
in_out_feat_arc_table_id_t
in_out_feat_arc_table_id_t
Definition:
l2_in_out_feat_arc.h:29
l2_in_feat_arc_end_node
vlib_node_registration_t l2_in_feat_arc_end_node
(constructor) VLIB_REGISTER_NODE (l2_in_feat_arc_end_node)
Definition:
l2_in_out_feat_arc.c:477
vlib.h
in_out_feat_arc_next_index_t
in_out_feat_arc_next_index_t
Definition:
l2_in_out_feat_arc.h:23
vnet_classify_main_t
struct _vnet_classify_main vnet_classify_main_t
Definition:
vnet_classify.h:55
vnet_main_t
Definition:
vnet.h:51
IN_OUT_FEAT_ARC_TABLE_IP6
Definition:
l2_in_out_feat_arc.h:32
vlib_node_registration_t
struct _vlib_node_registration vlib_node_registration_t
l2_out_feat_arc_node
vlib_node_registration_t l2_out_feat_arc_node
(constructor) VLIB_REGISTER_NODE (l2_out_feat_arc_node)
Definition:
l2_in_out_feat_arc.c:466
l2_in_feat_arc_node
vlib_node_registration_t l2_in_feat_arc_node
(constructor) VLIB_REGISTER_NODE (l2_in_feat_arc_node)
Definition:
l2_in_out_feat_arc.c:455
vlib_main_t
Definition:
main.h:83
in_out_feat_arc_main_t::vnet_main
vnet_main_t * vnet_main
Definition:
l2_in_out_feat_arc.h:48
FEAT_ARC_NEXT_INDEX_DROP
Definition:
l2_in_out_feat_arc.h:25
in_out_feat_arc_main_t
Definition:
l2_in_out_feat_arc.h:44
IN_OUT_FEAT_ARC_N_TABLE_GROUPS
Definition:
l2_in_out_feat_arc.h:41
src
vnet
l2
l2_in_out_feat_arc.h
Generated on Wed Sep 9 2020 00:05:17 for FD.io VPP by
1.8.13