FD.io VPP
v20.01-48-g3e0dafb74
Vector Packet Processing
policer_classify.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2016 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_policer_classify_h__
17
#define __included_vnet_policer_classify_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
POLICER_CLASSIFY_TABLE_IP4
,
26
POLICER_CLASSIFY_TABLE_IP6
,
27
POLICER_CLASSIFY_TABLE_L2
,
28
POLICER_CLASSIFY_N_TABLES
,
29
}
policer_classify_table_id_t
;
30
31
typedef
enum
32
{
33
POLICER_CLASSIFY_NEXT_INDEX_DROP
,
34
POLICER_CLASSIFY_NEXT_INDEX_N_NEXT
,
35
}
policer_classify_next_index_t
;
36
37
typedef
struct
38
{
39
/* Classifier table vectors */
40
u32
*classify_table_index_by_sw_if_index[
POLICER_CLASSIFY_N_TABLES
];
41
42
/* L2 next nodes for each feature */
43
u32
feat_next_node_index[32];
44
45
/* Convenience variables */
46
vlib_main_t
*
vlib_main
;
47
vnet_main_t
*
vnet_main
;
48
vnet_classify_main_t
*
vnet_classify_main
;
49
vnet_config_main_t
*vnet_config_main[
POLICER_CLASSIFY_N_TABLES
];
50
}
policer_classify_main_t
;
51
52
extern
policer_classify_main_t
policer_classify_main
;
53
54
int
vnet_set_policer_classify_intfc
(
vlib_main_t
*
vm
,
u32
sw_if_index
,
55
u32
ip4_table_index,
u32
ip6_table_index,
56
u32
l2_table_index,
u32
is_add);
57
58
#endif
/* __included_vnet_policer_classify_h__ */
59
60
/*
61
* fd.io coding-style-patch-verification: ON
62
*
63
* Local Variables:
64
* eval: (c-set-style "gnu")
65
* End:
66
*/
POLICER_CLASSIFY_NEXT_INDEX_N_NEXT
Definition:
policer_classify.h:34
POLICER_CLASSIFY_N_TABLES
Definition:
policer_classify.h:28
policer_classify_table_id_t
policer_classify_table_id_t
Definition:
policer_classify.h:23
sw_if_index
vl_api_interface_index_t sw_if_index
Definition:
gre.api:59
POLICER_CLASSIFY_TABLE_L2
Definition:
policer_classify.h:27
POLICER_CLASSIFY_NEXT_INDEX_DROP
Definition:
policer_classify.h:33
u32
unsigned int u32
Definition:
types.h:88
vnet_set_policer_classify_intfc
int vnet_set_policer_classify_intfc(vlib_main_t *vm, u32 sw_if_index, u32 ip4_table_index, u32 ip6_table_index, u32 l2_table_index, u32 is_add)
Definition:
policer_classify.c:57
policer_classify_main_t::vnet_main
vnet_main_t * vnet_main
Definition:
policer_classify.h:47
vnet_config_main_t
Definition:
config.h:86
policer_classify_main_t
Definition:
policer_classify.h:37
policer_classify_main_t::vlib_main
vlib_main_t * vlib_main
Definition:
policer_classify.h:46
vm
vlib_main_t * vm
Definition:
in2out_ed.c:1810
vnet.h
vnet_classify.h
vlib.h
POLICER_CLASSIFY_TABLE_IP4
Definition:
policer_classify.h:25
vnet_classify_main_t
struct _vnet_classify_main vnet_classify_main_t
Definition:
vnet_classify.h:55
POLICER_CLASSIFY_TABLE_IP6
Definition:
policer_classify.h:26
vnet_main_t
Definition:
vnet.h:51
policer_classify_next_index_t
policer_classify_next_index_t
Definition:
policer_classify.h:31
policer_classify_main_t::vnet_classify_main
vnet_classify_main_t * vnet_classify_main
Definition:
policer_classify.h:48
vlib_main_t
Definition:
main.h:83
policer_classify_main
policer_classify_main_t policer_classify_main
Definition:
policer_classify.c:18
src
vnet
classify
policer_classify.h
Generated on Wed Sep 9 2020 00:04:32 for FD.io VPP by
1.8.13