aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/acl.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/acl.h')
-rw-r--r--target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/acl.h990
1 files changed, 0 insertions, 990 deletions
diff --git a/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/acl.h b/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/acl.h
deleted file mode 100644
index 6308da8d42..0000000000
--- a/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/acl.h
+++ /dev/null
@@ -1,990 +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 ACL module high-layer API defination
- *
- */
-
-#ifndef __RTK_API_ACL_H__
-#define __RTK_API_ACL_H__
-
-/*
- * Data Type Declaration
- */
-#define RTK_FILTER_RAW_FIELD_NUMBER 8
-
-#define ACL_DEFAULT_ABILITY 0
-#define ACL_DEFAULT_UNMATCH_PERMIT 1
-
-#define ACL_RULE_FREE 0
-#define ACL_RULE_INAVAILABLE 1
-#define ACL_RULE_CARETAG_MASK 0x1F
-#define FILTER_POLICING_MAX 4
-#define FILTER_LOGGING_MAX 8
-#define FILTER_PATTERN_MAX 4
-
-#define FILTER_ENACT_CVLAN_MASK 0x01
-#define FILTER_ENACT_SVLAN_MASK 0x02
-#define FILTER_ENACT_PRIORITY_MASK 0x04
-#define FILTER_ENACT_POLICING_MASK 0x08
-#define FILTER_ENACT_FWD_MASK 0x10
-#define FILTER_ENACT_INTGPIO_MASK 0x20
-#define FILTER_ENACT_INIT_MASK 0x3F
-
-typedef enum rtk_filter_act_cactext_e
-{
- FILTER_ENACT_CACTEXT_VLANONLY=0,
- FILTER_ENACT_CACTEXT_BOTHVLANTAG,
- FILTER_ENACT_CACTEXT_TAGONLY,
- FILTER_ENACT_CACTEXT_END,
-
-
-}rtk_filter_act_cactext_t;
-
-typedef enum rtk_filter_act_ctagfmt_e
-{
- FILTER_CTAGFMT_UNTAG=0,
- FILTER_CTAGFMT_TAG,
- FILTER_CTAGFMT_KEEP,
- FILTER_CTAGFMT_KEEP1PRMK,
-
-
-}rtk_filter_act_ctag_t;
-
-
-
-
-
-#define RTK_MAX_NUM_OF_FILTER_TYPE 5
-#define RTK_MAX_NUM_OF_FILTER_FIELD 8
-
-#define RTK_DOT_1AS_TIMESTAMP_UNIT_IN_WORD_LENGTH 3UL
-#define RTK_IPV6_ADDR_WORD_LENGTH 4UL
-
-#define FILTER_ENACT_CVLAN_TYPE(type) (type - FILTER_ENACT_CVLAN_INGRESS)
-#define FILTER_ENACT_SVLAN_TYPE(type) (type - FILTER_ENACT_SVLAN_INGRESS)
-#define FILTER_ENACT_FWD_TYPE(type) (type - FILTER_ENACT_ADD_DSTPORT)
-#define FILTER_ENACT_PRI_TYPE(type) (type - FILTER_ENACT_PRIORITY)
-
-#define RTK_FILTER_FIELD_USED_MAX 8
-#define RTK_FILTER_FIELD_INDEX(template, index) ((template << 4) + index)
-
-
-typedef enum rtk_filter_act_enable_e
-{
- /* CVLAN */
- FILTER_ENACT_CVLAN_INGRESS = 0,
- FILTER_ENACT_CVLAN_EGRESS,
- FILTER_ENACT_CVLAN_SVID,
- FILTER_ENACT_POLICING_1,
-
- /* SVLAN */
- FILTER_ENACT_SVLAN_INGRESS,
- FILTER_ENACT_SVLAN_EGRESS,
- FILTER_ENACT_SVLAN_CVID,
- FILTER_ENACT_POLICING_2,
-
- /* Policing and Logging */
- FILTER_ENACT_POLICING_0,
-
- /* Forward */
- FILTER_ENACT_COPY_CPU,
- FILTER_ENACT_DROP,
- FILTER_ENACT_ADD_DSTPORT,
- FILTER_ENACT_REDIRECT,
- FILTER_ENACT_MIRROR,
- FILTER_ENACT_TRAP_CPU,
- FILTER_ENACT_ISOLATION,
-
- /* QoS */
- FILTER_ENACT_PRIORITY,
- FILTER_ENACT_DSCP_REMARK,
- FILTER_ENACT_1P_REMARK,
- FILTER_ENACT_POLICING_3,
-
- /* Interrutp and GPO */
- FILTER_ENACT_INTERRUPT,
- FILTER_ENACT_GPO,
-
- /*VLAN tag*/
- FILTER_ENACT_EGRESSCTAG_UNTAG,
- FILTER_ENACT_EGRESSCTAG_TAG,
- FILTER_ENACT_EGRESSCTAG_KEEP,
- FILTER_ENACT_EGRESSCTAG_KEEPAND1PRMK,
-
- FILTER_ENACT_END,
-} rtk_filter_act_enable_t;
-
-
-typedef struct
-{
- rtk_filter_act_enable_t actEnable[FILTER_ENACT_END];
-
- /* CVLAN acton */
- rtk_uint32 filterCvlanVid;
- rtk_uint32 filterCvlanIdx;
- /* SVLAN action */
- rtk_uint32 filterSvlanVid;
- rtk_uint32 filterSvlanIdx;
-
- /* Policing action */
- rtk_uint32 filterPolicingIdx[FILTER_POLICING_MAX];
-
- /* Forwarding action */
- rtk_portmask_t filterPortmask;
-
- /* QOS action */
- rtk_uint32 filterPriority;
-
- /*GPO*/
- rtk_uint32 filterPin;
-
-} rtk_filter_action_t;
-
-typedef struct rtk_filter_flag_s
-{
- rtk_uint32 value;
- rtk_uint32 mask;
-} rtk_filter_flag_t;
-
-typedef enum rtk_filter_care_tag_index_e
-{
- CARE_TAG_CTAG = 0,
- CARE_TAG_STAG,
- CARE_TAG_PPPOE,
- CARE_TAG_IPV4,
- CARE_TAG_IPV6,
- CARE_TAG_TCP,
- CARE_TAG_UDP,
- CARE_TAG_ARP,
- CARE_TAG_RSV1,
- CARE_TAG_RSV2,
- CARE_TAG_ICMP,
- CARE_TAG_IGMP,
- CARE_TAG_LLC,
- CARE_TAG_RSV3,
- CARE_TAG_HTTP,
- CARE_TAG_RSV4,
- CARE_TAG_RSV5,
- CARE_TAG_DHCP,
- CARE_TAG_DHCPV6,
- CARE_TAG_SNMP,
- CARE_TAG_OAM,
- CARE_TAG_END,
-} rtk_filter_care_tag_index_t;
-
-typedef struct rtk_filter_care_tag_s
-{
- rtk_filter_flag_t tagType[CARE_TAG_END];
-} rtk_filter_care_tag_t;
-
-typedef struct rtk_filter_field rtk_filter_field_t;
-
-typedef struct
-{
- rtk_uint32 value[RTK_DOT_1AS_TIMESTAMP_UNIT_IN_WORD_LENGTH];
-} rtk_filter_dot1as_timestamp_t;
-
-typedef enum rtk_filter_field_data_type_e
-{
- FILTER_FIELD_DATA_MASK = 0,
- FILTER_FIELD_DATA_RANGE,
- FILTER_FIELD_DATA_END ,
-} rtk_filter_field_data_type_t;
-
-typedef struct rtk_filter_ip_s
-{
- rtk_uint32 dataType;
- rtk_uint32 rangeStart;
- rtk_uint32 rangeEnd;
- rtk_uint32 value;
- rtk_uint32 mask;
-} rtk_filter_ip_t;
-
-typedef struct rtk_filter_mac_s
-{
- rtk_uint32 dataType;
- rtk_mac_t value;
- rtk_mac_t mask;
- rtk_mac_t rangeStart;
- rtk_mac_t rangeEnd;
-} rtk_filter_mac_t;
-
-typedef rtk_uint32 rtk_filter_op_t;
-
-typedef struct rtk_filter_value_s
-{
- rtk_uint32 dataType;
- rtk_uint32 value;
- rtk_uint32 mask;
- rtk_uint32 rangeStart;
- rtk_uint32 rangeEnd;
-
-} rtk_filter_value_t;
-
-typedef struct rtk_filter_activeport_s
-{
- rtk_portmask_t value;
- rtk_portmask_t mask;
-
-} rtk_filter_activeport_t;
-
-
-
-typedef struct rtk_filter_tag_s
-{
- rtk_filter_value_t pri;
- rtk_filter_flag_t cfi;
- rtk_filter_value_t vid;
-} rtk_filter_tag_t;
-
-typedef struct rtk_filter_ipFlag_s
-{
- rtk_filter_flag_t xf;
- rtk_filter_flag_t mf;
- rtk_filter_flag_t df;
-} rtk_filter_ipFlag_t;
-
-typedef struct
-{
- rtk_uint32 addr[RTK_IPV6_ADDR_WORD_LENGTH];
-} rtk_filter_ip6_addr_t;
-
-typedef struct
-{
- rtk_uint32 dataType;
- rtk_filter_ip6_addr_t value;
- rtk_filter_ip6_addr_t mask;
- rtk_filter_ip6_addr_t rangeStart;
- rtk_filter_ip6_addr_t rangeEnd;
-} rtk_filter_ip6_t;
-
-typedef rtk_uint32 rtk_filter_number_t;
-
-typedef struct rtk_filter_pattern_s
-{
- rtk_uint32 value[FILTER_PATTERN_MAX];
- rtk_uint32 mask[FILTER_PATTERN_MAX];
-} rtk_filter_pattern_t;
-
-typedef struct rtk_filter_tcpFlag_s
-{
- rtk_filter_flag_t urg;
- rtk_filter_flag_t ack;
- rtk_filter_flag_t psh;
- rtk_filter_flag_t rst;
- rtk_filter_flag_t syn;
- rtk_filter_flag_t fin;
- rtk_filter_flag_t ns;
- rtk_filter_flag_t cwr;
- rtk_filter_flag_t ece;
-} rtk_filter_tcpFlag_t;
-
-typedef rtk_uint32 rtk_filter_field_raw_t;
-
-typedef enum rtk_filter_field_temple_input_e
-{
- FILTER_FIELD_TEMPLE_INPUT_TYPE = 0,
- FILTER_FIELD_TEMPLE_INPUT_INDEX,
- FILTER_FIELD_TEMPLE_INPUT_MAX ,
-} rtk_filter_field_temple_input_t;
-
-struct rtk_filter_field
-{
- rtk_uint32 fieldType;
-
- union
- {
- /* L2 struct */
- rtk_filter_mac_t dmac;
- rtk_filter_mac_t smac;
- rtk_filter_value_t etherType;
- rtk_filter_tag_t ctag;
- rtk_filter_tag_t relayCtag;
- rtk_filter_tag_t stag;
- rtk_filter_tag_t l2tag;
- rtk_filter_dot1as_timestamp_t dot1asTimeStamp;
- rtk_filter_mac_t mac;
-
- /* L3 struct */
- rtk_filter_ip_t sip;
- rtk_filter_ip_t dip;
- rtk_filter_ip_t ip;
- rtk_filter_value_t protocol;
- rtk_filter_value_t ipTos;
- rtk_filter_ipFlag_t ipFlag;
- rtk_filter_value_t ipOffset;
- rtk_filter_ip6_t sipv6;
- rtk_filter_ip6_t dipv6;
- rtk_filter_ip6_t ipv6;
- rtk_filter_value_t ipv6TrafficClass;
- rtk_filter_value_t ipv6NextHeader;
- rtk_filter_value_t flowLabel;
-
- /* L4 struct */
- rtk_filter_value_t tcpSrcPort;
- rtk_filter_value_t tcpDstPort;
- rtk_filter_tcpFlag_t tcpFlag;
- rtk_filter_value_t tcpSeqNumber;
- rtk_filter_value_t tcpAckNumber;
- rtk_filter_value_t udpSrcPort;
- rtk_filter_value_t udpDstPort;
- rtk_filter_value_t icmpCode;
- rtk_filter_value_t icmpType;
- rtk_filter_value_t igmpType;
-
- /* pattern match */
- rtk_filter_pattern_t pattern;
-
- rtk_filter_value_t inData;
-
- } filter_pattern_union;
-
- rtk_uint32 fieldTemplateNo;
- rtk_uint32 fieldTemplateIdx[RTK_FILTER_FIELD_USED_MAX];
-
- struct rtk_filter_field *next;
-};
-
-typedef enum rtk_filter_field_type_e
-{
- FILTER_FIELD_DMAC = 0,
- FILTER_FIELD_SMAC,
- FILTER_FIELD_ETHERTYPE,
- FILTER_FIELD_CTAG,
- FILTER_FIELD_STAG,
-
- FILTER_FIELD_IPV4_SIP,
- FILTER_FIELD_IPV4_DIP,
- FILTER_FIELD_IPV4_TOS,
- FILTER_FIELD_IPV4_PROTOCOL,
- FILTER_FIELD_IPV4_FLAG,
- FILTER_FIELD_IPV4_OFFSET,
- FILTER_FIELD_IPV6_SIPV6,
- FILTER_FIELD_IPV6_DIPV6,
- FILTER_FIELD_IPV6_TRAFFIC_CLASS,
- FILTER_FIELD_IPV6_NEXT_HEADER,
-
- FILTER_FIELD_TCP_SPORT,
- FILTER_FIELD_TCP_DPORT,
- FILTER_FIELD_TCP_FLAG,
- FILTER_FIELD_UDP_SPORT,
- FILTER_FIELD_UDP_DPORT,
- FILTER_FIELD_ICMP_CODE,
- FILTER_FIELD_ICMP_TYPE,
- FILTER_FIELD_IGMP_TYPE,
-
- FILTER_FIELD_VID_RANGE,
- FILTER_FIELD_IP_RANGE,
- FILTER_FIELD_PORT_RANGE,
-
- FILTER_FIELD_USER_DEFINED00,
- FILTER_FIELD_USER_DEFINED01,
- FILTER_FIELD_USER_DEFINED02,
- FILTER_FIELD_USER_DEFINED03,
- FILTER_FIELD_USER_DEFINED04,
- FILTER_FIELD_USER_DEFINED05,
- FILTER_FIELD_USER_DEFINED06,
- FILTER_FIELD_USER_DEFINED07,
- FILTER_FIELD_USER_DEFINED08,
- FILTER_FIELD_USER_DEFINED09,
- FILTER_FIELD_USER_DEFINED10,
- FILTER_FIELD_USER_DEFINED11,
- FILTER_FIELD_USER_DEFINED12,
- FILTER_FIELD_USER_DEFINED13,
- FILTER_FIELD_USER_DEFINED14,
- FILTER_FIELD_USER_DEFINED15,
-
- FILTER_FIELD_PATTERN_MATCH,
-
- FILTER_FIELD_END,
-} rtk_filter_field_type_t;
-
-
-typedef enum rtk_filter_field_type_raw_e
-{
- FILTER_FIELD_RAW_UNUSED = 0,
- FILTER_FIELD_RAW_DMAC_15_0,
- FILTER_FIELD_RAW_DMAC_31_16,
- FILTER_FIELD_RAW_DMAC_47_32,
- FILTER_FIELD_RAW_SMAC_15_0,
- FILTER_FIELD_RAW_SMAC_31_16,
- FILTER_FIELD_RAW_SMAC_47_32,
- FILTER_FIELD_RAW_ETHERTYPE,
- FILTER_FIELD_RAW_STAG,
- FILTER_FIELD_RAW_CTAG,
-
- FILTER_FIELD_RAW_IPV4_SIP_15_0 = 0x10,
- FILTER_FIELD_RAW_IPV4_SIP_31_16,
- FILTER_FIELD_RAW_IPV4_DIP_15_0,
- FILTER_FIELD_RAW_IPV4_DIP_31_16,
-
-
- FILTER_FIELD_RAW_IPV6_SIP_15_0 = 0x20,
- FILTER_FIELD_RAW_IPV6_SIP_31_16,
- FILTER_FIELD_RAW_IPV6_DIP_15_0 = 0x28,
- FILTER_FIELD_RAW_IPV6_DIP_31_16,
-
- FILTER_FIELD_RAW_VIDRANGE = 0x30,
- FILTER_FIELD_RAW_IPRANGE,
- FILTER_FIELD_RAW_PORTRANGE,
- FILTER_FIELD_RAW_FIELD_VALID,
-
- FILTER_FIELD_RAW_FIELD_SELECT00 = 0x40,
- FILTER_FIELD_RAW_FIELD_SELECT01,
- FILTER_FIELD_RAW_FIELD_SELECT02,
- FILTER_FIELD_RAW_FIELD_SELECT03,
- FILTER_FIELD_RAW_FIELD_SELECT04,
- FILTER_FIELD_RAW_FIELD_SELECT05,
- FILTER_FIELD_RAW_FIELD_SELECT06,
- FILTER_FIELD_RAW_FIELD_SELECT07,
- FILTER_FIELD_RAW_FIELD_SELECT08,
- FILTER_FIELD_RAW_FIELD_SELECT09,
- FILTER_FIELD_RAW_FIELD_SELECT10,
- FILTER_FIELD_RAW_FIELD_SELECT11,
- FILTER_FIELD_RAW_FIELD_SELECT12,
- FILTER_FIELD_RAW_FIELD_SELECT13,
- FILTER_FIELD_RAW_FIELD_SELECT14,
- FILTER_FIELD_RAW_FIELD_SELECT15,
-
- FILTER_FIELD_RAW_END,
-} rtk_filter_field_type_raw_t;
-
-typedef enum rtk_filter_flag_care_type_e
-{
- FILTER_FLAG_CARE_DONT_CARE = 0,
- FILTER_FLAG_CARE_1,
- FILTER_FLAG_CARE_0,
- FILTER_FLAG_END
-} rtk_filter_flag_care_type_t;
-
-typedef rtk_uint32 rtk_filter_id_t; /* filter id type */
-
-typedef enum rtk_filter_invert_e
-{
- FILTER_INVERT_DISABLE = 0,
- FILTER_INVERT_ENABLE,
- FILTER_INVERT_END,
-} rtk_filter_invert_t;
-
-typedef rtk_uint32 rtk_filter_state_t;
-
-typedef rtk_uint32 rtk_filter_unmatch_action_t;
-
-typedef enum rtk_filter_unmatch_action_e
-{
- FILTER_UNMATCH_DROP = 0,
- FILTER_UNMATCH_PERMIT,
- FILTER_UNMATCH_END,
-} rtk_filter_unmatch_action_type_t;
-
-typedef struct
-{
- rtk_filter_field_t *fieldHead;
- rtk_filter_care_tag_t careTag;
- rtk_filter_activeport_t activeport;
-
- rtk_filter_invert_t invert;
-} rtk_filter_cfg_t;
-
-typedef struct
-{
- rtk_filter_field_raw_t dataFieldRaw[RTK_FILTER_RAW_FIELD_NUMBER];
- rtk_filter_field_raw_t careFieldRaw[RTK_FILTER_RAW_FIELD_NUMBER];
- rtk_filter_field_type_raw_t fieldRawType[RTK_FILTER_RAW_FIELD_NUMBER];
- rtk_filter_care_tag_t careTag;
- rtk_filter_activeport_t activeport;
-
- rtk_filter_invert_t invert;
- rtk_enable_t valid;
-} rtk_filter_cfg_raw_t;
-
-typedef struct
-{
- rtk_uint32 index;
- rtk_filter_field_type_raw_t fieldType[RTK_FILTER_RAW_FIELD_NUMBER];
-} rtk_filter_template_t;
-
-typedef enum rtk_field_sel_e
-{
- FORMAT_DEFAULT = 0,
- FORMAT_RAW,
- FORMAT_LLC,
- FORMAT_IPV4,
- FORMAT_ARP,
- FORMAT_IPV6,
- FORMAT_IPPAYLOAD,
- FORMAT_L4PAYLOAD,
- FORMAT_END
-}rtk_field_sel_t;
-
-typedef enum rtk_filter_iprange_e
-{
- IPRANGE_UNUSED = 0,
- IPRANGE_IPV4_SIP,
- IPRANGE_IPV4_DIP,
- IPRANGE_IPV6_SIP,
- IPRANGE_IPV6_DIP,
- IPRANGE_END
-}rtk_filter_iprange_t;
-
-typedef enum rtk_filter_vidrange_e
-{
- VIDRANGE_UNUSED = 0,
- VIDRANGE_CVID,
- VIDRANGE_SVID,
- VIDRANGE_END
-}rtk_filter_vidrange_t;
-
-typedef enum rtk_filter_portrange_e
-{
- PORTRANGE_UNUSED = 0,
- PORTRANGE_SPORT,
- PORTRANGE_DPORT,
- PORTRANGE_END
-}rtk_filter_portrange_t;
-
-/* Function Name:
- * rtk_filter_igrAcl_init
- * Description:
- * ACL initialization function
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_NULL_POINTER - Pointer pFilter_field or pFilter_cfg point to NULL.
- * Note:
- * This function enable and intialize ACL function
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_init(void);
-
-/* Function Name:
- * rtk_filter_igrAcl_field_add
- * Description:
- * Add comparison rule to an ACL configuration
- * Input:
- * pFilter_cfg - The ACL configuration that this function will add comparison rule
- * pFilter_field - The comparison rule that will be added.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_NULL_POINTER - Pointer pFilter_field or pFilter_cfg point to NULL.
- * RT_ERR_INPUT - Invalid input parameters.
- * Note:
- * This function add a comparison rule (*pFilter_field) to an ACL configuration (*pFilter_cfg).
- * Pointer pFilter_cfg points to an ACL configuration structure, this structure keeps multiple ACL
- * comparison rules by means of linked list. Pointer pFilter_field will be added to linked
- * list keeped by structure that pFilter_cfg points to.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_field_add(rtk_filter_cfg_t *pFilter_cfg, rtk_filter_field_t *pFilter_field);
-
-/* Function Name:
- * rtk_filter_igrAcl_cfg_add
- * Description:
- * Add an ACL configuration to ASIC
- * Input:
- * filter_id - Start index of ACL configuration.
- * pFilter_cfg - The ACL configuration that this function will add comparison rule
- * pFilter_action - Action(s) of ACL configuration.
- * Output:
- * ruleNum - number of rules written in acl table
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_NULL_POINTER - Pointer pFilter_field or pFilter_cfg point to NULL.
- * RT_ERR_INPUT - Invalid input parameters.
- * RT_ERR_ENTRY_INDEX - Invalid filter_id .
- * RT_ERR_NULL_POINTER - Pointer pFilter_action or pFilter_cfg point to NULL.
- * RT_ERR_FILTER_INACL_ACT_NOT_SUPPORT - Action is not supported in this chip.
- * RT_ERR_FILTER_INACL_RULE_NOT_SUPPORT - Rule is not supported.
- * Note:
- * This function store pFilter_cfg, pFilter_action into ASIC. The starting
- * index(es) is filter_id.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_cfg_add(rtk_filter_id_t filter_id, rtk_filter_cfg_t *pFilter_cfg, rtk_filter_action_t *pAction, rtk_filter_number_t *ruleNum);
-
-/* Function Name:
- * rtk_filter_igrAcl_cfg_del
- * Description:
- * Delete an ACL configuration from ASIC
- * Input:
- * filter_id - Start index of ACL configuration.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_FILTER_ENTRYIDX - Invalid filter_id.
- * Note:
- * This function delete a group of ACL rules starting from filter_id.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_cfg_del(rtk_filter_id_t filter_id);
-
-/* Function Name:
- * rtk_filter_igrAcl_cfg_delAll
- * Description:
- * Delete all ACL entries from ASIC
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * Note:
- * This function delete all ACL configuration from ASIC.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_cfg_delAll(void);
-
-/* Function Name:
- * rtk_filter_igrAcl_cfg_get
- * Description:
- * Get one ingress acl configuration from ASIC.
- * Input:
- * filter_id - Start index of ACL configuration.
- * Output:
- * pFilter_cfg - buffer pointer of ingress acl data
- * pFilter_action - buffer pointer of ingress acl action
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_NULL_POINTER - Pointer pFilter_action or pFilter_cfg point to NULL.
- * RT_ERR_FILTER_ENTRYIDX - Invalid entry index.
- * Note:
- * This function delete all ACL configuration from ASIC.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_cfg_get(rtk_filter_id_t filter_id, rtk_filter_cfg_raw_t *pFilter_cfg, rtk_filter_action_t *pAction);
-
-/* Function Name:
- * rtk_filter_igrAcl_unmatchAction_set
- * Description:
- * Set action to packets when no ACL configuration match
- * Input:
- * port - Port id.
- * action - Action.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port id.
- * RT_ERR_INPUT - Invalid input parameters.
- * Note:
- * This function sets action of packets when no ACL configruation matches.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_unmatchAction_set(rtk_port_t port, rtk_filter_unmatch_action_t action);
-
-/* Function Name:
- * rtk_filter_igrAcl_unmatchAction_get
- * Description:
- * Get action to packets when no ACL configuration match
- * Input:
- * port - Port id.
- * Output:
- * pAction - Action.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port id.
- * RT_ERR_INPUT - Invalid input parameters.
- * Note:
- * This function gets action of packets when no ACL configruation matches.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_unmatchAction_get(rtk_port_t port, rtk_filter_unmatch_action_t* action);
-
-/* Function Name:
- * rtk_filter_igrAcl_state_set
- * Description:
- * Set state of ingress ACL.
- * Input:
- * port - Port id.
- * state - Ingress ACL state.
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port id.
- * RT_ERR_INPUT - Invalid input parameters.
- * Note:
- * This function gets action of packets when no ACL configruation matches.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_state_set(rtk_port_t port, rtk_filter_state_t state);
-
-/* Function Name:
- * rtk_filter_igrAcl_state_get
- * Description:
- * Get state of ingress ACL.
- * Input:
- * port - Port id.
- * Output:
- * pState - Ingress ACL state.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_PORT_ID - Invalid port id.
- * RT_ERR_INPUT - Invalid input parameters.
- * Note:
- * This function gets action of packets when no ACL configruation matches.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_state_get(rtk_port_t port, rtk_filter_state_t* state);
-
-/* Function Name:
- * rtk_filter_igrAcl_template_set
- * Description:
- * Set template of ingress ACL.
- * Input:
- * template - Ingress ACL template
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_INPUT - Invalid input parameters.
- * Note:
- * This function set ACL template.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_template_set(rtk_filter_template_t *aclTemplate);
-
-/* Function Name:
- * rtk_filter_igrAcl_template_get
- * Description:
- * Get template of ingress ACL.
- * Input:
- * template - Ingress ACL template
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * Note:
- * This function gets template of ACL.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_template_get(rtk_filter_template_t *aclTemplate);
-
-/* Function Name:
- * rtk_filter_igrAcl_field_sel_set
- * Description:
- * Set user defined field selectors in HSB
- * Input:
- * index - index of field selector 0-15
- * format - Format of field selector
- * offset - Retrieving data offset
- * Output:
- * None
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * Note:
- * System support 16 user defined field selctors.
- * Each selector can be enabled or disable.
- * User can defined retrieving 16-bits in many predefiend
- * standard l2/l3/l4 payload.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_field_sel_set(rtk_uint32 index, rtk_field_sel_t format, rtk_uint32 offset);
-
-/* Function Name:
- * rtk_filter_igrAcl_field_sel_get
- * Description:
- * Get user defined field selectors in HSB
- * Input:
- * index - index of field selector 0-15
- * Output:
- * pFormat - Format of field selector
- * pOffset - Retrieving data offset
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * Note:
- * None.
- */
-extern rtk_api_ret_t rtk_filter_igrAcl_field_sel_get(rtk_uint32 index, rtk_field_sel_t *pFormat, rtk_uint32 *pOffset);
-
-/* Function Name:
- * rtk_filter_iprange_set
- * Description:
- * Set IP Range check
- * Input:
- * index - index of IP Range 0-15
- * type - IP Range check type, 0:Delete a entry, 1: IPv4_SIP, 2: IPv4_DIP, 3:IPv6_SIP, 4:IPv6_DIP
- * upperIp - The upper bound of IP range
- * lowerIp - The lower Bound of IP range
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_OUT_OF_RANGE - The parameter is out of range
- * RT_ERR_INPUT - Input error
- * Note:
- * upperIp must be larger or equal than lowerIp.
- */
-extern rtk_api_ret_t rtk_filter_iprange_set(rtk_uint32 index, rtk_filter_iprange_t type, ipaddr_t upperIp, ipaddr_t lowerIp);
-
-/* Function Name:
- * rtk_filter_iprange_get
- * Description:
- * Set IP Range check
- * Input:
- * index - index of IP Range 0-15
- * Output:
- * pType - IP Range check type, 0:Delete a entry, 1: IPv4_SIP, 2: IPv4_DIP, 3:IPv6_SIP, 4:IPv6_DIP
- * pUpperIp - The upper bound of IP range
- * pLowerIp - The lower Bound of IP range
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_OUT_OF_RANGE - The parameter is out of range
- * Note:
- * upperIp must be larger or equal than lowerIp.
- */
-extern rtk_api_ret_t rtk_filter_iprange_get(rtk_uint32 index, rtk_filter_iprange_t *pType, ipaddr_t *pUpperIp, ipaddr_t *pLowerIp);
-
-/* Function Name:
- * rtk_filter_vidrange_set
- * Description:
- * Set VID Range check
- * Input:
- * index - index of VID Range 0-15
- * type - IP Range check type, 0:Delete a entry, 1: CVID, 2: SVID
- * upperVid - The upper bound of VID range
- * lowerVid - The lower Bound of VID range
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_OUT_OF_RANGE - The parameter is out of range
- * RT_ERR_INPUT - Input error
- * Note:
- * upperVid must be larger or equal than lowerVid.
- */
-extern rtk_api_ret_t rtk_filter_vidrange_set(rtk_uint32 index, rtk_filter_vidrange_t type, rtk_uint32 upperVid, rtk_uint32 lowerVid);
-
-/* Function Name:
- * rtk_filter_vidrange_get
- * Description:
- * Get VID Range check
- * Input:
- * index - index of VID Range 0-15
- * Output:
- * pType - IP Range check type, 0:Unused, 1: CVID, 2: SVID
- * pUpperVid - The upper bound of VID range
- * pLowerVid - The lower Bound of VID range
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_OUT_OF_RANGE - The parameter is out of range
- * Note:
- * None.
- */
-extern rtk_api_ret_t rtk_filter_vidrange_get(rtk_uint32 index, rtk_filter_vidrange_t *pType, rtk_uint32 *pUpperVid, rtk_uint32 *pLowerVid);
-
-/* Function Name:
- * rtk_filter_portrange_set
- * Description:
- * Set Port Range check
- * Input:
- * index - index of Port Range 0-15
- * type - IP Range check type, 0:Delete a entry, 1: Source Port, 2: Destnation Port
- * upperPort - The upper bound of Port range
- * lowerPort - The lower Bound of Port range
- * Output:
- * None.
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_OUT_OF_RANGE - The parameter is out of range
- * RT_ERR_INPUT - Input error
- * Note:
- * upperPort must be larger or equal than lowerPort.
- */
-extern rtk_api_ret_t rtk_filter_portrange_set(rtk_uint32 index, rtk_filter_portrange_t type, rtk_uint32 upperPort, rtk_uint32 lowerPort);
-
-/* Function Name:
- * rtk_filter_portrange_get
- * Description:
- * Set Port Range check
- * Input:
- * index - index of Port Range 0-15
- * Output:
- * pType - IP Range check type, 0:Delete a entry, 1: Source Port, 2: Destnation Port
- * pUpperPort - The upper bound of Port range
- * pLowerPort - The lower Bound of Port range
- * Return:
- * RT_ERR_OK - OK
- * RT_ERR_FAILED - Failed
- * RT_ERR_SMI - SMI access error
- * RT_ERR_OUT_OF_RANGE - The parameter is out of range
- * RT_ERR_INPUT - Input error
- * Note:
- * None.
- */
-extern rtk_api_ret_t rtk_filter_portrange_get(rtk_uint32 index, rtk_filter_portrange_t *pType, rtk_uint32 *pUpperPort, rtk_uint32 *pLowerPort);
-
-/* Function Name:
- * rtk_filter_igrAclPolarity_set
- * Description:
- * Set ACL Goip control palarity
- * Input:
- * polarity - 1: High, 0: Low
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * RT_ERR_SMI - SMI access error
- * Note:
- * none
- */
-extern rtk_api_ret_t rtk_filter_igrAclPolarity_set(rtk_uint32 polarity);
-
-/* Function Name:
- * rtk_filter_igrAclPolarity_get
- * Description:
- * Get ACL Goip control palarity
- * Input:
- * pPolarity - 1: High, 0: Low
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * RT_ERR_SMI - SMI access error
- * Note:
- * none
- */
-extern rtk_api_ret_t rtk_filter_igrAclPolarity_get(rtk_uint32* pPolarity);
-
-
-#endif /* __RTK_API_ACL_H__ */