aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/vlan.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/vlan.h')
-rw-r--r--target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/vlan.h892
1 files changed, 0 insertions, 892 deletions
diff --git a/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/vlan.h b/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/vlan.h
deleted file mode 100644
index 8569fc0d40..0000000000
--- a/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/vlan.h
+++ /dev/null
@@ -1,892 +0,0 @@
-/*
- * Copyright (C) 2013 Realtek Semiconductor Corp.
- * All Rights Reserved.
- *
- * Unless you and Realtek execute a separate written software license
- * agreement governing use of this software, this software is licensed
- * to you under the terms of the GNU General Public License version 2,
- * available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
- *
- * Purpose : RTL8367/RTL8367C switch high-level API
- *
- * Feature : The file includes Trap module high-layer VLAN defination
- *
- */
-
-#ifndef __RTK_API_VLAN_H__
-#define __RTK_API_VLAN_H__
-
-
-/*
- * Data Type Declaration
- */
-#define RTK_MAX_NUM_OF_PROTO_TYPE 0xFFFF
-#define RTK_MAX_NUM_OF_MSTI 0xF
-#define RTK_FID_MAX 0xF
-
-typedef struct rtk_vlan_cfg_s
-{
- rtk_portmask_t mbr;
- rtk_portmask_t untag;
- rtk_uint16 ivl_en;
- rtk_uint16 fid_msti;
- rtk_uint16 envlanpol;
- rtk_uint16 meteridx;
- rtk_uint16 vbpen;
- rtk_uint16 vbpri;
-}rtk_vlan_cfg_t;
-
-typedef struct rtk_vlan_mbrcfg_s
-{
- rtk_uint16 evid;
- rtk_portmask_t mbr;
- rtk_uint16 fid_msti;
- rtk_uint16 envlanpol;
- rtk_uint16 meteridx;
- rtk_uint16 vbpen;
- rtk_uint16 vbpri;
-}rtk_vlan_mbrcfg_t;
-
-typedef rtk_uint32 rtk_stp_msti_id_t; /* MSTI ID */
-
-typedef enum rtk_stp_state_e
-{
- STP_STATE_DISABLED = 0,
- STP_STATE_BLOCKING,
- STP_STATE_LEARNING,
- STP_STATE_FORWARDING,
- STP_STATE_END
-} rtk_stp_state_t;
-
-typedef rtk_uint32 rtk_vlan_proto_type_t; /* protocol and port based VLAN protocol type */
-
-
-typedef enum rtk_vlan_acceptFrameType_e
-{
- ACCEPT_FRAME_TYPE_ALL = 0, /* untagged, priority-tagged and tagged */
- ACCEPT_FRAME_TYPE_TAG_ONLY, /* tagged */
- ACCEPT_FRAME_TYPE_UNTAG_ONLY, /* untagged and priority-tagged */
- ACCEPT_FRAME_TYPE_END
-} rtk_vlan_acceptFrameType_t;
-
-
-/* frame type of protocol vlan - reference 802.1v standard */
-typedef enum rtk_vlan_protoVlan_frameType_e
-{
- FRAME_TYPE_ETHERNET = 0,
- FRAME_TYPE_LLCOTHER,
- FRAME_TYPE_RFC1042,
- FRAME_TYPE_END
-} rtk_vlan_protoVlan_frameType_t;
-
-/* Protocol-and-port-based Vlan structure */
-typedef struct rtk_vlan_protoAndPortInfo_s
-{
- rtk_uint32 proto_type;
- rtk_vlan_protoVlan_frameType_t frame_type;
- rtk_vlan_t cvid;
- rtk_pri_t cpri;
-}rtk_vlan_protoAndPortInfo_t;
-
-/* tagged mode of VLAN - reference realtek private specification */
-typedef enum rtk_vlan_tagMode_e
-{
- VLAN_TAG_MODE_ORIGINAL = 0,
- VLAN_TAG_MODE_KEEP_FORMAT,
- VLAN_TAG_MODE_PRI,
- VLAN_TAG_MODE_REAL_KEEP_FORMAT,
- VLAN_TAG_MODE_END
-} rtk_vlan_tagMode_t;
-
-typedef enum rtk_vlan_resVidAction_e
-{
- RESVID_ACTION_UNTAG = 0,
- RESVID_ACTION_TAG,
- RESVID_ACTION_END
-}
-rtk_vlan_resVidAction_t;
-
-/* Function Name:
- * rtk_vlan_init
- * Description:
- * Initialize VLAN.
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * Note:
- * VLAN is disabled by default. User has to call this API to enable VLAN before
- * using it. And It will set a default VLAN(vid 1) including all ports and set
- * all ports PVID to the default VLAN.
- */
-extern rtk_api_ret_t rtk_vlan_init(void);
-
-/* Function Name:
- * rtk_vlan_set
- * Description:
- * Set a VLAN entry.
- * Input:
- * vid - VLAN ID to configure.
- * pVlanCfg - VLAN Configuration
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_L2_FID - Invalid FID.
- * RT_ERR_VLAN_PORT_MBR_EXIST - Invalid member port mask.
- * RT_ERR_VLAN_VID - Invalid VID parameter.
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_set(rtk_vlan_t vid, rtk_vlan_cfg_t *pVlanCfg);
-
-/* Function Name:
- * rtk_vlan_get
- * Description:
- * Get a VLAN entry.
- * Input:
- * vid - VLAN ID to configure.
- * Output:
- * pVlanCfg - VLAN Configuration
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_VLAN_VID - Invalid VID parameter.
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_get(rtk_vlan_t vid, rtk_vlan_cfg_t *pVlanCfg);
-
-/* Function Name:
- * rtk_vlan_egrFilterEnable_set
- * Description:
- * Set VLAN egress filter.
- * Input:
- * egrFilter - Egress filtering
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_ENABLE - Invalid input parameters.
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_egrFilterEnable_set(rtk_enable_t egrFilter);
-
-/* Function Name:
- * rtk_vlan_egrFilterEnable_get
- * Description:
- * Get VLAN egress filter.
- * Input:
- * pEgrFilter - Egress filtering
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_NULL_POINTER - NULL Pointer.
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_egrFilterEnable_get(rtk_enable_t *pEgrFilter);
-
-/* Function Name:
- * rtk_vlan_mbrCfg_set
- * Description:
- * Set a VLAN Member Configuration entry by index.
- * Input:
- * idx - Index of VLAN Member Configuration.
- * pMbrcfg - VLAN member Configuration.
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_VLAN_VID - Invalid VID parameter.
- * Note:
- * Set a VLAN Member Configuration entry by index.
- */
-extern rtk_api_ret_t rtk_vlan_mbrCfg_set(rtk_uint32 idx, rtk_vlan_mbrcfg_t *pMbrcfg);
-
-/* Function Name:
- * rtk_vlan_mbrCfg_get
- * Description:
- * Get a VLAN Member Configuration entry by index.
- * Input:
- * idx - Index of VLAN Member Configuration.
- * Output:
- * pMbrcfg - VLAN member Configuration.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_VLAN_VID - Invalid VID parameter.
- * Note:
- * Get a VLAN Member Configuration entry by index.
- */
-extern rtk_api_ret_t rtk_vlan_mbrCfg_get(rtk_uint32 idx, rtk_vlan_mbrcfg_t *pMbrcfg);
-
-/* Function Name:
- * rtk_vlan_portPvid_set
- * Description:
- * Set port to specified VLAN ID(PVID).
- * Input:
- * port - Port id.
- * pvid - Specified VLAN ID.
- * priority - 802.1p priority for the PVID.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_VLAN_PRIORITY - Invalid priority.
- * RT_ERR_VLAN_ENTRY_NOT_FOUND - VLAN entry not found.
- * RT_ERR_VLAN_VID - Invalid VID parameter.
- * Note:
- * The API is used for Port-based VLAN. The untagged frame received from the
- * port will be classified to the specified VLAN and assigned to the specified priority.
- */
-extern rtk_api_ret_t rtk_vlan_portPvid_set(rtk_port_t port, rtk_vlan_t pvid, rtk_pri_t priority);
-
-/* Function Name:
- * rtk_vlan_portPvid_get
- * Description:
- * Get VLAN ID(PVID) on specified port.
- * Input:
- * port - Port id.
- * Output:
- * pPvid - Specified VLAN ID.
- * pPriority - 802.1p priority for the PVID.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port number.
- * Note:
- * The API can get the PVID and 802.1p priority for the PVID of Port-based VLAN.
- */
-extern rtk_api_ret_t rtk_vlan_portPvid_get(rtk_port_t port, rtk_vlan_t *pPvid, rtk_pri_t *pPriority);
-
-/* Function Name:
- * rtk_vlan_portIgrFilterEnable_set
- * Description:
- * Set VLAN ingress for each port.
- * Input:
- * port - Port id.
- * igr_filter - VLAN ingress function enable status.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number
- * RT_ERR_ENABLE - Invalid enable input
- * Note:
- * The status of vlan ingress filter is as following:
- * - DISABLED
- * - ENABLED
- * While VLAN function is enabled, ASIC will decide VLAN ID for each received frame and get belonged member
- * ports from VLAN table. If received port is not belonged to VLAN member ports, ASIC will drop received frame if VLAN ingress function is enabled.
- */
-extern rtk_api_ret_t rtk_vlan_portIgrFilterEnable_set(rtk_port_t port, rtk_enable_t igr_filter);
-
-/* Function Name:
- * rtk_vlan_portIgrFilterEnable_get
- * Description:
- * Get VLAN Ingress Filter
- * Input:
- * port - Port id.
- * Output:
- * pIgr_filter - VLAN ingress function enable status.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port number.
- * Note:
- * The API can Get the VLAN ingress filter status.
- * The status of vlan ingress filter is as following:
- * - DISABLED
- * - ENABLED
- */
-extern rtk_api_ret_t rtk_vlan_portIgrFilterEnable_get(rtk_port_t port, rtk_enable_t *pIgr_filter);
-
-/* Function Name:
- * rtk_vlan_portAcceptFrameType_set
- * Description:
- * Set VLAN accept_frame_type
- * Input:
- * port - Port id.
- * accept_frame_type - accept frame type
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_VLAN_ACCEPT_FRAME_TYPE - Invalid frame type.
- * Note:
- * The API is used for checking 802.1Q tagged frames.
- * The accept frame type as following:
- * - ACCEPT_FRAME_TYPE_ALL
- * - ACCEPT_FRAME_TYPE_TAG_ONLY
- * - ACCEPT_FRAME_TYPE_UNTAG_ONLY
- */
-extern rtk_api_ret_t rtk_vlan_portAcceptFrameType_set(rtk_port_t port, rtk_vlan_acceptFrameType_t accept_frame_type);
-
-/* Function Name:
- * rtk_vlan_portAcceptFrameType_get
- * Description:
- * Get VLAN accept_frame_type
- * Input:
- * port - Port id.
- * Output:
- * pAccept_frame_type - accept frame type
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port number.
- * Note:
- * The API can Get the VLAN ingress filter.
- * The accept frame type as following:
- * - ACCEPT_FRAME_TYPE_ALL
- * - ACCEPT_FRAME_TYPE_TAG_ONLY
- * - ACCEPT_FRAME_TYPE_UNTAG_ONLY
- */
-extern rtk_api_ret_t rtk_vlan_portAcceptFrameType_get(rtk_port_t port, rtk_vlan_acceptFrameType_t *pAccept_frame_type);
-
-/* Function Name:
- * rtk_vlan_tagMode_set
- * Description:
- * Set CVLAN egress tag mode
- * Input:
- * port - Port id.
- * tag_mode - The egress tag mode.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_INPUT - Invalid input parameter.
- * RT_ERR_ENABLE - Invalid enable input.
- * Note:
- * The API can set Egress tag mode. There are 4 mode for egress tag:
- * - VLAN_TAG_MODE_ORIGINAL,
- * - VLAN_TAG_MODE_KEEP_FORMAT,
- * - VLAN_TAG_MODE_PRI.
- * - VLAN_TAG_MODE_REAL_KEEP_FORMAT,
- */
-extern rtk_api_ret_t rtk_vlan_tagMode_set(rtk_port_t port, rtk_vlan_tagMode_t tag_mode);
-
-/* Function Name:
- * rtk_vlan_tagMode_get
- * Description:
- * Get CVLAN egress tag mode
- * Input:
- * port - Port id.
- * Output:
- * pTag_mode - The egress tag mode.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port number.
- * Note:
- * The API can get Egress tag mode. There are 4 mode for egress tag:
- * - VLAN_TAG_MODE_ORIGINAL,
- * - VLAN_TAG_MODE_KEEP_FORMAT,
- * - VLAN_TAG_MODE_PRI.
- * - VLAN_TAG_MODE_REAL_KEEP_FORMAT,
- */
-extern rtk_api_ret_t rtk_vlan_tagMode_get(rtk_port_t port, rtk_vlan_tagMode_t *pTag_mode);
-
-/* Function Name:
- * rtk_vlan_transparent_set
- * Description:
- * Set VLAN transparent mode
- * Input:
- * egr_port - Egress Port id.
- * pIgr_pmask - Ingress Port Mask.
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port number.
- * Note:
- * None.
- */
-extern rtk_api_ret_t rtk_vlan_transparent_set(rtk_port_t egr_port, rtk_portmask_t *pIgr_pmask);
-
-/* Function Name:
- * rtk_vlan_transparent_get
- * Description:
- * Get VLAN transparent mode
- * Input:
- * egr_port - Egress Port id.
- * Output:
- * pIgr_pmask - Ingress Port Mask
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port number.
- * Note:
- * None.
- */
-extern rtk_api_ret_t rtk_vlan_transparent_get(rtk_port_t egr_port, rtk_portmask_t *pIgr_pmask);
-
-/* Function Name:
- * rtk_vlan_keep_set
- * Description:
- * Set VLAN egress keep mode
- * Input:
- * egr_port - Egress Port id.
- * pIgr_pmask - Ingress Port Mask.
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port number.
- * Note:
- * None.
- */
-extern rtk_api_ret_t rtk_vlan_keep_set(rtk_port_t egr_port, rtk_portmask_t *pIgr_pmask);
-
-/* Function Name:
- * rtk_vlan_keep_get
- * Description:
- * Get VLAN egress keep mode
- * Input:
- * egr_port - Egress Port id.
- * Output:
- * pIgr_pmask - Ingress Port Mask
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port number.
- * Note:
- * None.
- */
-extern rtk_api_ret_t rtk_vlan_keep_get(rtk_port_t egr_port, rtk_portmask_t *pIgr_pmask);
-
-/* Function Name:
- * rtk_vlan_stg_set
- * Description:
- * Set spanning tree group instance of the vlan to the specified device
- * Input:
- * vid - Specified VLAN ID.
- * stg - spanning tree group instance.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_MSTI - Invalid msti parameter
- * RT_ERR_INPUT - Invalid input parameter.
- * RT_ERR_VLAN_VID - Invalid VID parameter.
- * Note:
- * The API can set spanning tree group instance of the vlan to the specified device.
- */
-extern rtk_api_ret_t rtk_vlan_stg_set(rtk_vlan_t vid, rtk_stp_msti_id_t stg);
-
-/* Function Name:
- * rtk_vlan_stg_get
- * Description:
- * Get spanning tree group instance of the vlan to the specified device
- * Input:
- * vid - Specified VLAN ID.
- * Output:
- * pStg - spanning tree group instance.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_VLAN_VID - Invalid VID parameter.
- * Note:
- * The API can get spanning tree group instance of the vlan to the specified device.
- */
-extern rtk_api_ret_t rtk_vlan_stg_get(rtk_vlan_t vid, rtk_stp_msti_id_t *pStg);
-
-/* Function Name:
- * rtk_vlan_protoAndPortBasedVlan_add
- * Description:
- * Add the protocol-and-port-based vlan to the specified port of device.
- * Input:
- * port - Port id.
- * pInfo - Protocol and port based VLAN configuration information.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_VLAN_VID - Invalid VID parameter.
- * RT_ERR_VLAN_PRIORITY - Invalid priority.
- * RT_ERR_TBL_FULL - Table is full.
- * RT_ERR_OUT_OF_RANGE - input out of range.
- * Note:
- * The incoming packet which match the protocol-and-port-based vlan will use the configure vid for ingress pipeline
- * The frame type is shown in the following:
- * - FRAME_TYPE_ETHERNET
- * - FRAME_TYPE_RFC1042
- * - FRAME_TYPE_LLCOTHER
- */
-extern rtk_api_ret_t rtk_vlan_protoAndPortBasedVlan_add(rtk_port_t port, rtk_vlan_protoAndPortInfo_t *pInfo);
-
-/* Function Name:
- * rtk_vlan_protoAndPortBasedVlan_get
- * Description:
- * Get the protocol-and-port-based vlan to the specified port of device.
- * Input:
- * port - Port id.
- * proto_type - protocol-and-port-based vlan protocol type.
- * frame_type - protocol-and-port-based vlan frame type.
- * Output:
- * pInfo - Protocol and port based VLAN configuration information.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_OUT_OF_RANGE - input out of range.
- * RT_ERR_TBL_FULL - Table is full.
- * Note:
- * The incoming packet which match the protocol-and-port-based vlan will use the configure vid for ingress pipeline
- * The frame type is shown in the following:
- * - FRAME_TYPE_ETHERNET
- * - FRAME_TYPE_RFC1042
- * - FRAME_TYPE_LLCOTHER
- */
-extern rtk_api_ret_t rtk_vlan_protoAndPortBasedVlan_get(rtk_port_t port, rtk_vlan_proto_type_t proto_type, rtk_vlan_protoVlan_frameType_t frame_type, rtk_vlan_protoAndPortInfo_t *pInfo);
-
-/* Function Name:
- * rtk_vlan_protoAndPortBasedVlan_del
- * Description:
- * Delete the protocol-and-port-based vlan from the specified port of device.
- * Input:
- * port - Port id.
- * proto_type - protocol-and-port-based vlan protocol type.
- * frame_type - protocol-and-port-based vlan frame type.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_OUT_OF_RANGE - input out of range.
- * RT_ERR_TBL_FULL - Table is full.
- * Note:
- * The incoming packet which match the protocol-and-port-based vlan will use the configure vid for ingress pipeline
- * The frame type is shown in the following:
- * - FRAME_TYPE_ETHERNET
- * - FRAME_TYPE_RFC1042
- * - FRAME_TYPE_LLCOTHER
- */
-extern rtk_api_ret_t rtk_vlan_protoAndPortBasedVlan_del(rtk_port_t port, rtk_vlan_proto_type_t proto_type, rtk_vlan_protoVlan_frameType_t frame_type);
-
-/* Function Name:
- * rtk_vlan_protoAndPortBasedVlan_delAll
- * Description:
- * Delete all protocol-and-port-based vlans from the specified port of device.
- * Input:
- * port - Port id.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_OUT_OF_RANGE - input out of range.
- * Note:
- * The incoming packet which match the protocol-and-port-based vlan will use the configure vid for ingress pipeline
- * Delete all flow table protocol-and-port-based vlan entries.
- */
-extern rtk_api_ret_t rtk_vlan_protoAndPortBasedVlan_delAll(rtk_port_t port);
-
-/* Function Name:
- * rtk_vlan_portFid_set
- * Description:
- * Set port-based filtering database
- * Input:
- * port - Port id.
- * enable - ebable port-based FID
- * fid - Specified filtering database.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_L2_FID - Invalid fid.
- * RT_ERR_INPUT - Invalid input parameter.
- * RT_ERR_PORT_ID - Invalid port ID.
- * Note:
- * The API can set port-based filtering database. If the function is enabled, all input
- * packets will be assigned to the port-based fid regardless vlan tag.
- */
-extern rtk_api_ret_t rtk_vlan_portFid_set(rtk_port_t port, rtk_enable_t enable, rtk_fid_t fid);
-
-/* Function Name:
- * rtk_vlan_portFid_get
- * Description:
- * Get port-based filtering database
- * Input:
- * port - Port id.
- * Output:
- * pEnable - ebable port-based FID
- * pFid - Specified filtering database.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_PORT_ID - Invalid port ID.
- * Note:
- * The API can get port-based filtering database status. If the function is enabled, all input
- * packets will be assigned to the port-based fid regardless vlan tag.
- */
-extern rtk_api_ret_t rtk_vlan_portFid_get(rtk_port_t port, rtk_enable_t *pEnable, rtk_fid_t *pFid);
-
-/* Function Name:
- * rtk_vlan_UntagDscpPriorityEnable_set
- * Description:
- * Set Untag DSCP priority assign
- * Input:
- * enable - state of Untag DSCP priority assign
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_ENABLE - Invalid input parameters.
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_UntagDscpPriorityEnable_set(rtk_enable_t enable);
-
-/* Function Name:
- * rtk_vlan_UntagDscpPriorityEnable_get
- * Description:
- * Get Untag DSCP priority assign
- * Input:
- * None
- * Output:
- * pEnable - state of Untag DSCP priority assign
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_NULL_POINTER - Null pointer
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_UntagDscpPriorityEnable_get(rtk_enable_t *pEnable);
-
-
-/*Spanning Tree*/
-/* Function Name:
- * rtk_stp_mstpState_set
- * Description:
- * Configure spanning tree state per each port.
- * Input:
- * port - Port id
- * msti - Multiple spanning tree instance.
- * stp_state - Spanning tree state for msti
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_MSTI - Invalid msti parameter.
- * RT_ERR_MSTP_STATE - Invalid STP state.
- * Note:
- * System supports per-port multiple spanning tree state for each msti.
- * There are four states supported by ASIC.
- * - STP_STATE_DISABLED
- * - STP_STATE_BLOCKING
- * - STP_STATE_LEARNING
- * - STP_STATE_FORWARDING
- */
-extern rtk_api_ret_t rtk_stp_mstpState_set(rtk_stp_msti_id_t msti, rtk_port_t port, rtk_stp_state_t stp_state);
-
-/* Function Name:
- * rtk_stp_mstpState_get
- * Description:
- * Get spanning tree state per each port.
- * Input:
- * port - Port id.
- * msti - Multiple spanning tree instance.
- * Output:
- * pStp_state - Spanning tree state for msti
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port number.
- * RT_ERR_MSTI - Invalid msti parameter.
- * Note:
- * System supports per-port multiple spanning tree state for each msti.
- * There are four states supported by ASIC.
- * - STP_STATE_DISABLED
- * - STP_STATE_BLOCKING
- * - STP_STATE_LEARNING
- * - STP_STATE_FORWARDING
- */
-extern rtk_api_ret_t rtk_stp_mstpState_get(rtk_stp_msti_id_t msti, rtk_port_t port, rtk_stp_state_t *pStp_state);
-
-/* Function Name:
- * rtk_vlan_checkAndCreateMbr
- * Description:
- * Check and create Member configuration and return index
- * Input:
- * vid - VLAN id.
- * Output:
- * pIndex - Member configuration index
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_VLAN_VID - Invalid VLAN ID.
- * RT_ERR_VLAN_ENTRY_NOT_FOUND - VLAN not found
- * RT_ERR_TBL_FULL - Member Configuration table full
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_checkAndCreateMbr(rtk_vlan_t vid, rtk_uint32 *pIndex);
-
-/* Function Name:
- * rtk_vlan_reservedVidAction_set
- * Description:
- * Set Action of VLAN ID = 0 & 4095 tagged packet
- * Input:
- * action_vid0 - Action for VID 0.
- * action_vid4095 - Action for VID 4095.
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Error Input
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_reservedVidAction_set(rtk_vlan_resVidAction_t action_vid0, rtk_vlan_resVidAction_t action_vid4095);
-
-/* Function Name:
- * rtk_vlan_reservedVidAction_get
- * Description:
- * Get Action of VLAN ID = 0 & 4095 tagged packet
- * Input:
- * pAction_vid0 - Action for VID 0.
- * pAction_vid4095 - Action for VID 4095.
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_NULL_POINTER - NULL Pointer
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_reservedVidAction_get(rtk_vlan_resVidAction_t *pAction_vid0, rtk_vlan_resVidAction_t *pAction_vid4095);
-
-/* Function Name:
- * rtk_vlan_realKeepRemarkEnable_set
- * Description:
- * Set Real keep 1p remarking feature
- * Input:
- * enabled - State of 1p remarking at real keep packet
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Error Input
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_realKeepRemarkEnable_set(rtk_enable_t enabled);
-
-/* Function Name:
- * rtk_vlan_realKeepRemarkEnable_get
- * Description:
- * Get Real keep 1p remarking feature
- * Input:
- * None.
- * Output:
- * pEnabled - State of 1p remarking at real keep packet
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Error Input
- * Note:
- *
- */
-extern rtk_api_ret_t rtk_vlan_realKeepRemarkEnable_get(rtk_enable_t *pEnabled);
-
-/* Function Name:
- * rtk_vlan_reset
- * Description:
- * Reset VLAN
- * Input:
- * None.
- * Output:
- * pEnabled - State of 1p remarking at real keep packet
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Error Input
- * Note:
- *
- */
-rtk_api_ret_t rtk_vlan_reset(void);
-
-#endif /* __RTK_API_VLAN_H__ */