FD.io VPP
v17.07.01-10-g3be13f0
Vector Packet Processing
Main Page
Related Pages
Data Structures
Source
Files
Symbols
l2_learn.h
Go to the documentation of this file.
1
/*
2
* l2_learn.c : layer 2 learning using l2fib
3
*
4
* Copyright (c) 2014 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_l2learn_h
19
#define included_l2learn_h
20
21
#include <
vlib/vlib.h
>
22
#include <
vnet/ethernet/ethernet.h
>
23
24
25
typedef
struct
26
{
27
28
/* Hash table */
29
BVT
(clib_bihash) * mac_table;
30
31
/* number of dynamically learned mac entries */
32
u32
global_learn_count
;
33
34
/* maximum number of dynamically learned mac entries */
35
u32
global_learn_limit
;
36
37
/* Next nodes for each feature */
38
u32
feat_next_node_index[32];
39
40
/* convenience variables */
41
vlib_main_t
*
vlib_main
;
42
vnet_main_t
*
vnet_main
;
43
}
l2learn_main_t
;
44
45
46
l2learn_main_t
l2learn_main
;
47
48
extern
vlib_node_registration_t
l2fib_mac_age_scanner_process_node
;
49
50
enum
51
{
52
L2_MAC_AGE_PROCESS_EVENT_START
= 1,
53
L2_MAC_AGE_PROCESS_EVENT_STOP
= 2,
54
L2_MAC_AGE_PROCESS_EVENT_ONE_PASS
= 3,
55
}
l2_mac_age_process_event_t
;
56
57
#endif
58
59
/*
60
* fd.io coding-style-patch-verification: ON
61
*
62
* Local Variables:
63
* eval: (c-set-style "gnu")
64
* End:
65
*/
l2learn_main_t
Definition:
l2_learn.h:25
l2learn_main_t::global_learn_count
u32 global_learn_count
Definition:
l2_learn.h:32
L2_MAC_AGE_PROCESS_EVENT_ONE_PASS
Definition:
l2_learn.h:54
l2fib_mac_age_scanner_process_node
vlib_node_registration_t l2fib_mac_age_scanner_process_node
(constructor) VLIB_REGISTER_NODE (l2fib_mac_age_scanner_process_node)
Definition:
l2_fib.c:1023
L2_MAC_AGE_PROCESS_EVENT_START
Definition:
l2_learn.h:52
vlib_node_registration_t
struct _vlib_node_registration vlib_node_registration_t
BVT
static BVT(clib_bihash)
Definition:
adj_nbr.c:26
ethernet.h
l2learn_main_t::vnet_main
vnet_main_t * vnet_main
Definition:
l2_learn.h:42
vlib.h
vnet_main_t
Definition:
vnet.h:51
u32
unsigned int u32
Definition:
types.h:88
l2learn_main_t::global_learn_limit
u32 global_learn_limit
Definition:
l2_learn.h:35
vlib_main_t
Definition:
main.h:59
l2learn_main_t::vlib_main
vlib_main_t * vlib_main
Definition:
l2_learn.h:41
l2learn_main
l2learn_main_t l2learn_main
Definition:
l2_learn.h:46
L2_MAC_AGE_PROCESS_EVENT_STOP
Definition:
l2_learn.h:53
l2_mac_age_process_event_t
enum @189 l2_mac_age_process_event_t
src
vnet
l2
l2_learn.h
Generated on Tue Nov 7 2017 14:26:32 for FD.io VPP by
1.8.11