Open Ethernet Networking (OpEN) API Guide and Reference Manual
3.10.0.3
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-2022 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_PROTOCOL_KNOWN_MULTICAST
= 8,
63
OPEN_MFDB_PROTOCOL_RESERVED_MCAST = 9,
64
OPEN_MFDB_TOTAL_NUM_PROTOCOLS
66
}
OPEN_MFDB_PROTOCOL_TYPE_t
;
67
69
typedef
enum
70
{
71
OPEN_MFDB_TYPE_STATIC = 0,
72
OPEN_MFDB_TYPE_DYNAMIC
= 1
73
}
OPEN_MFDB_ENTRY_TYPE_t
;
74
75
/*************************************************************************************************/
92
open_error_t
openapiMfdbEntryProtocolGetExact
(
openapiClientHandle_t
* client_handle,
93
open_buffdesc
* vidMac,
94
OPEN_MFDB_PROTOCOL_TYPE_t
protocol
);
95
96
/*************************************************************************************************/
115
open_error_t
openapiMfdbEntryGetFirst
(
openapiClientHandle_t
* client_handle,
116
open_buffdesc
* vidMac,
117
OPEN_MFDB_PROTOCOL_TYPE_t
* prot);
118
119
/*************************************************************************************************/
138
open_error_t
openapiMfdbEntryGetNext
(
openapiClientHandle_t
* client_handle,
139
open_buffdesc
* vidMac,
140
OPEN_MFDB_PROTOCOL_TYPE_t
* nextProt);
141
142
/*************************************************************************************************/
177
open_error_t
openapiMfdbEntryDataGet
(
openapiClientHandle_t
* client_handle,
178
open_buffdesc
* vidMac,
179
OPEN_MFDB_PROTOCOL_TYPE_t
nextProt,
180
open_buffdesc
* mac,
181
uint32_t * vlanId,
182
OPEN_MFDB_PROTOCOL_TYPE_t
* compId,
183
OPEN_MFDB_ENTRY_TYPE_t
* type,
184
open_buffdesc
* desc,
185
open_buffdesc
* frwdIntMask,
186
open_buffdesc
* fltIntMask,
187
open_buffdesc
* absPortMask);
188
189
/*************************************************************************************************/
219
open_error_t
openapiMfdbComponentEntryGetNext
(
openapiClientHandle_t
* client_handle,
220
open_buffdesc
* vidMac,
221
OPEN_MFDB_PROTOCOL_TYPE_t
compId,
222
OPEN_MFDB_PROTOCOL_TYPE_t
* nextCompId,
223
OPEN_MFDB_ENTRY_TYPE_t
* type,
224
open_buffdesc
* desc,
225
open_buffdesc
* frwdPortMask,
226
open_buffdesc
* fltPortMask);
227
228
/*************************************************************************************************/
244
open_error_t
openapiMfdbEntryFwdIntfGetExact
(
openapiClientHandle_t
* client_handle,
245
open_buffdesc
* vidMac);
246
247
/*************************************************************************************************/
271
open_error_t
openapiMfdbEntryFwdIntfGetNext
(
openapiClientHandle_t
* client_handle,
272
open_buffdesc
* vidMac,
273
uint32_t matchType,
274
open_buffdesc
* absMask);
275
276
/*************************************************************************************************/
300
open_error_t
openapiMfdbEntryLearntIntfGetNext
(
openapiClientHandle_t
* client_handle,
301
open_buffdesc
* vidMac,
302
uint32_t matchType,
303
open_buffdesc
* absMask);
304
305
/*************************************************************************************************/
319
open_error_t
openapiMfdbMaxTableEntriesGet
(
openapiClientHandle_t
* client_handle,
320
uint32_t * maxEntries);
321
322
/*************************************************************************************************/
336
open_error_t
openapiMfdbMostEntriesGet
(
openapiClientHandle_t
* client_handle,
337
uint32_t * mostEntries);
338
339
/*************************************************************************************************/
353
open_error_t
openapiMfdbCurrEntriesGet
(
openapiClientHandle_t
* client_handle,
354
uint32_t * currEntries);
355
#endif
/* OPENAPI_MFDB_H_INCLUDED */
356
© 2022 by Broadcom. All rights reserved.