OpenFlow Data Plane Abstraction (OF-DPA) API Guide and Reference Manual
Welcome
OF-DPA Documentation
API Reference
Files
File List
Globals
application
api
include
ofdpa_api.h
Go to the documentation of this file.
1
8
/*********************************************************************
9
*
10
* (C) Copyright Broadcom Corporation 2003-2015
11
*
12
* Licensed under the Apache License, Version 2.0 (the "License");
13
* you may not use this file except in compliance with the License.
14
* You may obtain a copy of the License at
15
*
16
* http://www.apache.org/licenses/LICENSE-2.0
17
*
18
* Unless required by applicable law or agreed to in writing, software
19
* distributed under the License is distributed on an "AS IS" BASIS,
20
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
* See the License for the specific language governing permissions and
22
* limitations under the License.
23
*
24
**********************************************************************
25
*
26
* @filename ofdpa_api.h
27
*
28
* @purpose OF-DPA API header
29
*
30
* @component OF-DPA
31
*
32
* @note none
33
*
34
* @create 03/22/2013
35
*
36
* @end
37
*
38
**********************************************************************/
39
#ifndef INCLUDE_OFDPA_API_H
40
#define INCLUDE_OFDPA_API_H
41
42
#include <stdint.h>
43
#include <sys/time.h>
44
#include <netinet/in.h>
45
#include "
ofdpa_datatypes.h
"
46
47
/*
48
* All clients must register first.
49
*/
50
/*****************************************************************/
63
OFDPA_ERROR_t
ofdpaClientInitialize
(
char
*clientName);
64
65
/*****************************************************************/
75
OFDPA_ERROR_t
ofdpaFeatureSupported
(OFDPA_FEATURE_t feature);
76
77
/*
78
* Debugging and Logging definitions
79
*/
80
81
/*****************************************************************/
92
int
ofdpaCltLogPrintf
(
int
priority,
char
*fmt, ...);
93
94
/*****************************************************************/
104
int
ofdpaCltLogBuf
(
int
priority,
ofdpa_buffdesc
message);
105
106
/*****************************************************************/
119
int
ofdpaCltDebugPrintf
(
const
char
*functionName,
ofdpaComponentIds_t
component,
ofdpaDebugLevels_t
verbosity,
const
char
*format, ...);
120
121
/*****************************************************************/
133
int
ofdpaCltDebugBuf
(
ofdpa_buffdesc
functionName,
ofdpaComponentIds_t
component,
ofdpaDebugLevels_t
verbosity,
ofdpa_buffdesc
message);
134
135
/* Flow Tables.
136
*/
137
138
/*****************************************************************/
151
OFDPA_ERROR_t
ofdpaFlowTableSupported
(
OFDPA_FLOW_TABLE_ID_t
tableId);
152
153
/*****************************************************************/
163
OFDPA_ERROR_t
ofdpaFlowEntryInit
(
OFDPA_FLOW_TABLE_ID_t
tableId,
ofdpaFlowEntry_t
*flow);
164
165
/*****************************************************************/
179
OFDPA_ERROR_t
ofdpaFlowAdd
(
ofdpaFlowEntry_t
*flow);
180
181
/*****************************************************************/
192
OFDPA_ERROR_t
ofdpaFlowModify
(
ofdpaFlowEntry_t
*flow);
193
194
/*****************************************************************/
206
OFDPA_ERROR_t
ofdpaFlowDelete
(
ofdpaFlowEntry_t
*flow);
207
208
/*****************************************************************/
227
OFDPA_ERROR_t
ofdpaFlowNextGet
(
ofdpaFlowEntry_t
*flow,
ofdpaFlowEntry_t
*nextFlow);
228
229
/*****************************************************************/
240
OFDPA_ERROR_t
ofdpaFlowStatsGet
(
ofdpaFlowEntry_t
*flow,
ofdpaFlowEntryStats_t
*flowStats);
241
242
/*****************************************************************/
255
OFDPA_ERROR_t
ofdpaFlowByCookieGet
(uint64_t cookie,
ofdpaFlowEntry_t
*flow,
ofdpaFlowEntryStats_t
*flowStats);
256
257
/*****************************************************************/
267
OFDPA_ERROR_t
ofdpaFlowByCookieDelete
(uint64_t cookie);
268
269
/*------------------------------------------------------------------------------------*/
270
/* group table APIs */
271
272
/*
273
The Group Table contains one entry for each Group. The table is indexed
274
by the groupId which identifies the group entry. Data is encoded into the groupId to specify the OF-DPA
275
group entry type and information required by OF-DPA to configure the datapath.
276
277
The groupId encoding method is:
278
279
L2 Interface, L2 Rewrite types:
280
(MSB to LSB) 4 bits encode the Group Table Entry type |12 bits of VLAN ID | 16 bits of port identifier
281
282
L2 Multicast, L2 Flood, L3 Multicast, and L3 Interface types:
283
(MSB to LSB) 4 bits encode the Group Table Entry type |12 bits of VLAN ID | 16 bits of index
284
285
L3 Unicast and L3 ECMP types:
286
(MSB to LSB) 4 bits encode the Group Table Entry type | 28 bits of index
287
288
*/
289
290
/* APIs for getting/setting group IDs -- set APIs must set the type first. */
291
292
/*****************************************************************/
303
OFDPA_ERROR_t
ofdpaGroupTypeGet
(uint32_t groupId, uint32_t *type);
304
305
/*****************************************************************/
318
OFDPA_ERROR_t
ofdpaGroupVlanGet
(uint32_t groupId, uint32_t *vlanId);
319
320
/*****************************************************************/
332
OFDPA_ERROR_t
ofdpaGroupPortIdGet
(uint32_t groupId, uint32_t *portId);
333
334
/*****************************************************************/
346
OFDPA_ERROR_t
ofdpaGroupIndexGet
(uint32_t groupId, uint32_t *index);
347
348
/*****************************************************************/
359
OFDPA_ERROR_t
ofdpaGroupTypeSet
(uint32_t *groupId, uint32_t type);
360
361
/*****************************************************************/
374
OFDPA_ERROR_t
ofdpaGroupVlanSet
(uint32_t *groupId, uint32_t vlanId);
375
376
/*****************************************************************/
388
OFDPA_ERROR_t
ofdpaGroupOverlayTunnelIdGet
(uint32_t groupId, uint32_t *tunnelId);
389
390
/*****************************************************************/
402
OFDPA_ERROR_t
ofdpaGroupOverlayTunnelIdSet
(uint32_t *groupId, uint32_t tunnelId);
403
404
/*****************************************************************/
416
OFDPA_ERROR_t
ofdpaGroupOverlaySubTypeGet
(uint32_t groupId,
OFDPA_L2_OVERLAY_SUBTYPE_t
*subType);
417
418
/*****************************************************************/
430
OFDPA_ERROR_t
ofdpaGroupOverlaySubTypeSet
(uint32_t *groupId,
OFDPA_L2_OVERLAY_SUBTYPE_t
subType);
431
432
/*****************************************************************/
444
OFDPA_ERROR_t
ofdpaGroupOverlayIndexGet
(uint32_t groupId, uint32_t *index);
445
446
/*****************************************************************/
458
OFDPA_ERROR_t
ofdpaGroupOverlayIndexSet
(uint32_t *groupId, uint32_t index);
459
460
/*****************************************************************/
472
OFDPA_ERROR_t
ofdpaGroupMplsL2TunnelIdGet
(uint32_t groupId, uint32_t *tunnelId);
473
474
/*****************************************************************/
486
OFDPA_ERROR_t
ofdpaGroupMplsL2TunnelIdSet
(uint32_t *groupId, uint32_t tunnelId);
487
488
/*****************************************************************/
501
OFDPA_ERROR_t
ofdpaGroupMplsSubTypeGet
(uint32_t groupId, uint32_t *subType);
502
503
/*****************************************************************/
516
OFDPA_ERROR_t
ofdpaGroupMplsSubTypeSet
(uint32_t *groupId, uint32_t subType);
517
518
/*****************************************************************/
530
OFDPA_ERROR_t
ofdpaGroupPortIdSet
(uint32_t *groupId, uint32_t portId);
531
532
/*****************************************************************/
544
OFDPA_ERROR_t
ofdpaGroupIndexSet
(uint32_t *groupId, uint32_t index);
545
546
/*****************************************************************/
559
OFDPA_ERROR_t
ofdpaGroupDecode
(uint32_t groupId,
char
*outBuf,
int
bufSize);
560
561
/*****************************************************************/
575
OFDPA_ERROR_t
ofdpaGroupBucketEntryDecode
(
ofdpaGroupBucketEntry_t
*bucketEntry,
char
*outBuf,
int
bufSize);
576
577
/*****************************************************************/
589
const
char
*
ofdpaQosColorDecode
(OFDPA_QOS_COLORS_t color);
590
591
/*****************************************************************/
603
const
char
*
ofdpaFlowTableNameGet
(
OFDPA_FLOW_TABLE_ID_t
tableId);
604
605
/*****************************************************************/
618
OFDPA_ERROR_t
ofdpaFlowEntryDecode
(
ofdpaFlowEntry_t
*flow,
char
*outBuf,
int
bufSize);
619
620
/*****************************************************************/
634
OFDPA_ERROR_t
ofdpaGroupAdd
(
ofdpaGroupEntry_t
*group);
635
636
/*****************************************************************/
647
OFDPA_ERROR_t
ofdpaGroupDelete
(uint32_t groupId);
648
649
/*****************************************************************/
660
OFDPA_ERROR_t
ofdpaGroupNextGet
(uint32_t groupId,
ofdpaGroupEntry_t
*nextGroup);
661
662
/*****************************************************************/
674
OFDPA_ERROR_t
ofdpaGroupTypeNextGet
(uint32_t groupId,
675
OFDPA_GROUP_ENTRY_TYPE_t
groupType,
676
ofdpaGroupEntry_t
*nextGroup);
677
678
/*****************************************************************/
689
OFDPA_ERROR_t
ofdpaGroupStatsGet
(uint32_t groupId,
ofdpaGroupEntryStats_t
*groupStats);
690
691
/*
692
Group Table entries contain one or more Action Buckets depending on their type.
693
The Group Bucket Table stores these references. It is indexed by groupId and referenceGroupId. The presence
694
of an entry in this table creates a referral by the Group Table entry specified in groupId to the Group Table
695
entry specified in referenceGroupId. Restrictions on the number of references and the allowable type of the
696
referenced Group Table entries varies by entry type.
697
*/
698
699
/*****************************************************************/
716
OFDPA_ERROR_t
ofdpaGroupBucketEntryAdd
(
ofdpaGroupBucketEntry_t
*bucket);
717
718
/*****************************************************************/
732
OFDPA_ERROR_t
ofdpaGroupBucketEntryDelete
(uint32_t groupId, uint32_t bucketIndex);
733
734
/*****************************************************************/
746
OFDPA_ERROR_t
ofdpaGroupBucketsDeleteAll
(uint32_t groupId);
747
748
/*****************************************************************/
760
OFDPA_ERROR_t
ofdpaGroupBucketEntryGet
(uint32_t groupId, uint32_t bucketIndex,
761
ofdpaGroupBucketEntry_t
*groupBucket);
762
763
/*****************************************************************/
774
OFDPA_ERROR_t
ofdpaGroupBucketEntryFirstGet
(uint32_t groupId,
775
ofdpaGroupBucketEntry_t
*firstGroupBucket);
776
777
/*****************************************************************/
789
OFDPA_ERROR_t
ofdpaGroupBucketEntryNextGet
(uint32_t groupId, uint32_t bucketIndex,
790
ofdpaGroupBucketEntry_t
*nextBucketEntry);
791
792
/*****************************************************************/
804
OFDPA_ERROR_t
ofdpaGroupBucketEntryModify
(
ofdpaGroupBucketEntry_t
*bucket);
805
806
/*****************************************************************/
815
OFDPA_ERROR_t
ofdpaGroupTableTotalEntryCountGet
(uint32_t *entryCount);
816
817
/*****************************************************************/
828
OFDPA_ERROR_t
ofdpaGroupTableInfoGet
(uint32_t groupId,
ofdpaGroupTableInfo_t
*info);
829
830
/*****************************************************************/
839
void
ofdpaPortTypeGet
(uint32_t portNum, uint32_t *type);
840
841
/*****************************************************************/
850
void
ofdpaPortTypeSet
(uint32_t *portNum, uint32_t type);
851
852
/*****************************************************************/
861
void
ofdpaPortIndexGet
(uint32_t portNum, uint32_t *index);
862
863
/*****************************************************************/
872
void
ofdpaPortIndexSet
(uint32_t *portNum, uint32_t index);
873
874
/*****************************************************************/
885
OFDPA_ERROR_t
ofdpaPortNextGet
(uint32_t portNum, uint32_t *nextPortNum);
886
887
/*****************************************************************/
898
OFDPA_ERROR_t
ofdpaPortMacGet
(uint32_t portNum,
ofdpaMacAddr_t
*mac);
899
900
/*****************************************************************/
915
OFDPA_ERROR_t
ofdpaPortNameGet
(uint32_t portNum,
ofdpa_buffdesc
*name);
916
917
/*****************************************************************/
928
OFDPA_ERROR_t
ofdpaPortStateGet
(uint32_t portNum, uint32_t *state);
929
930
/*****************************************************************/
941
OFDPA_ERROR_t
ofdpaPortConfigSet
(uint32_t portNum,
OFDPA_PORT_CONFIG_t
config);
942
943
/*****************************************************************/
954
OFDPA_ERROR_t
ofdpaPortConfigGet
(uint32_t portNum, uint32_t *config);
955
956
/*****************************************************************/
967
OFDPA_ERROR_t
ofdpaPortMaxSpeedGet
(uint32_t portNum, uint32_t *maxSpeed);
968
969
/*****************************************************************/
980
OFDPA_ERROR_t
ofdpaPortCurrSpeedGet
(uint32_t portNum, uint32_t *currSpeed);
981
982
/*****************************************************************/
993
OFDPA_ERROR_t
ofdpaPortFeatureGet
(uint32_t portNum,
ofdpaPortFeature_t
*feature);
994
995
/*****************************************************************/
1006
OFDPA_ERROR_t
ofdpaPortAdvertiseFeatureSet
(uint32_t portNum, uint32_t advertise);
1007
1008
/*****************************************************************/
1019
OFDPA_ERROR_t
ofdpaPortStatsClear
(uint32_t portNum);
1020
1021
/*****************************************************************/
1040
OFDPA_ERROR_t
ofdpaPortStatsGet
(uint32_t portNum,
ofdpaPortStats_t
*stats);
1041
1042
/*****************************************************************/
1051
void
ofdpaMplsL2PortTypeGet
(uint32_t portNum, uint32_t *type);
1052
1053
/*****************************************************************/
1062
void
ofdpaMplsL2PortTypeSet
(uint32_t *portNum, uint32_t type);
1063
1064
/*****************************************************************/
1073
void
ofdpaMplsL2PortIndexGet
(uint32_t portNum, uint32_t *index);
1074
1075
/*****************************************************************/
1084
void
ofdpaMplsL2PortIndexSet
(uint32_t *portNum, uint32_t index);
1085
1086
/*****************************************************************/
1095
void
ofdpaTunnelIdTypeGet
(uint32_t tunnelId, uint32_t *type);
1096
1097
/*****************************************************************/
1106
void
ofdpaTunnelIdIndexGet
(uint32_t tunnelId, uint32_t *index);
1107
1108
/*****************************************************************/
1117
void
ofdpaTunnelIdTypeSet
(uint32_t *tunnelId, uint32_t type);
1118
1119
/*****************************************************************/
1128
void
ofdpaTunnelIdIndexSet
(uint32_t *tunnelId, uint32_t index);
1129
1130
/*****************************************************************/
1145
OFDPA_ERROR_t
ofdpaTunnelPortCreate
(uint32_t portNum,
ofdpa_buffdesc
*name,
ofdpaTunnelPortConfig_t
*config);
1146
1147
/*****************************************************************/
1158
OFDPA_ERROR_t
ofdpaTunnelPortDelete
(uint32_t portNum);
1159
1160
/*****************************************************************/
1178
OFDPA_ERROR_t
ofdpaTunnelPortGet
(uint32_t portNum,
1179
ofdpaTunnelPortConfig_t
*config,
1180
ofdpaTunnelPortStatus_t
*status);
1181
1182
/*****************************************************************/
1193
OFDPA_ERROR_t
ofdpaTunnelPortNextGet
(uint32_t portNum, uint32_t *nextPortNum);
1194
1195
/*****************************************************************/
1212
OFDPA_ERROR_t
ofdpaTunnelPortTenantAdd
(uint32_t portNum, uint32_t tunnelId);
1213
1214
/*****************************************************************/
1225
OFDPA_ERROR_t
ofdpaTunnelPortTenantDelete
(uint32_t portNum, uint32_t tunnelId);
1226
1227
/*****************************************************************/
1245
OFDPA_ERROR_t
ofdpaTunnelPortTenantGet
(uint32_t portNum, uint32_t tunnelId,
ofdpaTunnelPortTenantStatus_t
*status);
1246
1247
/*****************************************************************/
1261
OFDPA_ERROR_t
ofdpaTunnelPortTenantNextGet
(uint32_t portNum, uint32_t tunnelId, uint32_t *nextTunnelId);
1262
1263
/*****************************************************************/
1278
OFDPA_ERROR_t
ofdpaTunnelTenantCreate
(uint32_t tunnelId,
ofdpaTunnelTenantConfig_t
*config);
1279
1280
/*****************************************************************/
1293
OFDPA_ERROR_t
ofdpaTunnelTenantDelete
(uint32_t tunnelId);
1294
1295
/*****************************************************************/
1313
OFDPA_ERROR_t
ofdpaTunnelTenantGet
(uint32_t tunnelId,
1314
ofdpaTunnelTenantConfig_t
*config,
1315
ofdpaTunnelTenantStatus_t
*status);
1316
1317
/*****************************************************************/
1328
OFDPA_ERROR_t
ofdpaTunnelTenantNextGet
(uint32_t tunnelId, uint32_t *nextTunnelId);
1329
1330
/*****************************************************************/
1344
OFDPA_ERROR_t
ofdpaTunnelNextHopCreate
(uint32_t nextHopId,
ofdpaTunnelNextHopConfig_t
*config);
1345
1346
/*****************************************************************/
1359
OFDPA_ERROR_t
ofdpaTunnelNextHopDelete
(uint32_t nextHopId);
1360
1361
/*****************************************************************/
1380
OFDPA_ERROR_t
ofdpaTunnelNextHopModify
(uint32_t nextHopId,
ofdpaTunnelNextHopConfig_t
*config);
1381
1382
/*****************************************************************/
1400
OFDPA_ERROR_t
ofdpaTunnelNextHopGet
(uint32_t nextHopId,
1401
ofdpaTunnelNextHopConfig_t
*config,
1402
ofdpaTunnelNextHopStatus_t
*status);
1403
1404
/*****************************************************************/
1415
OFDPA_ERROR_t
ofdpaTunnelNextHopNextGet
(uint32_t nextHopId, uint32_t *nextNextHopId);
1416
1417
/*****************************************************************/
1431
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupCreate
(uint32_t ecmpNextHopGroupId,
ofdpaTunnelEcmpNextHopGroupConfig_t
*config);
1432
1433
/*****************************************************************/
1446
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupDelete
(uint32_t ecmpNextHopGroupId);
1447
1448
/*****************************************************************/
1466
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupGet
(uint32_t ecmpNextHopGroupId,
1467
ofdpaTunnelEcmpNextHopGroupConfig_t
*config,
1468
ofdpaTunnelEcmpNextHopGroupStatus_t
*status);
1469
1470
/*****************************************************************/
1481
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupNextGet
(uint32_t ecmpNextHopGroupId, uint32_t *nextEcmpNextHopGroupId);
1482
1483
/*****************************************************************/
1493
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupMaxMembersGet
(uint32_t *maxMemberCount);
1494
1495
/*****************************************************************/
1512
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupMemberAdd
(uint32_t ecmpNextHopGroupId, uint32_t nextHopId);
1513
1514
/*****************************************************************/
1526
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupMemberDelete
(uint32_t ecmpNextHopGroupId, uint32_t nextHopId);
1527
1528
/*****************************************************************/
1538
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupMemberGet
(uint32_t ecmpNextHopListGroupId, uint32_t nextHopId);
1539
1540
/*****************************************************************/
1552
OFDPA_ERROR_t
ofdpaTunnelEcmpNextHopGroupMemberNextGet
(uint32_t ecmpNextHopListGroupId, uint32_t nextHopId, uint32_t *nextNextHopId);
1553
1554
/*****************************************************************/
1580
OFDPA_ERROR_t
ofdpaPktSend
(
ofdpa_buffdesc
*pkt, uint32_t flags, uint32_t outPortNum, uint32_t inPortNum);
1581
1582
/*****************************************************************/
1592
OFDPA_ERROR_t
ofdpaMaxPktSizeGet
(uint32_t *pktSize);
1593
1594
/*------------------------------------------------------------------------------------*/
1595
/* Event APIs */
1596
1597
/*
1598
Asynchronous events: Have classified them into two broad category:
1599
Packet In : Packet received from the hardware to be sent to the controller
1600
Control messages: Events like Port creation, deletion, link state, Flow age and Error
1601
1602
The packet In events can have a high frequency, so we want to ensure that there is
1603
separate control for polling of these two event types to give flexibility to the agent
1604
*/
1605
1606
/*****************************************************************/
1620
OFDPA_ERROR_t
ofdpaClientEventSockBind
(
void
);
1621
1622
/*****************************************************************/
1629
int
ofdpaClientEventSockFdGet
(
void
);
1630
1631
/*****************************************************************/
1645
OFDPA_ERROR_t
ofdpaClientPktSockBind
(
void
);
1646
1647
/*****************************************************************/
1654
int
ofdpaClientPktSockFdGet
(
void
);
1655
1656
/*****************************************************************/
1688
OFDPA_ERROR_t
ofdpaPktReceive
(
struct
timeval *timeout,
ofdpaPacket_t
*pkt);
1689
1690
1691
/*****************************************************************/
1702
OFDPA_ERROR_t
ofdpaEventReceive
(
struct
timeval *timeout);
1703
1704
/*****************************************************************/
1717
OFDPA_ERROR_t
ofdpaPortEventNextGet
(
ofdpaPortEvent_t
*eventData);
1718
1719
/*****************************************************************/
1731
OFDPA_ERROR_t
ofdpaPortEventGet
(
ofdpaPortEvent_t
*eventData);
1732
1733
/*****************************************************************/
1746
OFDPA_ERROR_t
ofdpaFlowEventNextGet
(
ofdpaFlowEvent_t
*eventData);
1747
1748
/*****************************************************************/
1758
OFDPA_ERROR_t
ofdpaOamEventNextGet
(
ofdpaOamEvent_t
*eventData);
1759
1760
/*------------------------------------------------------------------------------------*/
1761
/* Table APIs */
1762
1763
/* Get information for a given table Id */
1764
1765
/*****************************************************************/
1776
OFDPA_ERROR_t
ofdpaFlowTableInfoGet
(
OFDPA_FLOW_TABLE_ID_t
tableId,
ofdpaFlowTableInfo_t
*info);
1777
1778
/*------------------------------------------------------------------------------------*/
1779
/* Queue APIs */
1780
1781
/*****************************************************************/
1794
OFDPA_ERROR_t
ofdpaNumQueuesGet
(uint32_t portNum, uint32_t *numQueues);
1795
1796
/*****************************************************************/
1810
OFDPA_ERROR_t
ofdpaQueueStatsGet
(uint32_t portNum, uint32_t queueId,
ofdpaPortQueueStats_t
*stats);
1811
1812
/*****************************************************************/
1825
OFDPA_ERROR_t
ofdpaQueueStatsClear
(uint32_t portNum, uint32_t queueId);
1826
1827
/*****************************************************************/
1843
OFDPA_ERROR_t
ofdpaQueueRateSet
(uint32_t portNum, uint32_t queueId, uint32_t minRate, uint32_t maxRate);
1844
1845
/*****************************************************************/
1861
OFDPA_ERROR_t
ofdpaQueueRateGet
(uint32_t portNum, uint32_t queueId, uint32_t *minRate, uint32_t *maxRate);
1862
1863
/*------------------------------------------------------------------------------------*/
1864
/* Vendor Extension APIs */
1865
1866
/*****************************************************************/
1883
OFDPA_ERROR_t
ofdpaSourceMacLearningSet
(
OFDPA_CONTROL_t
mode,
ofdpaSrcMacLearnModeCfg_t
*srcMacLearnModeCfg);
1884
1885
/*****************************************************************/
1899
OFDPA_ERROR_t
ofdpaSourceMacLearningGet
(
OFDPA_CONTROL_t
*mode,
ofdpaSrcMacLearnModeCfg_t
*srcMacLearnModeCfg);
1900
1901
/*****************************************************************/
1911
OFDPA_ERROR_t
ofdpaGroupEntryInit
(
OFDPA_GROUP_ENTRY_TYPE_t
groupType,
ofdpaGroupEntry_t
*group);
1912
1913
/*****************************************************************/
1923
OFDPA_ERROR_t
ofdpaGroupBucketEntryInit
(
OFDPA_GROUP_ENTRY_TYPE_t
groupType,
ofdpaGroupBucketEntry_t
*bucket);
1924
1925
/*****************************************************************/
1938
OFDPA_ERROR_t
ofdpaMeterAdd
(uint32_t meterId,
ofdpaMeterEntry_t
*meter);
1939
1940
/*****************************************************************/
1951
OFDPA_ERROR_t
ofdpaMeterDelete
(uint32_t meterId);
1952
1953
/*****************************************************************/
1964
OFDPA_ERROR_t
ofdpaMeterGet
(uint32_t meterId,
ofdpaMeterEntry_t
*meter);
1965
1966
/*****************************************************************/
1977
OFDPA_ERROR_t
ofdpaMeterNextGet
(uint32_t meterId, uint32_t *nextMeterId);
1978
1979
/*****************************************************************/
1990
OFDPA_ERROR_t
ofdpaMeterStatsGet
(uint32_t meterId,
ofdpaMeterEntryStats_t
*meterStats);
1991
1992
/*****************************************************************/
2000
OFDPA_ERROR_t
ofdpaMeterEntryInit
(
ofdpaMeterEntry_t
*meter);
2001
2002
/*****************************************************************/
2016
OFDPA_ERROR_t
ofdpaOamMegCreate
(uint32_t megIndex,
ofdpaOamMegConfig_t
*config);
2017
2018
/*****************************************************************/
2029
OFDPA_ERROR_t
ofdpaOamMegDelete
(uint32_t megIndex);
2030
2031
/*****************************************************************/
2049
OFDPA_ERROR_t
ofdpaOamMegGet
(uint32_t megIndex,
2050
ofdpaOamMegConfig_t
*config,
2051
ofdpaOamMegStatus_t
*status);
2052
2053
/*****************************************************************/
2065
OFDPA_ERROR_t
ofdpaOamMegNextGet
(uint32_t megIndex, uint32_t *nextMegIndex);
2066
2067
/*****************************************************************/
2081
OFDPA_ERROR_t
ofdpaOamMepCreate
(uint32_t lmepId,
ofdpaOamMepConfig_t
*config);
2082
2083
/*****************************************************************/
2094
OFDPA_ERROR_t
ofdpaOamMepDelete
(uint32_t lmepId);
2095
2096
/*****************************************************************/
2114
OFDPA_ERROR_t
ofdpaOamMepGet
(uint32_t lmepId,
2115
ofdpaOamMepConfig_t
*config,
2116
ofdpaOamMepStatus_t
*status);
2117
2118
/*****************************************************************/
2130
OFDPA_ERROR_t
ofdpaOamMepNextGet
(uint32_t lmepId, uint32_t *nextLmepId);
2131
2132
/*****************************************************************/
2146
OFDPA_ERROR_t
ofdpaOamMipCreate
(uint32_t localMpId,
ofdpaOamMipConfig_t
*config);
2147
2148
/*****************************************************************/
2159
OFDPA_ERROR_t
ofdpaOamMipDelete
(uint32_t localMpId);
2160
2161
/*****************************************************************/
2179
OFDPA_ERROR_t
ofdpaOamMipGet
(uint32_t localMpId,
2180
ofdpaOamMipConfig_t
*config,
2181
ofdpaOamMipStatus_t
*status);
2182
2183
/*****************************************************************/
2194
OFDPA_ERROR_t
ofdpaOamMipNextGet
(uint32_t localMpId, uint32_t *nextLocalMpId);
2195
2196
/*****************************************************************/
2210
OFDPA_ERROR_t
ofdpaOamRemoteMpCreate
(uint32_t remoteMpId,
ofdpaOamRemoteMpConfig_t
*config);
2211
2212
/*****************************************************************/
2223
OFDPA_ERROR_t
ofdpaOamRemoteMpDelete
(uint32_t remoteMpId);
2224
2225
/*****************************************************************/
2236
OFDPA_ERROR_t
ofdpaOamRemoteMpGet
(uint32_t remoteMpId,
2237
ofdpaOamRemoteMpConfig_t
*config);
2238
2239
/*****************************************************************/
2250
OFDPA_ERROR_t
ofdpaOamRemoteMpNextGet
(uint32_t remoteMpId,
2251
uint32_t *nextRemoteMpId);
2252
2253
/*****************************************************************/
2271
OFDPA_ERROR_t
ofdpaOamMepCCMDatabaseEntryGet
(uint32_t lmepId,
2272
uint32_t remoteMepId,
2273
ofdpaOamCcmDatabaseEntry_t
*dbEntry);
2274
2275
/*****************************************************************/
2287
OFDPA_ERROR_t
ofdpaOamMepCCMDatabaseEntryNextGet
(uint32_t lmepId,
2288
uint32_t remoteMepId,
2289
uint32_t *nextRemoteMepId);
2290
2291
/*****************************************************************/
2308
OFDPA_ERROR_t
ofdpaOamMepLtrEntryGet
(uint32_t lmepId,
2309
uint32_t index,
2310
ofdpaOamLtrEntry_t
*ltrEntry);
2311
2312
/*****************************************************************/
2324
OFDPA_ERROR_t
ofdpaOamMepLtrEntryNextGet
(uint32_t lmepId,
2325
uint32_t index,
2326
uint32_t *nextIndex);
2327
2328
/*****************************************************************/
2338
OFDPA_ERROR_t
ofdpaOamOnDemandLmStart
(uint32_t lmepId,
2339
ofdpaOamOdLmConfig_t
*config);
2340
2341
/*****************************************************************/
2351
OFDPA_ERROR_t
ofdpaOamOnDemandDmStart
(uint32_t lmepId,
2352
ofdpaOamOdDmConfig_t
*config);
2353
2354
/*****************************************************************/
2365
OFDPA_ERROR_t
ofdpaOamMLPGroupCreate
(uint32_t index,
ofdpaOamMLPGroupConfig_t
*config);
2366
2367
/*****************************************************************/
2377
OFDPA_ERROR_t
ofdpaOamMLPGroupDelete
(uint32_t index);
2378
2379
/*****************************************************************/
2397
OFDPA_ERROR_t
ofdpaOamMLPGroupGet
(uint32_t index,
2398
ofdpaOamMLPGroupConfig_t
*config,
2399
ofdpaOamMLPGroupStatus_t
*status);
2400
2401
/*****************************************************************/
2413
OFDPA_ERROR_t
ofdpaOamMLPGroupNextGet
(uint32_t index, uint32_t *nextIndex);
2414
2415
/*****************************************************************/
2426
OFDPA_ERROR_t
ofdpaOamMLPGroupRequest
(uint32_t index, OFDPA_PROTECTION_SWITCH_REQUEST_TYPE_t request);
2427
2428
/*****************************************************************/
2442
OFDPA_ERROR_t
ofdpaOamMepProtectionAdd
(uint32_t mlpGroupIndex, uint32_t lmepId);
2443
2444
/*****************************************************************/
2455
OFDPA_ERROR_t
ofdpaOamMepProtectionRemove
(uint32_t mlpGroupIndex, uint32_t lmepId);
2456
2457
/*****************************************************************/
2467
OFDPA_ERROR_t
ofdpaOamMepProtectionGet
(uint32_t mlpGroupIndex, uint32_t lmepId);
2468
2469
/*****************************************************************/
2482
OFDPA_ERROR_t
ofdpaOamMepProtectionNextGet
(uint32_t mlpGroupIndex, uint32_t lmepId, uint32_t *nextLmepId);
2483
2484
/*****************************************************************/
2496
OFDPA_ERROR_t
ofdpaMplsQosActionAdd
(
ofdpaMplsQosEntry_t
*mplsQosEntry);
2497
2498
/*****************************************************************/
2509
OFDPA_ERROR_t
ofdpaMplsQosActionDelete
(
ofdpaMplsQosEntry_t
*mplsQosEntry);
2510
2511
/*****************************************************************/
2523
OFDPA_ERROR_t
ofdpaMplsQosActionEntryGet
(uint8_t qosIndex, uint8_t mpls_tc,
ofdpaMplsQosEntry_t
*mplsQosEntry);
2524
2525
/*****************************************************************/
2543
OFDPA_ERROR_t
ofdpaMplsQosEntryNextGet
(
ofdpaMplsQosEntry_t
*mplsQosEntry,
ofdpaMplsQosEntry_t
*nextEntry);
2544
2545
/*****************************************************************/
2553
OFDPA_ERROR_t
ofdpaMplsQosEntryInit
(
ofdpaMplsQosEntry_t
*mplsQosEntry);
2554
2555
/*****************************************************************/
2567
OFDPA_ERROR_t
ofdpaDropStatusAdd
(
ofdpaDropStatusEntry_t
*dropEntry);
2568
2569
/*****************************************************************/
2580
OFDPA_ERROR_t
ofdpaDropStatusDelete
(uint32_t lmepId);
2581
2582
/*****************************************************************/
2593
OFDPA_ERROR_t
ofdpaDropStatusGet
(uint32_t lmepId,
ofdpaDropStatusEntry_t
*dropEntry);
2594
2595
/*****************************************************************/
2606
OFDPA_ERROR_t
ofdpaDropStatusNextGet
(uint32_t lmepId,
ofdpaDropStatusEntry_t
*nextDropEntry);
2607
2608
/*****************************************************************/
2619
OFDPA_ERROR_t
ofdpaDropStatusActionGet
(uint32_t lmepId, uint8_t *dropAction);
2620
2621
/*****************************************************************/
2629
OFDPA_ERROR_t
ofdpaDropStatusEntryInit
(
ofdpaDropStatusEntry_t
*dropEntry);
2630
2631
/*****************************************************************/
2644
OFDPA_ERROR_t
ofdpaOamDataCounterAdd
(uint32_t lmepId, uint8_t trafficClass);
2645
2646
/*****************************************************************/
2658
OFDPA_ERROR_t
ofdpaOamDataCounterDelete
(uint32_t lmepId, uint8_t trafficClass);
2659
2660
/*****************************************************************/
2672
OFDPA_ERROR_t
ofdpaOamDataCounterStatusGet
(uint32_t lmepId, uint8_t trafficClass,
ofdpaOamDataCounterStatus_t
*status);
2673
2674
/*****************************************************************/
2685
OFDPA_ERROR_t
ofdpaOamDataCounterGet
(
ofdpaOamDataCounterIndex_t
index,
ofdpaOamDataCounterStatus_t
*status);
2686
/*****************************************************************/
2698
OFDPA_ERROR_t
ofdpaOamDataCounterNextGet
(
ofdpaOamDataCounterIndex_t
index,
ofdpaOamDataCounterIndex_t
*nextIndex,
2699
ofdpaOamDataCounterStatus_t
*status);
2700
2701
/*****************************************************************/
2712
OFDPA_ERROR_t
ofdpaOamDataCountersLMGet
(
ofdpaOamDataCounterIndex_t
index, uint32_t *TxFCl, uint32_t *RxFCl);
2713
2714
/*****************************************************************/
2723
OFDPA_ERROR_t
ofdpaOamDataCountersLMClear
(
ofdpaOamDataCounterIndex_t
index);
2724
2725
/*****************************************************************/
2737
OFDPA_ERROR_t
ofdpaRemarkActionAdd
(
ofdpaRemarkActionEntry_t
*remarkEntry);
2738
2739
/*****************************************************************/
2750
OFDPA_ERROR_t
ofdpaRemarkActionDelete
(
ofdpaRemarkActionEntry_t
*remarkEntry);
2751
2752
/*****************************************************************/
2762
OFDPA_ERROR_t
ofdpaRemarkActionEntryGet
(
ofdpaRemarkActionEntry_t
*remarkEntry);
2763
2764
/*****************************************************************/
2782
OFDPA_ERROR_t
ofdpaRemarkEntryNextGet
(
ofdpaRemarkActionEntry_t
*remarkEntry,
ofdpaRemarkActionEntry_t
*nextEntry);
2783
2784
/* Development utility APIs */
2785
/*****************************************************************/
2793
int
ofdpaDebugLvl
(
int
lvl);
2794
2795
/*****************************************************************/
2802
int
ofdpaDebugLvlGet
(
void
);
2803
2804
/*****************************************************************/
2814
OFDPA_ERROR_t
ofdpaComponentNameGet
(
int
component,
ofdpa_buffdesc
*name);
2815
2816
/*****************************************************************/
2826
int
ofdpaDebugComponentSet
(
int
component,
int
enable);
2827
2828
/*****************************************************************/
2836
int
ofdpaDebugComponentGet
(
int
component);
2837
2838
/*****************************************************************/
2847
int
ofdpaBcmCommand
(
ofdpa_buffdesc
buffer);
2848
2849
OFDPA_ERROR_t
ofdpaDevshellCommand(
ofdpa_buffdesc
buffer);
2850
2851
/*****************************************************************/
2865
OFDPA_ERROR_t
ofdpaOamLbCreate
(uint32_t lmepId,
ofdpaOamLbConfig_t
*config);
2866
2867
/*****************************************************************/
2877
OFDPA_ERROR_t
ofdpaOamLbStart
(uint32_t lmepId);
2878
2879
/*****************************************************************/
2889
OFDPA_ERROR_t
ofdpaOamLbStop
(uint32_t lmepId);
2890
2891
/*****************************************************************/
2903
OFDPA_ERROR_t
ofdpaOamLbGet
(uint32_t lmepId,
ofdpaOamLbConfig_t
*config,
ofdpaOamLbStatus_t
*status);
2904
2905
/*****************************************************************/
2920
OFDPA_ERROR_t
ofdpaOamProLmCreate
(uint32_t lmepId,
ofdpaOamProLmConfig_t
*config);
2921
2922
/*****************************************************************/
2934
OFDPA_ERROR_t
ofdpaOamProLmDelete
(uint32_t lmepId);
2935
2936
/*****************************************************************/
2955
OFDPA_ERROR_t
ofdpaOamProLmGet
(uint32_t lmepId,
ofdpaOamProLmConfig_t
*config,
2956
ofdpaOamProLmStatus_t
*status);
2957
2958
/*****************************************************************/
2969
OFDPA_ERROR_t
ofdpaOamProLmCountersGet
(uint32_t lmepId,
ofdpaOamProLmCounters_t
*counters);
2970
2971
/*****************************************************************/
2986
OFDPA_ERROR_t
ofdpaOamProDmCreate
(uint32_t lmepId,
ofdpaOamProDmConfig_t
*config);
2987
2988
/*****************************************************************/
3000
OFDPA_ERROR_t
ofdpaOamProDmDelete
(uint32_t lmepId);
3001
3002
/*****************************************************************/
3021
OFDPA_ERROR_t
ofdpaOamProDmGet
(uint32_t lmepId,
ofdpaOamProDmConfig_t
*config,
3022
ofdpaOamProDmStatus_t
*status);
3023
3024
/*****************************************************************/
3035
OFDPA_ERROR_t
ofdpaOamProDmCountersGet
(uint32_t lmepId,
ofdpaOamProDmCounters_t
*counters);
3036
3037
/*****************************************************************/
3052
OFDPA_ERROR_t
ofdpaOamOdLmCreate
(uint32_t lmepId,
ofdpaOamOdLmConfig_t
*config);
3053
3054
/*****************************************************************/
3066
OFDPA_ERROR_t
ofdpaOamOdLmDelete
(uint32_t lmepId);
3067
3068
/*****************************************************************/
3087
OFDPA_ERROR_t
ofdpaOamOdLmGet
(uint32_t lmepId,
ofdpaOamOdLmConfig_t
*config,
3088
ofdpaOamOdLmStatus_t
*status);
3089
3090
/*****************************************************************/
3101
OFDPA_ERROR_t
ofdpaOamOdLmCountersGet
(uint32_t lmepId,
ofdpaOamOdLmSnapshot_t
*counters);
3102
3103
/*****************************************************************/
3118
OFDPA_ERROR_t
ofdpaOamOdDmCreate
(uint32_t lmepId,
ofdpaOamOdDmConfig_t
*config);
3119
3120
/*****************************************************************/
3132
OFDPA_ERROR_t
ofdpaOamOdDmDelete
(uint32_t lmepId);
3133
3134
/*****************************************************************/
3152
OFDPA_ERROR_t
ofdpaOamOdDmGet
(uint32_t lmepId,
ofdpaOamOdDmConfig_t
*config,
3153
ofdpaOamOdDmStatus_t
*status);
3154
3155
/*****************************************************************/
3166
OFDPA_ERROR_t
ofdpaOamOdDmCountersGet
(uint32_t lmepId,
ofdpaOamOdDmSnapshot_t
*counters);
3167
3168
/*****************************************************************/
3179
OFDPA_ERROR_t
ofdpaOamOdLmStart
(uint32_t lmepId);
3180
3181
/*****************************************************************/
3192
OFDPA_ERROR_t
ofdpaOamOdLmStop
(uint32_t lmepId);
3193
3194
/*****************************************************************/
3205
OFDPA_ERROR_t
ofdpaOamOdDmStart
(uint32_t lmepId);
3206
3207
/*****************************************************************/
3218
OFDPA_ERROR_t
ofdpaOamOdDmStop
(uint32_t lmepId);
3219
3220
/*****************************************************************/
3231
OFDPA_ERROR_t
ofdpaOamProDmStart
(uint32_t lmepId);
3232
3233
/*****************************************************************/
3244
OFDPA_ERROR_t
ofdpaOamProDmStop
(uint32_t lmepId);
3245
3246
/*****************************************************************/
3257
OFDPA_ERROR_t
ofdpaOamProLmEnable
(uint32_t lmepId);
3258
3259
/*****************************************************************/
3270
OFDPA_ERROR_t
ofdpaOamProLmDisable
(uint32_t lmepId);
3271
3272
/*****************************************************************/
3286
OFDPA_ERROR_t
ofdpaOamLtStart
(uint32_t lmepId,
ofdpaOamLtConfig_t
*config);
3287
3288
/*****************************************************************/
3305
OFDPA_ERROR_t
ofdpaOamLtGet
(uint32_t lmepId,
ofdpaOamLtConfig_t
*config,
ofdpaOamLtStatus_t
*status);
3306
3307
/*****************************************************************/
3321
OFDPA_ERROR_t
ofdpaOamLtResultNextGet
(uint32_t lmepId, uint32_t sequenceNum, uint32_t receiveOrder,
ofdpaOamLtrEntry_t
*ltResult);
3322
3323
/*****************************************************************/
3335
OFDPA_ERROR_t
ofdpaOamCsfEnable
(uint32_t lmepId,
ofdpaOamCsfConfig_t
*config);
3336
3337
/*****************************************************************/
3348
OFDPA_ERROR_t
ofdpaOamCsfDisable
(uint32_t lmepId);
3349
3350
/*****************************************************************/
3362
OFDPA_ERROR_t
ofdpaOamAisEnable
(uint32_t lmepId,
ofdpaOamAisConfig_t
*config);
3363
3364
/*****************************************************************/
3375
OFDPA_ERROR_t
ofdpaOamAisDisable
(uint32_t lmepId);
3376
3377
/*****************************************************************/
3389
OFDPA_ERROR_t
ofdpaOamAisConfigGet
(uint32_t lmepId,
ofdpaOamAisConfig_t
*config);
3390
3391
/*****************************************************************/
3403
OFDPA_ERROR_t
ofdpaOamLckEnable
(uint32_t lmepId,
ofdpaOamLckConfig_t
*config);
3404
3405
/*****************************************************************/
3417
OFDPA_ERROR_t
ofdpaOamLckDisable
(uint32_t lmepId);
3418
3419
/*****************************************************************/
3431
OFDPA_ERROR_t
ofdpaOamLckConfigGet
(uint32_t lmepId,
ofdpaOamLckConfig_t
*config);
3432
3433
#endif
/* INCLUDE_OFDPA_API_H */
3434
© 2016 by Broadcom Corporation. All rights reserved.