Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.11.1.2
openapi_dot1x.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_dot1x.h
28 *
29 * @purpose IEEE 802.1x Configuration and Status
30 *
31 * @component OpEN
32 *
33 * @create 11/16/2016
34 *
35 * @end
36 *
37 **********************************************************************/
38 #ifndef OPENAPI_DOT1X_H_INCLUDED
39 #define OPENAPI_DOT1X_H_INCLUDED
40 
41 #include "openapi_common.h"
42 #include "openapi_user_manager.h"
43 
44 /* Port authorization mode */
45 typedef enum
46 {
47  OPEN_DOT1X_PORT_FORCE_UNAUTHORIZED = 1,
48  OPEN_DOT1X_PORT_AUTO = 2,
49  OPEN_DOT1X_PORT_FORCE_AUTHORIZED = 3,
50  OPEN_DOT1X_PORT_NA = 4,
51 } OPEN_DOT1X_PORT_CONTROL_t;
52 
53 /* Port authorization status */
54 typedef enum
55 {
56  OPEN_DOT1X_PORT_STATUS_AUTHORIZED = 1,
57  OPEN_DOT1X_PORT_STATUS_UNAUTHORIZED = 2,
58  OPEN_DOT1X_PORT_STATUS_NA = 3,
59 } OPEN_DOT1X_PORT_STATUS_t;
60 
61 /* PAE State Machine (APM) states */
62 typedef enum
63 {
64  OPEN_DOT1X_APM_INITIALIZE = 1,
65  OPEN_DOT1X_APM_DISCONNECTED = 2,
66  OPEN_DOT1X_APM_CONNECTING = 3,
67  OPEN_DOT1X_APM_AUTHENTICATING = 4,
68  OPEN_DOT1X_APM_AUTHENTICATED = 5,
69  OPEN_DOT1X_APM_ABORTING = 6,
70  OPEN_DOT1X_APM_HELD = 7,
71  OPEN_DOT1X_APM_FORCE_AUTH = 8,
72  OPEN_DOT1X_APM_FORCE_UNAUTH = 9,
73 } OPEN_DOT1X_APM_STATES_t;
74 
75 /* Backend State Machine (BAM) states */
76 typedef enum
77 {
78  OPEN_DOT1X_BAM_REQUEST = 1,
79  OPEN_DOT1X_BAM_RESPONSE = 2,
80  OPEN_DOT1X_BAM_SUCCESS = 3,
81  OPEN_DOT1X_BAM_FAIL = 4,
82  OPEN_DOT1X_BAM_TIMEOUT = 5,
83  OPEN_DOT1X_BAM_IDLE = 6,
84  OPEN_DOT1X_BAM_INITIALIZE = 7,
85 } OPEN_DOT1X_BAM_STATES_t;
86 
87 /* Vlan Assignment Mode */
88 typedef enum
89 {
90  OPEN_DOT1X_DEFAULT_ASSIGNED_VLAN = 1,
91  OPEN_DOT1X_RADIUS_ASSIGNED_VLAN = 2,
92  OPEN_DOT1X_UNAUTHENTICATED_VLAN = 3,
93  OPEN_DOT1X_GUEST_VLAN = 4,
94  OPEN_DOT1X_VOICE_VLAN = 5,
95  OPEN_DOT1X_MONITOR_MODE_VLAN = 6,
96  OPEN_DOT1X_NOT_ASSIGNED = 7,
97 } OPEN_DOT1X_VLAN_ASSIGNED_MODE_t;
98 
99 /*****************************************************************/
113 
114 /*****************************************************************/
128 
129 /*****************************************************************/
143 
144 /*****************************************************************/
158 
159 /*****************************************************************/
174 open_error_t openapiDot1xPortControlModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_PORT_CONTROL_t *mode);
175 
176 /*****************************************************************/
191 open_error_t openapiDot1xPortControlModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_PORT_CONTROL_t mode);
192 
193 /*****************************************************************/
208 open_error_t openapiDot1xPortGuestVlanGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *vlanId);
209 
210 /*****************************************************************/
225 open_error_t openapiDot1xPortGuestVlanSet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t vlanId);
226 
227 /*****************************************************************/
242 open_error_t openapiDot1xPortMabEnabledGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *mabEnabled);
243 
244 /*****************************************************************/
259 open_error_t openapiDot1xPortMabEnabledSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t mabEnabled);
260 
261 /*****************************************************************/
277  uint32_t ifNum, OPEN_DOT1X_PORT_CONTROL_t *mode);
278 
279 /*****************************************************************/
295  uint32_t ifNum, OPEN_DOT1X_PORT_STATUS_t *status);
296 
297 /*****************************************************************/
312  uint32_t ifNum, OPEN_DOT1X_APM_STATES_t *state);
313 
314 /*****************************************************************/
329  uint32_t ifNum, OPEN_DOT1X_BAM_STATES_t *state);
330 
331 /*****************************************************************/
347  uint32_t ifNum, OPEN_CONTROL_t *mode);
348 
349 /*****************************************************************/
365  uint32_t ifNum, uint32_t *vlan);
366 
367 /*****************************************************************/
383  uint32_t ifNum, OPEN_DOT1X_VLAN_ASSIGNED_MODE_t *reason);
384 
385 /*****************************************************************/
400 open_error_t openapiDot1xLogicalPortFirstGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *logicalIfNum);
401 
402 /*****************************************************************/
419 open_error_t openapiDot1xLogicalPortNextGet(openapiClientHandle_t *client_handle, uint32_t logicalIfNum, uint32_t *nextLogicalIfNum);
420 
421 /*****************************************************************/
439 
440 
441 /*****************************************************************/
458 open_error_t openapiDot1xLogicalPortVlanAssignmentGet(openapiClientHandle_t *client_handle, uint32_t logicalIfNum, uint32_t *vlan, OPEN_DOT1X_VLAN_ASSIGNED_MODE_t *reason);
459 
460 /*************************************************************************/
476 
477 /*************************************************************************/
493 
494 /*************************************************************************/
513 open_error_t openapiDot1xPortQuietPeriodSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t quietPeriod);
514 
515 /*************************************************************************/
534 open_error_t openapiDot1xPortQuietPeriodGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *quietPeriod);
535 
536 /*************************************************************************/
555 open_error_t openapiDot1xPortTxPeriodSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t txPeriod);
556 
557 /*************************************************************************/
576 open_error_t openapiDot1xPortTxPeriodGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *txPeriod);
577 
578 /*************************************************************************/
594 open_error_t openapiDot1xPortEapolFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapolFramesRx);
595 
596 /*************************************************************************/
612 open_error_t openapiDot1xPortEapolFramesTxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapolFramesTx);
613 
614 /*************************************************************************/
630 open_error_t openapiDot1xPortEapolStartFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapolStartFramesRx);
631 
632 /*************************************************************************/
648 open_error_t openapiDot1xPortEapolLogoffFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapolLogoffFramesRx);
649 
650 /*************************************************************************/
666 open_error_t openapiDot1xPortEapRespIdFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapRespIdFramesRx);
667 
668 /*************************************************************************/
684 open_error_t openapiDot1xPortEapResponseFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapResponseFramesRx);
685 
686 /*************************************************************************/
702 open_error_t openapiDot1xPortEapReqIdFramesTxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapReqIdFramesTx);
703 
704 /*************************************************************************/
720 open_error_t openapiDot1xPortEapReqFramesTxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapReqFramesTx);
721 
722 /*************************************************************************/
738 open_error_t openapiDot1xPortInvalidEapolFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *invalidEapolFramesRx);
739 
740 /*************************************************************************/
756 open_error_t openapiDot1xPortEapLengthErrorFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapLengthErrorFramesRx);
757 
758 /*************************************************************************/
774 open_error_t openapiDot1xPortLastEapolFrameVersionGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *lastEapolFrameVersion);
775 
776 /*************************************************************************/
792 open_error_t openapiDot1xPortLastEapolFrameSourceGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, open_buffdesc *lastEapolFrameSource);
793 
794 /*************************************************************************/
809 open_error_t openapiDot1xPortStatsClear(openapiClientHandle_t *client_handle, uint32_t intIfNum);
810 
811 #endif /* OPENAPI_DOT1X_H_INCLUDED */
812 
open_error_t openapiDot1xPortControlModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_PORT_CONTROL_t *mode)
Gets the dot1x port configured control mode.
open_error_t openapiDot1xLogicalPortVlanAssignmentGet(openapiClientHandle_t *client_handle, uint32_t logicalIfNum, uint32_t *vlan, OPEN_DOT1X_VLAN_ASSIGNED_MODE_t *reason)
Gets the dot1x assigned VLAN ID and reason for the specified logical interface.
open_error_t openapiDot1xPortLastEapolFrameSourceGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, open_buffdesc *lastEapolFrameSource)
Get the dot1x port Last Eapol Frame Source Stat.
open_error_t openapiDot1xPortStatsClear(openapiClientHandle_t *client_handle, uint32_t intIfNum)
Clear the dot1x stats on the specified port.
open_error_t openapiDot1xPortPaeStateGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_APM_STATES_t *state)
Gets the dot1x port PAE state.
open_error_t openapiDot1xPortControlModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_PORT_CONTROL_t mode)
Sets the dot1x port configured control mode.
open_error_t openapiDot1xPortTxPeriodSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t txPeriod)
Set the dot1x transmit period on the specified port.
open_error_t openapiDot1xPortInvalidEapolFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *invalidEapolFramesRx)
Get the dot1x port Invalid Eapol Frames Received Stat.
open_error_t openapiDot1xPortStatusGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_PORT_STATUS_t *status)
Gets the dot1x port status.
open_error_t openapiDot1xPortGuestVlanGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *vlanId)
Gets the dot1x port guest vlan ID.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiDot1xLogicalPortNextGet(openapiClientHandle_t *client_handle, uint32_t logicalIfNum, uint32_t *nextLogicalIfNum)
Gets the next dot1x logical interface identifier on the same physical port as the given logical inter...
open_error_t openapiDot1xPortEapReqFramesTxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapReqFramesTx)
Get the dot1x port Eap Request Frames Transmitted Stat.
open_error_t openapiDot1xSystemAuthControlModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
Sets the dot1x global administrative mode.
open_error_t openapiDot1xPortVlanAssignedGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *vlan)
Gets the dot1x port assigned VLAN.
open_error_t openapiDot1xPortTxPeriodGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *txPeriod)
Get the dot1x transmit period on the specified port.
open_error_t openapiDot1xLogicalPortFirstGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *logicalIfNum)
Gets the first dot1x logical interface identifier for a given physical port.
open_error_t openapiDot1xPortEapLengthErrorFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapLengthErrorFramesRx)
Get the dot1x port Eap Length error Frames Received Stat.
open_error_t openapiDot1xPortLastEapolFrameVersionGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *lastEapolFrameVersion)
Get the dot1x port Last Eapol Frame Version Stat.
open_error_t openapiDot1xPortGuestVlanSet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t vlanId)
Sets the dot1x port guest vlan ID.
open_error_t openapiDot1xPortEapolFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapolFramesRx)
Get the dot1x port Eapol Frames Received Stats.
open_error_t openapiDot1xDefaultAuthenMethodGet(openapiClientHandle_t *client_handle, OPEN_USER_MGR_AUTH_METHOD_t *method)
Gets the dot1x default authentication method.
open_error_t openapiDot1xPortEapolStartFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapolStartFramesRx)
Get the dot1x port Eapol Start Frames Received Stats.
open_error_t openapiDot1xPortEapolLogoffFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapolLogoffFramesRx)
Get the dot1x port Eapol Logoff Frames Received Stat.
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
open_error_t openapiDot1xPortBackendAuthStateGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_BAM_STATES_t *state)
Gets the dot1x port back end authorization state.
open_error_t openapiDot1xPortEapResponseFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapResponseFramesRx)
Get the dot1x port Eap Response Frames Received Stat.
open_error_t openapiDot1xPortMabEnabledGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *mabEnabled)
Sets the dot1x port MAC authentication bypass enable mode.
open_error_t openapiDot1xPortQuietPeriodGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *quietPeriod)
Get the dot1x quiet period on the specified port.
open_error_t openapiDot1xPortOperatingControlModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_PORT_CONTROL_t *mode)
Gets the dot1x port operating control mode.
open_error_t openapiDot1xPortVlanAssignedReasonGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DOT1X_VLAN_ASSIGNED_MODE_t *reason)
Gets the dot1x port assigned VLAN reason.
open_error_t openapiDot1xPortOperationalMabModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
Gets the dot1x port operational MAB mode.
open_error_t openapiDot1xPortEapRespIdFramesRxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapRespIdFramesRx)
Get number of EAP Response/Identity frames received.
open_error_t openapiDot1xPortEapolFramesTxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapolFramesTx)
Get the dot1x port Eapol Frames Transmitted Stats.
open_error_t openapiDot1xLogicalPortSupplicantMacAddrGet(openapiClientHandle_t *client_handle, uint32_t logicalIfNum, open_buffdesc *macAddr)
Gets the MAC address of the dot1x supplicant present on the specified logical interface.
open_error_t openapiDot1xEapolFloodModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *adminMode)
Get eapol flood mode setting for dot1x.
open_error_t openapiDot1xDefaultAuthenMethodSet(openapiClientHandle_t *client_handle, OPEN_USER_MGR_AUTH_METHOD_t method)
Sets the dot1x default authentication method.
open_error_t openapiDot1xPortQuietPeriodSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t quietPeriod)
Set the dot1x quiet period on the specified port.
open_error_t openapiDot1xPortEapReqIdFramesTxGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *eapReqIdFramesTx)
Get the dot1x port Eap Request Id Frames Transmitted Stat.
open_error_t openapiDot1xPortMabEnabledSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t mabEnabled)
Sets the dot1x port MAC authentication bypass enable mode.
open_error_t openapiDot1xSystemAuthControlModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
Gets the dot1x global administrative mode.
open_error_t openapiDot1xEapolFloodModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t adminMode)
Set eapol flood mode setting for dot1x.
OPEN_USER_MGR_AUTH_METHOD_t
OpEN uses this enumeration to define Authentication method types.