23b788d7a629321af43970d46cde9c7b0faa92c2
[openwrt/staging/hauke.git] / target / linux / mediatek / files-5.4 / drivers / net / phy / rtk / rtl8367c / include / rtl8367c_asicdrv_mirror.h
1 /*
2 * Copyright (C) 2013 Realtek Semiconductor Corp.
3 * All Rights Reserved.
4 *
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
9 *
10 * $Revision: 76306 $
11 * $Date: 2017-03-08 15:13:58 +0800 (¶g¤T, 08 ¤T¤ë 2017) $
12 *
13 * Purpose : RTL8367C switch high-level API for RTL8367C
14 * Feature : Port mirror related functions
15 *
16 */
17
18 #ifndef _RTL8367C_ASICDRV_MIRROR_H_
19 #define _RTL8367C_ASICDRV_MIRROR_H_
20
21 #include <rtl8367c_asicdrv.h>
22
23 extern ret_t rtl8367c_setAsicPortMirror(rtk_uint32 source, rtk_uint32 monitor);
24 extern ret_t rtl8367c_getAsicPortMirror(rtk_uint32 *pSource, rtk_uint32 *pMonitor);
25 extern ret_t rtl8367c_setAsicPortMirrorRxFunction(rtk_uint32 enabled);
26 extern ret_t rtl8367c_getAsicPortMirrorRxFunction(rtk_uint32* pEnabled);
27 extern ret_t rtl8367c_setAsicPortMirrorTxFunction(rtk_uint32 enabled);
28 extern ret_t rtl8367c_getAsicPortMirrorTxFunction(rtk_uint32* pEnabled);
29 extern ret_t rtl8367c_setAsicPortMirrorIsolation(rtk_uint32 enabled);
30 extern ret_t rtl8367c_getAsicPortMirrorIsolation(rtk_uint32* pEnabled);
31 extern ret_t rtl8367c_setAsicPortMirrorPriority(rtk_uint32 priority);
32 extern ret_t rtl8367c_getAsicPortMirrorPriority(rtk_uint32* pPriority);
33 extern ret_t rtl8367c_setAsicPortMirrorMask(rtk_uint32 SourcePortmask);
34 extern ret_t rtl8367c_getAsicPortMirrorMask(rtk_uint32 *pSourcePortmask);
35 extern ret_t rtl8367c_setAsicPortMirrorVlanRxLeaky(rtk_uint32 enabled);
36 extern ret_t rtl8367c_getAsicPortMirrorVlanRxLeaky(rtk_uint32* pEnabled);
37 extern ret_t rtl8367c_setAsicPortMirrorVlanTxLeaky(rtk_uint32 enabled);
38 extern ret_t rtl8367c_getAsicPortMirrorVlanTxLeaky(rtk_uint32* pEnabled);
39 extern ret_t rtl8367c_setAsicPortMirrorIsolationRxLeaky(rtk_uint32 enabled);
40 extern ret_t rtl8367c_getAsicPortMirrorIsolationRxLeaky(rtk_uint32* pEnabled);
41 extern ret_t rtl8367c_setAsicPortMirrorIsolationTxLeaky(rtk_uint32 enabled);
42 extern ret_t rtl8367c_getAsicPortMirrorIsolationTxLeaky(rtk_uint32* pEnabled);
43 extern ret_t rtl8367c_setAsicPortMirrorRealKeep(rtk_uint32 mode);
44 extern ret_t rtl8367c_getAsicPortMirrorRealKeep(rtk_uint32* pMode);
45 extern ret_t rtl8367c_setAsicPortMirrorOverride(rtk_uint32 rxMirror, rtk_uint32 txMirror, rtk_uint32 aclMirror);
46 extern ret_t rtl8367c_getAsicPortMirrorOverride(rtk_uint32 *pRxMirror, rtk_uint32 *pTxMirror, rtk_uint32 *pAclMirror);
47
48 #endif /*#ifndef _RTL8367C_ASICDRV_MIRROR_H_*/
49