2 * Copyright (C) 2013 Realtek Semiconductor Corp.
5 * Unless you and Realtek execute a separate written software license
6 * agreement governing use of this software, this software is licensed
7 * to you under the terms of the GNU General Public License version 2,
8 * available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
11 * $Date: 2017-03-08 15:13:58 +0800 (週三, 08 三月 2017) $
13 * Purpose : RTL8367/RTL8367C switch high-level API
15 * Feature : The file includes the following modules and sub-modules
16 * (1) OAM (802.3ah) configuration
37 typedef enum rtk_oam_parser_act_e
39 OAM_PARSER_ACTION_FORWARD
= 0,
40 OAM_PARSER_ACTION_LOOPBACK
,
41 OAM_PARSER_ACTION_DISCARD
,
42 OAM_PARSER_ACTION_END
,
44 } rtk_oam_parser_act_t
;
46 typedef enum rtk_oam_multiplexer_act_e
48 OAM_MULTIPLEXER_ACTION_FORWARD
= 0,
49 OAM_MULTIPLEXER_ACTION_DISCARD
,
50 OAM_MULTIPLEXER_ACTION_CPUONLY
,
51 OAM_MULTIPLEXER_ACTION_END
,
53 } rtk_oam_multiplexer_act_t
;
57 * Function Declaration
63 * Initialize oam module.
72 * Must initialize oam module before calling any oam APIs.
74 extern rtk_api_ret_t
rtk_oam_init(void);
79 * This API set OAM state.
86 * RT_ERR_FAILED - Failed
87 * RT_ERR_SMI - SMI access error
88 * RT_ERR_INPUT - Error parameter
90 * This API set OAM state.
92 extern rtk_api_ret_t
rtk_oam_state_set(rtk_enable_t enabled
);
97 * This API get OAM state.
101 * pEnabled - H/W IGMP state
104 * RT_ERR_FAILED - Failed
105 * RT_ERR_SMI - SMI access error
106 * RT_ERR_INPUT - Error parameter
108 * This API set current OAM state.
110 extern rtk_api_ret_t
rtk_oam_state_get(rtk_enable_t
*pEnabled
);
113 /* Module Name : OAM */
116 * rtk_oam_parserAction_set
118 * Set OAM parser action
121 * action - parser action
127 * RT_ERR_PORT_ID - invalid port id
131 extern rtk_api_ret_t
rtk_oam_parserAction_set(rtk_port_t port
, rtk_oam_parser_act_t action
);
134 * rtk_oam_parserAction_set
136 * Get OAM parser action
140 * pAction - parser action
144 * RT_ERR_PORT_ID - invalid port id
148 extern rtk_api_ret_t
rtk_oam_parserAction_get(rtk_port_t port
, rtk_oam_parser_act_t
*pAction
);
152 * rtk_oam_multiplexerAction_set
154 * Set OAM multiplexer action
157 * action - parser action
163 * RT_ERR_PORT_ID - invalid port id
167 extern rtk_api_ret_t
rtk_oam_multiplexerAction_set(rtk_port_t port
, rtk_oam_multiplexer_act_t action
);
170 * rtk_oam_multiplexerAction_set
172 * Get OAM multiplexer action
176 * pAction - parser action
180 * RT_ERR_PORT_ID - invalid port id
184 extern rtk_api_ret_t
rtk_oam_multiplexerAction_get(rtk_port_t port
, rtk_oam_multiplexer_act_t
*pAction
);
187 #endif /* __RTK_OAM_H__ */