Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
openapi_fdb.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_fdb.h
28 *
29 * @purpose FDB Configuration
30 *
31 * @component OPEN
32 *
33 * @create 06/02/2015
34 *
35 * @end
36 *
37 *********************************************************************/
38 #ifndef OPENAPI_FDB_H_INCLUDED
39 #define OPENAPI_FDB_H_INCLUDED
40 
41 #include <stdbool.h>
42 #include "openapi_common.h"
43 
45 typedef enum
46 {
50 
51 typedef enum
52 {
53  OPEN_FDB_ADDR_FLAG_STATIC = 0,
69 
70 /*****************************************************************/
89  open_buffdesc *mac, uint32_t *vlanId,
90  uint32_t *fdbIfNum,
92 
93 /*****************************************************************/
108  uint32_t fdbId);
109 
110 /*****************************************************************/
126  uint32_t fdbId, uint32_t *timeOut);
127 
128 /*****************************************************************/
146  uint32_t fdbId, uint32_t timeOut);
147 
148 /*****************************************************************/
164  uint32_t *maxEntries);
165 
166 /*****************************************************************/
181  uint32_t *entriesNum);
182 
183 /*****************************************************************/
198  uint32_t *entriesNum);
199 
200 /*****************************************************************/
214 
215 /*****************************************************************/
230  uint32_t *entries);
231 
232 /*****************************************************************/
247  uint32_t *entries);
248 
249 /*****************************************************************/
265  open_buffdesc *macaddr);
266 
267 /*****************************************************************/
286  open_buffdesc *mac, uint32_t vlanId,
287  uint32_t intIfNum);
288 
289 /*****************************************************************/
304  OPEN_VL_TYPE_t *type);
305 
306 /*****************************************************************/
322  uint32_t startFrom, uint32_t *fdbId);
323 
324 /*****************************************************************/
341  uint32_t *badAdds);
342 
343 /*****************************************************************/
358  uint32_t *maxMacHwLimit);
359 
360 /*****************************************************************/
377  uint32_t intIfNum, uint32_t *entries);
378 
379 /*****************************************************************/
396  uint16_t vlanId, uint32_t *entries);
397 
398 /*****************************************************************/
415  uint32_t intIfNum, uint32_t *entries);
416 
417 /*****************************************************************/
434  uint16_t vlanId, uint32_t *entries);
435 
436 /*****************************************************************/
451  uint32_t intIfNum);
452 
453 /*****************************************************************/
468  uint32_t vlanId);
469 
470 /*****************************************************************/
485  open_buffdesc *mac);
486 
487 /*****************************************************************/
501 
502 
503 #endif /* OPENAPI_FDB_H_INCLUDED */
504 
open_error_t openapiFdbIntfInternalEntriesGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *entries)
Get the count of internal entries in the L2 forwarding database for a specific interface.
open_error_t openapiFdbAddrAgingTimeoutGet(openapiClientHandle_t *client_handle, uint32_t fdbId, uint32_t *timeOut)
Get the aging timeout value for a forwarding database.
OPEN_FDB_ADDR_FLAG_t
Definition: openapi_fdb.h:51
open_error_t openapiFdbIdGet(openapiClientHandle_t *client_handle, uint32_t fdbId)
Verify that a forwarding database entry with the specified ID exists.
OPEN_VL_TYPE_t
Supported VLAN Learning types.
Definition: openapi_fdb.h:45
open_error_t openapiFdbFlushByVlan(openapiClientHandle_t *client_handle, uint32_t vlanId)
Flush all entries in forwarding database learned on the specified VLAN.
open_error_t
OPEN uses these enumerators to indicate the error codes.
Independent VLAN Learning.
Definition: openapi_fdb.h:47
open_error_t openapiFdbAddrAgingTimeoutSet(openapiClientHandle_t *client_handle, uint32_t fdbId, uint32_t timeOut)
Set the aging timeout value for a forwarding database.
open_error_t openapiActiveAddrEntriesGet(openapiClientHandle_t *client_handle, uint32_t *entriesNum)
Get the current number of entries in forwarding database.
open_error_t openapiFdbFlushByPort(openapiClientHandle_t *client_handle, uint32_t intIfNum)
Flush all entries in forwarding database learned on this interface.
open_error_t openapiFdbFlushByMac(openapiClientHandle_t *client_handle, open_buffdesc *mac)
Flush all entries in forwarding database learned on the specified MAC.
GMRP Learned.
Definition: openapi_fdb.h:57
open_error_t openapiFdbTypeOfVLGet(openapiClientHandle_t *client_handle, OPEN_VL_TYPE_t *type)
Get the type of supported VLAN learning.
open_error_t openapiFdbMaxCountGet(openapiClientHandle_t *client_handle, uint32_t *entriesNum)
Get the forwarding database entries counter greatest value.
open_error_t openapiFdbBadAddsGet(openapiClientHandle_t *client_handle, uint32_t *badAdds)
Get the number of failed forwarding database insert attempts due to failure to allocate space...
open_error_t openapiIsRestrFilterMacGet(openapiClientHandle_t *client_handle, open_buffdesc *macaddr)
Determine if the specified MAC address is a member of the restricted set.
open_error_t openapiFdbInternalEntriesGet(openapiClientHandle_t *client_handle, uint32_t *entries)
Get count of internally added entries in the L2 forwarding database.
open_error_t openapiFdbFlush(openapiClientHandle_t *client_handle)
Flush all learned entries from the L2 forwarding database.
open_error_t openapiFdbEntryDelete(openapiClientHandle_t *client_handle, open_buffdesc *mac, uint32_t vlanId, uint32_t intIfNum)
Delete a entry from the forwarding database.
open_error_t openapiMaxCountReset(openapiClientHandle_t *client_handle)
Reset the greatest number of entries in the forwarding database.
open_error_t openapiFdbVlanDynamicEntriesGet(openapiClientHandle_t *client_handle, uint16_t vlanId, uint32_t *entries)
Get the count of dynamic entries in the L2 forwarding database for a specific VLAN.
open_error_t openapiFdbIntfDynamicEntriesGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *entries)
Get the count of dynamic entries in the L2 forwarding database for a specific interface.
OPEN_MPLS_LFDB_ENTRY_TYPE_t entryType
Type of label.
Definition: openapi_mpls.h:106
open_error_t openapiFdbEntryNextGet(openapiClientHandle_t *client_handle, open_buffdesc *mac, uint32_t *vlanId, uint32_t *fdbIfNum, OPEN_FDB_ADDR_FLAG_t *entryType)
Get the next entry from the forwarding database.
open_error_t openapiFdbMaxTableEntriesGet(openapiClientHandle_t *client_handle, uint32_t *maxEntries)
Get the maximum number of entries that the forwarding database table can hold.
Shared VLAN Learning.
Definition: openapi_fdb.h:48
open_error_t openapiFdbIdNextGet(openapiClientHandle_t *client_handle, uint32_t startFrom, uint32_t *fdbId)
Get the next forwarding database ID starting from a certain index.
Address is learned, but not guaranteed to be in HW (relevant for SW learning).
Definition: openapi_fdb.h:64
open_error_t openapiFdbDynamicEntriesGet(openapiClientHandle_t *client_handle, uint32_t *entries)
Get count of dynamic entries in the L2 forwarding database.
open_error_t openapiFdbMacMaxHwLimitGet(openapiClientHandle_t *client_handle, uint32_t *maxMacHwLimit)
Get the max limit of MAC entries determined by hardware.
open_error_t openapiFdbVlanInternalEntriesGet(openapiClientHandle_t *client_handle, uint16_t vlanId, uint32_t *entries)
Get the count of internal entries in the L2 forwarding database for a specific VLAN.