Open Ethernet Networking (OpEN) API Guide and Reference Manual
3.4.4.5
Welcome
ADK Documentation
API Reference
Files
File List
Globals
api
include
openapi_mfdb.h
Go to the documentation of this file.
1
9
/********************************************************************************
10
*
11
* Copyright 2016-2018 Broadcom.
12
*
13
* Licensed under the Apache License, Version 2.0 (the "License");
14
* you may not use this file except in compliance with the License.
15
* You may obtain a copy of the License at
16
*
17
* http://www.apache.org/licenses/LICENSE-2.0
18
*
19
* Unless required by applicable law or agreed to in writing, software
20
* distributed under the License is distributed on an "AS IS" BASIS,
21
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
* See the License for the specific language governing permissions and
23
* limitations under the License.
24
*
25
********************************************************************************
26
*
27
* @filename openapi_mfdb.h
28
*
29
* @purpose Provide interface to Switch MFDB
30
*
31
* @component OpEN
32
*
33
* @create 06/18/2015
34
*
35
* @end
36
*
37
********************************************************************************/
38
#ifndef OPENAPI_MFDB_H_INCLUDED
39
#define OPENAPI_MFDB_H_INCLUDED
40
41
#include "
openapi_common.h
"
42
43
#define OPEN_MATCH_EXACT 1
44
#define OPEN_MATCH_GETNEXT 2
45
#define OPEN_MATCH_FREE 3
46
47
#define OPEN_MFDB_INTF_LIST_LENGTH 4096
48
#define OPEN_MFDB_VIDMAC_LENGTH 24
49
#define OPEN_MFDB_MAC_LENGTH 18
50
#define OPENAPI_MFDB_DESCR_LEN 16
51
53
typedef
enum
54
{
55
OPEN_MFDB_PROTOCOL_STATIC = 1,
56
OPEN_MFDB_PROTOCOL_GMRP
= 2,
57
OPEN_MFDB_PROTOCOL_IGMP
= 3,
58
OPEN_MFDB_PROTOCOL_MLD
= 4,
59
OPEN_MFDB_PROTOCOL_MVR
= 5,
60
OPEN_MFDB_PROTOCOL_MMRP
= 6,
61
OPEN_MFDB_PROTOCOL_MSRP
= 7,
62
OPEN_MFDB_TOTAL_NUM_PROTOCOLS
64
}
OPEN_MFDB_PROTOCOL_TYPE_t
;
65
67
typedef
enum
68
{
69
OPEN_MFDB_TYPE_STATIC = 0,
70
OPEN_MFDB_TYPE_DYNAMIC
= 1
71
}
OPEN_MFDB_ENTRY_TYPE_t
;
72
73
/*************************************************************************************************/
90
open_error_t
openapiMfdbEntryProtocolGetExact
(
openapiClientHandle_t
* client_handle,
91
open_buffdesc
* vidMac,
92
OPEN_MFDB_PROTOCOL_TYPE_t
protocol
);
93
94
/*************************************************************************************************/
113
open_error_t
openapiMfdbEntryGetFirst
(
openapiClientHandle_t
* client_handle,
114
open_buffdesc
* vidMac,
115
OPEN_MFDB_PROTOCOL_TYPE_t
* prot);
116
117
/*************************************************************************************************/
136
open_error_t
openapiMfdbEntryGetNext
(
openapiClientHandle_t
* client_handle,
137
open_buffdesc
* vidMac,
138
OPEN_MFDB_PROTOCOL_TYPE_t
* nextProt);
139
140
/*************************************************************************************************/
175
open_error_t
openapiMfdbEntryDataGet
(
openapiClientHandle_t
* client_handle,
176
open_buffdesc
* vidMac,
177
OPEN_MFDB_PROTOCOL_TYPE_t
nextProt,
178
open_buffdesc
* mac,
179
uint32_t * vlanId,
180
OPEN_MFDB_PROTOCOL_TYPE_t
* compId,
181
OPEN_MFDB_ENTRY_TYPE_t
* type,
182
open_buffdesc
* desc,
183
open_buffdesc
* frwdIntMask,
184
open_buffdesc
* fltIntMask,
185
open_buffdesc
* absPortMask);
186
187
/*************************************************************************************************/
217
open_error_t
openapiMfdbComponentEntryGetNext
(
openapiClientHandle_t
* client_handle,
218
open_buffdesc
* vidMac,
219
OPEN_MFDB_PROTOCOL_TYPE_t
compId,
220
OPEN_MFDB_PROTOCOL_TYPE_t
* nextCompId,
221
OPEN_MFDB_ENTRY_TYPE_t
* type,
222
open_buffdesc
* desc,
223
open_buffdesc
* frwdPortMask,
224
open_buffdesc
* fltPortMask);
225
226
/*************************************************************************************************/
242
open_error_t
openapiMfdbEntryFwdIntfGetExact
(
openapiClientHandle_t
* client_handle,
243
open_buffdesc
* vidMac);
244
245
/*************************************************************************************************/
269
open_error_t
openapiMfdbEntryFwdIntfGetNext
(
openapiClientHandle_t
* client_handle,
270
open_buffdesc
* vidMac,
271
uint32_t matchType,
272
open_buffdesc
* absMask);
273
274
/*************************************************************************************************/
298
open_error_t
openapiMfdbEntryLearntIntfGetNext
(
openapiClientHandle_t
* client_handle,
299
open_buffdesc
* vidMac,
300
uint32_t matchType,
301
open_buffdesc
* absMask);
302
303
/*************************************************************************************************/
317
open_error_t
openapiMfdbMaxTableEntriesGet
(
openapiClientHandle_t
* client_handle,
318
uint32_t * maxEntries);
319
320
/*************************************************************************************************/
334
open_error_t
openapiMfdbMostEntriesGet
(
openapiClientHandle_t
* client_handle,
335
uint32_t * mostEntries);
336
337
/*************************************************************************************************/
351
open_error_t
openapiMfdbCurrEntriesGet
(
openapiClientHandle_t
* client_handle,
352
uint32_t * currEntries);
353
#endif
/* OPENAPI_MFDB_H_INCLUDED */
354
© 2020 by Broadcom. All rights reserved.