171d10453SEric Joyner /* SPDX-License-Identifier: BSD-3-Clause */ 2015f8cc5SEric Joyner /* Copyright (c) 2024, Intel Corporation 371d10453SEric Joyner * All rights reserved. 471d10453SEric Joyner * 571d10453SEric Joyner * Redistribution and use in source and binary forms, with or without 671d10453SEric Joyner * modification, are permitted provided that the following conditions are met: 771d10453SEric Joyner * 871d10453SEric Joyner * 1. Redistributions of source code must retain the above copyright notice, 971d10453SEric Joyner * this list of conditions and the following disclaimer. 1071d10453SEric Joyner * 1171d10453SEric Joyner * 2. Redistributions in binary form must reproduce the above copyright 1271d10453SEric Joyner * notice, this list of conditions and the following disclaimer in the 1371d10453SEric Joyner * documentation and/or other materials provided with the distribution. 1471d10453SEric Joyner * 1571d10453SEric Joyner * 3. Neither the name of the Intel Corporation nor the names of its 1671d10453SEric Joyner * contributors may be used to endorse or promote products derived from 1771d10453SEric Joyner * this software without specific prior written permission. 1871d10453SEric Joyner * 1971d10453SEric Joyner * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2071d10453SEric Joyner * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2171d10453SEric Joyner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2271d10453SEric Joyner * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 2371d10453SEric Joyner * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2471d10453SEric Joyner * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2571d10453SEric Joyner * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2671d10453SEric Joyner * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2771d10453SEric Joyner * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2871d10453SEric Joyner * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2971d10453SEric Joyner * POSSIBILITY OF SUCH DAMAGE. 3071d10453SEric Joyner */ 3171d10453SEric Joyner 3271d10453SEric Joyner #ifndef _ICE_LAN_TX_RX_H_ 3371d10453SEric Joyner #define _ICE_LAN_TX_RX_H_ 3471d10453SEric Joyner #include "ice_osdep.h" 3571d10453SEric Joyner 3671d10453SEric Joyner /* Rx Descriptors */ 3771d10453SEric Joyner union ice_16byte_rx_desc { 3871d10453SEric Joyner struct { 3971d10453SEric Joyner __le64 pkt_addr; /* Packet buffer address */ 4071d10453SEric Joyner __le64 hdr_addr; /* Header buffer address */ 4171d10453SEric Joyner } read; 4271d10453SEric Joyner struct { 4371d10453SEric Joyner struct { 4471d10453SEric Joyner struct { 4571d10453SEric Joyner __le16 mirroring_status; 4671d10453SEric Joyner __le16 l2tag1; 4771d10453SEric Joyner } lo_dword; 4871d10453SEric Joyner union { 4971d10453SEric Joyner __le32 rss; /* RSS Hash */ 5071d10453SEric Joyner __le32 fd_id; /* Flow Director filter ID */ 5171d10453SEric Joyner } hi_dword; 5271d10453SEric Joyner } qword0; 5371d10453SEric Joyner struct { 5471d10453SEric Joyner /* ext status/error/PTYPE/length */ 5571d10453SEric Joyner __le64 status_error_len; 5671d10453SEric Joyner } qword1; 5771d10453SEric Joyner } wb; /* writeback */ 5871d10453SEric Joyner }; 5971d10453SEric Joyner 6071d10453SEric Joyner union ice_32byte_rx_desc { 6171d10453SEric Joyner struct { 6271d10453SEric Joyner __le64 pkt_addr; /* Packet buffer address */ 6371d10453SEric Joyner __le64 hdr_addr; /* Header buffer address */ 6471d10453SEric Joyner /* bit 0 of hdr_addr is DD bit */ 6571d10453SEric Joyner __le64 rsvd1; 6671d10453SEric Joyner __le64 rsvd2; 6771d10453SEric Joyner } read; 6871d10453SEric Joyner struct { 6971d10453SEric Joyner struct { 7071d10453SEric Joyner struct { 7171d10453SEric Joyner __le16 mirroring_status; 7271d10453SEric Joyner __le16 l2tag1; 7371d10453SEric Joyner } lo_dword; 7471d10453SEric Joyner union { 7571d10453SEric Joyner __le32 rss; /* RSS Hash */ 7671d10453SEric Joyner __le32 fd_id; /* Flow Director filter ID */ 7771d10453SEric Joyner } hi_dword; 7871d10453SEric Joyner } qword0; 7971d10453SEric Joyner struct { 8071d10453SEric Joyner /* status/error/PTYPE/length */ 8171d10453SEric Joyner __le64 status_error_len; 8271d10453SEric Joyner } qword1; 8371d10453SEric Joyner struct { 8471d10453SEric Joyner __le16 ext_status; /* extended status */ 8571d10453SEric Joyner __le16 rsvd; 8671d10453SEric Joyner __le16 l2tag2_1; 8771d10453SEric Joyner __le16 l2tag2_2; 8871d10453SEric Joyner } qword2; 8971d10453SEric Joyner struct { 9071d10453SEric Joyner __le32 reserved; 9171d10453SEric Joyner __le32 fd_id; 9271d10453SEric Joyner } qword3; 9371d10453SEric Joyner } wb; /* writeback */ 9471d10453SEric Joyner }; 9571d10453SEric Joyner 9671d10453SEric Joyner struct ice_fltr_desc { 9771d10453SEric Joyner __le64 qidx_compq_space_stat; 9871d10453SEric Joyner __le64 dtype_cmd_vsi_fdid; 9971d10453SEric Joyner }; 10071d10453SEric Joyner 10171d10453SEric Joyner #define ICE_FXD_FLTR_QW0_QINDEX_S 0 10271d10453SEric Joyner #define ICE_FXD_FLTR_QW0_QINDEX_M (0x7FFULL << ICE_FXD_FLTR_QW0_QINDEX_S) 10371d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_Q_S 11 10471d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_Q_M BIT_ULL(ICE_FXD_FLTR_QW0_COMP_Q_S) 10571d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_Q_ZERO 0x0ULL 10671d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_Q_QINDX 0x1ULL 10771d10453SEric Joyner 10871d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_REPORT_S 12 10971d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_REPORT_M \ 11071d10453SEric Joyner (0x3ULL << ICE_FXD_FLTR_QW0_COMP_REPORT_S) 11171d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_REPORT_NONE 0x0ULL 11271d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_REPORT_SW_FAIL 0x1ULL 11371d10453SEric Joyner #define ICE_FXD_FLTR_QW0_COMP_REPORT_SW 0x2ULL 11471d10453SEric Joyner 11571d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FD_SPACE_S 14 11671d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FD_SPACE_M (0x3ULL << ICE_FXD_FLTR_QW0_FD_SPACE_S) 11771d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FD_SPACE_GUAR 0x0ULL 11871d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FD_SPACE_BEST_EFFORT 0x1ULL 11971d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FD_SPACE_GUAR_BEST 0x2ULL 12071d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FD_SPACE_BEST_GUAR 0x3ULL 12171d10453SEric Joyner 12271d10453SEric Joyner #define ICE_FXD_FLTR_QW0_STAT_CNT_S 16 12371d10453SEric Joyner #define ICE_FXD_FLTR_QW0_STAT_CNT_M \ 12471d10453SEric Joyner (0x1FFFULL << ICE_FXD_FLTR_QW0_STAT_CNT_S) 12571d10453SEric Joyner #define ICE_FXD_FLTR_QW0_STAT_ENA_S 29 12671d10453SEric Joyner #define ICE_FXD_FLTR_QW0_STAT_ENA_M (0x3ULL << ICE_FXD_FLTR_QW0_STAT_ENA_S) 12771d10453SEric Joyner #define ICE_FXD_FLTR_QW0_STAT_ENA_NONE 0x0ULL 12871d10453SEric Joyner #define ICE_FXD_FLTR_QW0_STAT_ENA_PKTS 0x1ULL 12971d10453SEric Joyner #define ICE_FXD_FLTR_QW0_STAT_ENA_BYTES 0x2ULL 13071d10453SEric Joyner #define ICE_FXD_FLTR_QW0_STAT_ENA_PKTS_BYTES 0x3ULL 13171d10453SEric Joyner 13271d10453SEric Joyner #define ICE_FXD_FLTR_QW0_EVICT_ENA_S 31 13371d10453SEric Joyner #define ICE_FXD_FLTR_QW0_EVICT_ENA_M BIT_ULL(ICE_FXD_FLTR_QW0_EVICT_ENA_S) 13471d10453SEric Joyner #define ICE_FXD_FLTR_QW0_EVICT_ENA_FALSE 0x0ULL 13571d10453SEric Joyner #define ICE_FXD_FLTR_QW0_EVICT_ENA_TRUE 0x1ULL 13671d10453SEric Joyner 13771d10453SEric Joyner #define ICE_FXD_FLTR_QW0_TO_Q_S 32 13871d10453SEric Joyner #define ICE_FXD_FLTR_QW0_TO_Q_M (0x7ULL << ICE_FXD_FLTR_QW0_TO_Q_S) 13971d10453SEric Joyner #define ICE_FXD_FLTR_QW0_TO_Q_EQUALS_QINDEX 0x0ULL 14071d10453SEric Joyner 14171d10453SEric Joyner #define ICE_FXD_FLTR_QW0_TO_Q_PRI_S 35 14271d10453SEric Joyner #define ICE_FXD_FLTR_QW0_TO_Q_PRI_M (0x7ULL << ICE_FXD_FLTR_QW0_TO_Q_PRI_S) 14371d10453SEric Joyner #define ICE_FXD_FLTR_QW0_TO_Q_PRIO1 0x1ULL 14471d10453SEric Joyner 14571d10453SEric Joyner #define ICE_FXD_FLTR_QW0_DPU_RECIPE_S 38 14671d10453SEric Joyner #define ICE_FXD_FLTR_QW0_DPU_RECIPE_M \ 14771d10453SEric Joyner (0x3ULL << ICE_FXD_FLTR_QW0_DPU_RECIPE_S) 14871d10453SEric Joyner #define ICE_FXD_FLTR_QW0_DPU_RECIPE_DFLT 0x0ULL 14971d10453SEric Joyner 15071d10453SEric Joyner #define ICE_FXD_FLTR_QW0_DROP_S 40 15171d10453SEric Joyner #define ICE_FXD_FLTR_QW0_DROP_M BIT_ULL(ICE_FXD_FLTR_QW0_DROP_S) 15271d10453SEric Joyner #define ICE_FXD_FLTR_QW0_DROP_NO 0x0ULL 15371d10453SEric Joyner #define ICE_FXD_FLTR_QW0_DROP_YES 0x1ULL 15471d10453SEric Joyner 15571d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_PRI_S 41 15671d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_PRI_M (0x7ULL << ICE_FXD_FLTR_QW0_FLEX_PRI_S) 15771d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_PRI_NONE 0x0ULL 15871d10453SEric Joyner 15971d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_MDID_S 44 16071d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_MDID_M (0xFULL << ICE_FXD_FLTR_QW0_FLEX_MDID_S) 16171d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_MDID0 0x0ULL 16271d10453SEric Joyner 16371d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_VAL_S 48 16471d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_VAL_M \ 16571d10453SEric Joyner (0xFFFFULL << ICE_FXD_FLTR_QW0_FLEX_VAL_S) 16671d10453SEric Joyner #define ICE_FXD_FLTR_QW0_FLEX_VAL0 0x0ULL 16771d10453SEric Joyner 16871d10453SEric Joyner #define ICE_FXD_FLTR_QW1_DTYPE_S 0 16971d10453SEric Joyner #define ICE_FXD_FLTR_QW1_DTYPE_M (0xFULL << ICE_FXD_FLTR_QW1_DTYPE_S) 17071d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PCMD_S 4 17171d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PCMD_M BIT_ULL(ICE_FXD_FLTR_QW1_PCMD_S) 17271d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PCMD_ADD 0x0ULL 17371d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PCMD_REMOVE 0x1ULL 17471d10453SEric Joyner 17571d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PROF_PRI_S 5 17671d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PROF_PRI_M (0x7ULL << ICE_FXD_FLTR_QW1_PROF_PRI_S) 17771d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PROF_PRIO_ZERO 0x0ULL 17871d10453SEric Joyner 17971d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PROF_S 8 18071d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PROF_M (0x3FULL << ICE_FXD_FLTR_QW1_PROF_S) 18171d10453SEric Joyner #define ICE_FXD_FLTR_QW1_PROF_ZERO 0x0ULL 18271d10453SEric Joyner 18371d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FD_VSI_S 14 18471d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FD_VSI_M (0x3FFULL << ICE_FXD_FLTR_QW1_FD_VSI_S) 18571d10453SEric Joyner #define ICE_FXD_FLTR_QW1_SWAP_S 24 18671d10453SEric Joyner #define ICE_FXD_FLTR_QW1_SWAP_M BIT_ULL(ICE_FXD_FLTR_QW1_SWAP_S) 18771d10453SEric Joyner #define ICE_FXD_FLTR_QW1_SWAP_NOT_SET 0x0ULL 18871d10453SEric Joyner #define ICE_FXD_FLTR_QW1_SWAP_SET 0x1ULL 18971d10453SEric Joyner 19071d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_PRI_S 25 19171d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_PRI_M (0x7ULL << ICE_FXD_FLTR_QW1_FDID_PRI_S) 19271d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_PRI_ONE 0x1ULL 1937d7af7f8SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_PRI_THREE 0x3ULL 19471d10453SEric Joyner 19571d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_MDID_S 28 19671d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_MDID_M (0xFULL << ICE_FXD_FLTR_QW1_FDID_MDID_S) 19771d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_MDID_FD 0x05ULL 19871d10453SEric Joyner 19971d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_S 32 20071d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_M \ 20171d10453SEric Joyner (0xFFFFFFFFULL << ICE_FXD_FLTR_QW1_FDID_S) 20271d10453SEric Joyner #define ICE_FXD_FLTR_QW1_FDID_ZERO 0x0ULL 20371d10453SEric Joyner 20471d10453SEric Joyner enum ice_rx_desc_status_bits { 20571d10453SEric Joyner /* Note: These are predefined bit offsets */ 20671d10453SEric Joyner ICE_RX_DESC_STATUS_DD_S = 0, 20771d10453SEric Joyner ICE_RX_DESC_STATUS_EOF_S = 1, 20871d10453SEric Joyner ICE_RX_DESC_STATUS_L2TAG1P_S = 2, 20971d10453SEric Joyner ICE_RX_DESC_STATUS_L3L4P_S = 3, 21071d10453SEric Joyner ICE_RX_DESC_STATUS_CRCP_S = 4, 21171d10453SEric Joyner ICE_RX_DESC_STATUS_TSYNINDX_S = 5, 21271d10453SEric Joyner ICE_RX_DESC_STATUS_TSYNVALID_S = 7, 21371d10453SEric Joyner ICE_RX_DESC_STATUS_EXT_UDP_0_S = 8, 21471d10453SEric Joyner ICE_RX_DESC_STATUS_UMBCAST_S = 9, 21571d10453SEric Joyner ICE_RX_DESC_STATUS_FLM_S = 11, 21671d10453SEric Joyner ICE_RX_DESC_STATUS_FLTSTAT_S = 12, 21771d10453SEric Joyner ICE_RX_DESC_STATUS_LPBK_S = 14, 21871d10453SEric Joyner ICE_RX_DESC_STATUS_IPV6EXADD_S = 15, 21971d10453SEric Joyner ICE_RX_DESC_STATUS_RESERVED2_S = 16, 22071d10453SEric Joyner ICE_RX_DESC_STATUS_INT_UDP_0_S = 18, 22171d10453SEric Joyner ICE_RX_DESC_STATUS_LAST /* this entry must be last!!! */ 22271d10453SEric Joyner }; 22371d10453SEric Joyner 22471d10453SEric Joyner #define ICE_RXD_QW1_STATUS_S 0 22571d10453SEric Joyner #define ICE_RXD_QW1_STATUS_M ((BIT(ICE_RX_DESC_STATUS_LAST) - 1) << \ 22671d10453SEric Joyner ICE_RXD_QW1_STATUS_S) 22771d10453SEric Joyner 22871d10453SEric Joyner #define ICE_RXD_QW1_STATUS_TSYNINDX_S ICE_RX_DESC_STATUS_TSYNINDX_S 22971d10453SEric Joyner #define ICE_RXD_QW1_STATUS_TSYNINDX_M (0x3UL << ICE_RXD_QW1_STATUS_TSYNINDX_S) 23071d10453SEric Joyner 23171d10453SEric Joyner #define ICE_RXD_QW1_STATUS_TSYNVALID_S ICE_RX_DESC_STATUS_TSYNVALID_S 23271d10453SEric Joyner #define ICE_RXD_QW1_STATUS_TSYNVALID_M BIT_ULL(ICE_RXD_QW1_STATUS_TSYNVALID_S) 23371d10453SEric Joyner 23471d10453SEric Joyner enum ice_rx_desc_fltstat_values { 23571d10453SEric Joyner ICE_RX_DESC_FLTSTAT_NO_DATA = 0, 23671d10453SEric Joyner ICE_RX_DESC_FLTSTAT_RSV_FD_ID = 1, /* 16byte desc? FD_ID : RSV */ 23771d10453SEric Joyner ICE_RX_DESC_FLTSTAT_RSV = 2, 23871d10453SEric Joyner ICE_RX_DESC_FLTSTAT_RSS_HASH = 3, 23971d10453SEric Joyner }; 24071d10453SEric Joyner 24171d10453SEric Joyner #define ICE_RXD_QW1_ERROR_S 19 24271d10453SEric Joyner #define ICE_RXD_QW1_ERROR_M (0xFFUL << ICE_RXD_QW1_ERROR_S) 24371d10453SEric Joyner 24471d10453SEric Joyner enum ice_rx_desc_error_bits { 24571d10453SEric Joyner /* Note: These are predefined bit offsets */ 24671d10453SEric Joyner ICE_RX_DESC_ERROR_RXE_S = 0, 24771d10453SEric Joyner ICE_RX_DESC_ERROR_RECIPE_S = 1, 24871d10453SEric Joyner ICE_RX_DESC_ERROR_HBO_S = 2, 24971d10453SEric Joyner ICE_RX_DESC_ERROR_L3L4E_S = 3, /* 3 BITS */ 25071d10453SEric Joyner ICE_RX_DESC_ERROR_IPE_S = 3, 25171d10453SEric Joyner ICE_RX_DESC_ERROR_L4E_S = 4, 25271d10453SEric Joyner ICE_RX_DESC_ERROR_EIPE_S = 5, 25371d10453SEric Joyner ICE_RX_DESC_ERROR_OVERSIZE_S = 6, 25471d10453SEric Joyner ICE_RX_DESC_ERROR_PPRS_S = 7 25571d10453SEric Joyner }; 25671d10453SEric Joyner 25771d10453SEric Joyner enum ice_rx_desc_error_l3l4e_masks { 25871d10453SEric Joyner ICE_RX_DESC_ERROR_L3L4E_NONE = 0, 25971d10453SEric Joyner ICE_RX_DESC_ERROR_L3L4E_PROT = 1, 26071d10453SEric Joyner }; 26171d10453SEric Joyner 26271d10453SEric Joyner #define ICE_RXD_QW1_PTYPE_S 30 26371d10453SEric Joyner #define ICE_RXD_QW1_PTYPE_M (0xFFULL << ICE_RXD_QW1_PTYPE_S) 26471d10453SEric Joyner 26571d10453SEric Joyner /* Packet type non-ip values */ 26671d10453SEric Joyner enum ice_rx_l2_ptype { 26771d10453SEric Joyner ICE_RX_PTYPE_L2_RESERVED = 0, 26871d10453SEric Joyner ICE_RX_PTYPE_L2_MAC_PAY2 = 1, 26971d10453SEric Joyner ICE_RX_PTYPE_L2_FIP_PAY2 = 3, 27071d10453SEric Joyner ICE_RX_PTYPE_L2_OUI_PAY2 = 4, 27171d10453SEric Joyner ICE_RX_PTYPE_L2_MACCNTRL_PAY2 = 5, 27271d10453SEric Joyner ICE_RX_PTYPE_L2_LLDP_PAY2 = 6, 27371d10453SEric Joyner ICE_RX_PTYPE_L2_ECP_PAY2 = 7, 27471d10453SEric Joyner ICE_RX_PTYPE_L2_EVB_PAY2 = 8, 27571d10453SEric Joyner ICE_RX_PTYPE_L2_QCN_PAY2 = 9, 27671d10453SEric Joyner ICE_RX_PTYPE_L2_EAPOL_PAY2 = 10, 27771d10453SEric Joyner ICE_RX_PTYPE_L2_ARP = 11, 27871d10453SEric Joyner }; 27971d10453SEric Joyner 28071d10453SEric Joyner struct ice_rx_ptype_decoded { 28171d10453SEric Joyner u32 known:1; 28271d10453SEric Joyner u32 outer_ip:1; 28371d10453SEric Joyner u32 outer_ip_ver:2; 28471d10453SEric Joyner u32 outer_frag:1; 28571d10453SEric Joyner u32 tunnel_type:3; 28671d10453SEric Joyner u32 tunnel_end_prot:2; 28771d10453SEric Joyner u32 tunnel_end_frag:1; 28871d10453SEric Joyner u32 inner_prot:4; 28971d10453SEric Joyner u32 payload_layer:3; 29071d10453SEric Joyner }; 29171d10453SEric Joyner 29271d10453SEric Joyner enum ice_rx_ptype_outer_ip { 29371d10453SEric Joyner ICE_RX_PTYPE_OUTER_L2 = 0, 29471d10453SEric Joyner ICE_RX_PTYPE_OUTER_IP = 1, 29571d10453SEric Joyner }; 29671d10453SEric Joyner 29771d10453SEric Joyner enum ice_rx_ptype_outer_ip_ver { 29871d10453SEric Joyner ICE_RX_PTYPE_OUTER_NONE = 0, 29971d10453SEric Joyner ICE_RX_PTYPE_OUTER_IPV4 = 1, 30071d10453SEric Joyner ICE_RX_PTYPE_OUTER_IPV6 = 2, 30171d10453SEric Joyner }; 30271d10453SEric Joyner 30371d10453SEric Joyner enum ice_rx_ptype_outer_fragmented { 30471d10453SEric Joyner ICE_RX_PTYPE_NOT_FRAG = 0, 30571d10453SEric Joyner ICE_RX_PTYPE_FRAG = 1, 30671d10453SEric Joyner }; 30771d10453SEric Joyner 30871d10453SEric Joyner enum ice_rx_ptype_tunnel_type { 30971d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_NONE = 0, 31071d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_IP_IP = 1, 31171d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_IP_GRENAT = 2, 31271d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_IP_GRENAT_MAC = 3, 31371d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_IP_GRENAT_MAC_VLAN = 4, 31471d10453SEric Joyner }; 31571d10453SEric Joyner 31671d10453SEric Joyner enum ice_rx_ptype_tunnel_end_prot { 31771d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_END_NONE = 0, 31871d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_END_IPV4 = 1, 31971d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_END_IPV6 = 2, 32071d10453SEric Joyner }; 32171d10453SEric Joyner 32271d10453SEric Joyner enum ice_rx_ptype_inner_prot { 32371d10453SEric Joyner ICE_RX_PTYPE_INNER_PROT_NONE = 0, 32471d10453SEric Joyner ICE_RX_PTYPE_INNER_PROT_UDP = 1, 32571d10453SEric Joyner ICE_RX_PTYPE_INNER_PROT_TCP = 2, 32671d10453SEric Joyner ICE_RX_PTYPE_INNER_PROT_SCTP = 3, 32771d10453SEric Joyner ICE_RX_PTYPE_INNER_PROT_ICMP = 4, 32871d10453SEric Joyner }; 32971d10453SEric Joyner 33071d10453SEric Joyner enum ice_rx_ptype_payload_layer { 33171d10453SEric Joyner ICE_RX_PTYPE_PAYLOAD_LAYER_NONE = 0, 33271d10453SEric Joyner ICE_RX_PTYPE_PAYLOAD_LAYER_PAY2 = 1, 33371d10453SEric Joyner ICE_RX_PTYPE_PAYLOAD_LAYER_PAY3 = 2, 33471d10453SEric Joyner ICE_RX_PTYPE_PAYLOAD_LAYER_PAY4 = 3, 33571d10453SEric Joyner }; 33671d10453SEric Joyner 33771d10453SEric Joyner #define ICE_RXD_QW1_LEN_PBUF_S 38 33871d10453SEric Joyner #define ICE_RXD_QW1_LEN_PBUF_M (0x3FFFULL << ICE_RXD_QW1_LEN_PBUF_S) 33971d10453SEric Joyner 34071d10453SEric Joyner #define ICE_RXD_QW1_LEN_HBUF_S 52 34171d10453SEric Joyner #define ICE_RXD_QW1_LEN_HBUF_M (0x7FFULL << ICE_RXD_QW1_LEN_HBUF_S) 34271d10453SEric Joyner 34371d10453SEric Joyner #define ICE_RXD_QW1_LEN_SPH_S 63 34471d10453SEric Joyner #define ICE_RXD_QW1_LEN_SPH_M BIT_ULL(ICE_RXD_QW1_LEN_SPH_S) 34571d10453SEric Joyner 34671d10453SEric Joyner enum ice_rx_desc_ext_status_bits { 34771d10453SEric Joyner /* Note: These are predefined bit offsets */ 34871d10453SEric Joyner ICE_RX_DESC_EXT_STATUS_L2TAG2P_S = 0, 34971d10453SEric Joyner ICE_RX_DESC_EXT_STATUS_L2TAG3P_S = 1, 35071d10453SEric Joyner ICE_RX_DESC_EXT_STATUS_FLEXBL_S = 2, 35171d10453SEric Joyner ICE_RX_DESC_EXT_STATUS_FLEXBH_S = 4, 35271d10453SEric Joyner ICE_RX_DESC_EXT_STATUS_FDLONGB_S = 9, 35371d10453SEric Joyner ICE_RX_DESC_EXT_STATUS_PELONGB_S = 11, 35471d10453SEric Joyner }; 35571d10453SEric Joyner 35671d10453SEric Joyner enum ice_rx_desc_pe_status_bits { 35771d10453SEric Joyner /* Note: These are predefined bit offsets */ 35871d10453SEric Joyner ICE_RX_DESC_PE_STATUS_QPID_S = 0, /* 18 BITS */ 35971d10453SEric Joyner ICE_RX_DESC_PE_STATUS_L4PORT_S = 0, /* 16 BITS */ 36071d10453SEric Joyner ICE_RX_DESC_PE_STATUS_IPINDEX_S = 16, /* 8 BITS */ 36171d10453SEric Joyner ICE_RX_DESC_PE_STATUS_QPIDHIT_S = 24, 36271d10453SEric Joyner ICE_RX_DESC_PE_STATUS_APBVTHIT_S = 25, 36371d10453SEric Joyner ICE_RX_DESC_PE_STATUS_PORTV_S = 26, 36471d10453SEric Joyner ICE_RX_DESC_PE_STATUS_URG_S = 27, 36571d10453SEric Joyner ICE_RX_DESC_PE_STATUS_IPFRAG_S = 28, 36671d10453SEric Joyner ICE_RX_DESC_PE_STATUS_IPOPT_S = 29 36771d10453SEric Joyner }; 36871d10453SEric Joyner 36971d10453SEric Joyner #define ICE_RX_PROG_STATUS_DESC_LEN_S 38 37071d10453SEric Joyner #define ICE_RX_PROG_STATUS_DESC_LEN 0x2000000 37171d10453SEric Joyner 37271d10453SEric Joyner #define ICE_RX_PROG_STATUS_DESC_QW1_PROGID_S 2 37371d10453SEric Joyner #define ICE_RX_PROG_STATUS_DESC_QW1_PROGID_M \ 37471d10453SEric Joyner (0x7UL << ICE_RX_PROG_STATUS_DESC_QW1_PROGID_S) 37571d10453SEric Joyner 37671d10453SEric Joyner #define ICE_RX_PROG_STATUS_DESC_QW1_ERROR_S 19 37771d10453SEric Joyner #define ICE_RX_PROG_STATUS_DESC_QW1_ERROR_M \ 37871d10453SEric Joyner (0x3FUL << ICE_RX_PROG_STATUS_DESC_QW1_ERROR_S) 37971d10453SEric Joyner 38071d10453SEric Joyner enum ice_rx_prog_status_desc_status_bits { 38171d10453SEric Joyner /* Note: These are predefined bit offsets */ 38271d10453SEric Joyner ICE_RX_PROG_STATUS_DESC_DD_S = 0, 38371d10453SEric Joyner ICE_RX_PROG_STATUS_DESC_PROG_ID_S = 2 /* 3 BITS */ 38471d10453SEric Joyner }; 38571d10453SEric Joyner 38671d10453SEric Joyner enum ice_rx_prog_status_desc_prog_id_masks { 38771d10453SEric Joyner ICE_RX_PROG_STATUS_DESC_FD_FLTR_STATUS = 1, 38871d10453SEric Joyner }; 38971d10453SEric Joyner 39071d10453SEric Joyner enum ice_rx_prog_status_desc_error_bits { 39171d10453SEric Joyner /* Note: These are predefined bit offsets */ 39271d10453SEric Joyner ICE_RX_PROG_STATUS_DESC_FD_TBL_FULL_S = 0, 39371d10453SEric Joyner ICE_RX_PROG_STATUS_DESC_NO_FD_ENTRY_S = 1, 39471d10453SEric Joyner }; 39571d10453SEric Joyner 39671d10453SEric Joyner /* Rx Flex Descriptors 39771d10453SEric Joyner * These descriptors are used instead of the legacy version descriptors when 39871d10453SEric Joyner * ice_rlan_ctx.adv_desc is set 39971d10453SEric Joyner */ 40071d10453SEric Joyner 40171d10453SEric Joyner union ice_32b_rx_flex_desc { 40271d10453SEric Joyner struct { 40371d10453SEric Joyner __le64 pkt_addr; /* Packet buffer address */ 40471d10453SEric Joyner __le64 hdr_addr; /* Header buffer address */ 40571d10453SEric Joyner /* bit 0 of hdr_addr is DD bit */ 40671d10453SEric Joyner __le64 rsvd1; 40771d10453SEric Joyner __le64 rsvd2; 40871d10453SEric Joyner } read; 40971d10453SEric Joyner struct { 41071d10453SEric Joyner /* Qword 0 */ 41171d10453SEric Joyner u8 rxdid; /* descriptor builder profile ID */ 41271d10453SEric Joyner u8 mir_id_umb_cast; /* mirror=[5:0], umb=[7:6] */ 41371d10453SEric Joyner __le16 ptype_flex_flags0; /* ptype=[9:0], ff0=[15:10] */ 41471d10453SEric Joyner __le16 pkt_len; /* [15:14] are reserved */ 41571d10453SEric Joyner __le16 hdr_len_sph_flex_flags1; /* header=[10:0] */ 41671d10453SEric Joyner /* sph=[11:11] */ 41771d10453SEric Joyner /* ff1/ext=[15:12] */ 41871d10453SEric Joyner 41971d10453SEric Joyner /* Qword 1 */ 42071d10453SEric Joyner __le16 status_error0; 42171d10453SEric Joyner __le16 l2tag1; 42271d10453SEric Joyner __le16 flex_meta0; 42371d10453SEric Joyner __le16 flex_meta1; 42471d10453SEric Joyner 42571d10453SEric Joyner /* Qword 2 */ 42671d10453SEric Joyner __le16 status_error1; 42771d10453SEric Joyner u8 flex_flags2; 42871d10453SEric Joyner u8 time_stamp_low; 42971d10453SEric Joyner __le16 l2tag2_1st; 43071d10453SEric Joyner __le16 l2tag2_2nd; 43171d10453SEric Joyner 43271d10453SEric Joyner /* Qword 3 */ 43371d10453SEric Joyner __le16 flex_meta2; 43471d10453SEric Joyner __le16 flex_meta3; 43571d10453SEric Joyner union { 43671d10453SEric Joyner struct { 43771d10453SEric Joyner __le16 flex_meta4; 43871d10453SEric Joyner __le16 flex_meta5; 43971d10453SEric Joyner } flex; 44071d10453SEric Joyner __le32 ts_high; 44171d10453SEric Joyner } flex_ts; 44271d10453SEric Joyner } wb; /* writeback */ 44371d10453SEric Joyner }; 44471d10453SEric Joyner 44571d10453SEric Joyner /* Rx Flex Descriptor NIC Profile 44671d10453SEric Joyner * RxDID Profile ID 2 44771d10453SEric Joyner * Flex-field 0: RSS hash lower 16-bits 44871d10453SEric Joyner * Flex-field 1: RSS hash upper 16-bits 44971d10453SEric Joyner * Flex-field 2: Flow ID lower 16-bits 45071d10453SEric Joyner * Flex-field 3: Flow ID higher 16-bits 45171d10453SEric Joyner * Flex-field 4: reserved, VLAN ID taken from L2Tag 45271d10453SEric Joyner */ 45371d10453SEric Joyner struct ice_32b_rx_flex_desc_nic { 45471d10453SEric Joyner /* Qword 0 */ 45571d10453SEric Joyner u8 rxdid; 45671d10453SEric Joyner u8 mir_id_umb_cast; 45771d10453SEric Joyner __le16 ptype_flexi_flags0; 45871d10453SEric Joyner __le16 pkt_len; 45971d10453SEric Joyner __le16 hdr_len_sph_flex_flags1; 46071d10453SEric Joyner 46171d10453SEric Joyner /* Qword 1 */ 46271d10453SEric Joyner __le16 status_error0; 46371d10453SEric Joyner __le16 l2tag1; 46471d10453SEric Joyner __le32 rss_hash; 46571d10453SEric Joyner 46671d10453SEric Joyner /* Qword 2 */ 46771d10453SEric Joyner __le16 status_error1; 46871d10453SEric Joyner u8 flexi_flags2; 46971d10453SEric Joyner u8 ts_low; 47071d10453SEric Joyner __le16 l2tag2_1st; 47171d10453SEric Joyner __le16 l2tag2_2nd; 47271d10453SEric Joyner 47371d10453SEric Joyner /* Qword 3 */ 47471d10453SEric Joyner __le32 flow_id; 47571d10453SEric Joyner union { 47671d10453SEric Joyner struct { 47771d10453SEric Joyner __le16 rsvd; 47871d10453SEric Joyner __le16 flow_id_ipv6; 47971d10453SEric Joyner } flex; 48071d10453SEric Joyner __le32 ts_high; 48171d10453SEric Joyner } flex_ts; 48271d10453SEric Joyner }; 48371d10453SEric Joyner 48471d10453SEric Joyner /* Rx Flex Descriptor Switch Profile 48571d10453SEric Joyner * RxDID Profile ID 3 48671d10453SEric Joyner * Flex-field 0: Source VSI 48771d10453SEric Joyner */ 48871d10453SEric Joyner struct ice_32b_rx_flex_desc_sw { 48971d10453SEric Joyner /* Qword 0 */ 49071d10453SEric Joyner u8 rxdid; 49171d10453SEric Joyner u8 mir_id_umb_cast; 49271d10453SEric Joyner __le16 ptype_flexi_flags0; 49371d10453SEric Joyner __le16 pkt_len; 49471d10453SEric Joyner __le16 hdr_len_sph_flex_flags1; 49571d10453SEric Joyner 49671d10453SEric Joyner /* Qword 1 */ 49771d10453SEric Joyner __le16 status_error0; 49871d10453SEric Joyner __le16 l2tag1; 49971d10453SEric Joyner __le16 src_vsi; /* [10:15] are reserved */ 50071d10453SEric Joyner __le16 flex_md1_rsvd; 50171d10453SEric Joyner 50271d10453SEric Joyner /* Qword 2 */ 50371d10453SEric Joyner __le16 status_error1; 50471d10453SEric Joyner u8 flex_flags2; 50571d10453SEric Joyner u8 ts_low; 50671d10453SEric Joyner __le16 l2tag2_1st; 50771d10453SEric Joyner __le16 l2tag2_2nd; 50871d10453SEric Joyner 50971d10453SEric Joyner /* Qword 3 */ 51071d10453SEric Joyner __le32 rsvd; /* flex words 2-3 are reserved */ 51171d10453SEric Joyner __le32 ts_high; 51271d10453SEric Joyner }; 51371d10453SEric Joyner 51471d10453SEric Joyner /* Rx Flex Descriptor NIC VEB Profile 51571d10453SEric Joyner * RxDID Profile ID 4 51671d10453SEric Joyner * Flex-field 0: Destination VSI 51771d10453SEric Joyner */ 51871d10453SEric Joyner struct ice_32b_rx_flex_desc_nic_veb_dbg { 51971d10453SEric Joyner /* Qword 0 */ 52071d10453SEric Joyner u8 rxdid; 52171d10453SEric Joyner u8 mir_id_umb_cast; 52271d10453SEric Joyner __le16 ptype_flexi_flags0; 52371d10453SEric Joyner __le16 pkt_len; 52471d10453SEric Joyner __le16 hdr_len_sph_flex_flags1; 52571d10453SEric Joyner 52671d10453SEric Joyner /* Qword 1 */ 52771d10453SEric Joyner __le16 status_error0; 52871d10453SEric Joyner __le16 l2tag1; 52971d10453SEric Joyner __le16 dst_vsi; /* [0:12]: destination VSI */ 53071d10453SEric Joyner /* 13: VSI valid bit */ 53171d10453SEric Joyner /* [14:15] are reserved */ 53271d10453SEric Joyner __le16 flex_field_1; 53371d10453SEric Joyner 53471d10453SEric Joyner /* Qword 2 */ 53571d10453SEric Joyner __le16 status_error1; 53671d10453SEric Joyner u8 flex_flags2; 53771d10453SEric Joyner u8 ts_low; 53871d10453SEric Joyner __le16 l2tag2_1st; 53971d10453SEric Joyner __le16 l2tag2_2nd; 54071d10453SEric Joyner 54171d10453SEric Joyner /* Qword 3 */ 54271d10453SEric Joyner __le32 rsvd; /* flex words 2-3 are reserved */ 54371d10453SEric Joyner __le32 ts_high; 54471d10453SEric Joyner }; 54571d10453SEric Joyner 54671d10453SEric Joyner /* Rx Flex Descriptor NIC ACL Profile 54771d10453SEric Joyner * RxDID Profile ID 5 54871d10453SEric Joyner * Flex-field 0: ACL Counter 0 54971d10453SEric Joyner * Flex-field 1: ACL Counter 1 55071d10453SEric Joyner * Flex-field 2: ACL Counter 2 55171d10453SEric Joyner */ 55271d10453SEric Joyner struct ice_32b_rx_flex_desc_nic_acl_dbg { 55371d10453SEric Joyner /* Qword 0 */ 55471d10453SEric Joyner u8 rxdid; 55571d10453SEric Joyner u8 mir_id_umb_cast; 55671d10453SEric Joyner __le16 ptype_flexi_flags0; 55771d10453SEric Joyner __le16 pkt_len; 55871d10453SEric Joyner __le16 hdr_len_sph_flex_flags1; 55971d10453SEric Joyner 56071d10453SEric Joyner /* Qword 1 */ 56171d10453SEric Joyner __le16 status_error0; 56271d10453SEric Joyner __le16 l2tag1; 56371d10453SEric Joyner __le16 acl_ctr0; 56471d10453SEric Joyner __le16 acl_ctr1; 56571d10453SEric Joyner 56671d10453SEric Joyner /* Qword 2 */ 56771d10453SEric Joyner __le16 status_error1; 56871d10453SEric Joyner u8 flex_flags2; 56971d10453SEric Joyner u8 ts_low; 57071d10453SEric Joyner __le16 l2tag2_1st; 57171d10453SEric Joyner __le16 l2tag2_2nd; 57271d10453SEric Joyner 57371d10453SEric Joyner /* Qword 3 */ 57471d10453SEric Joyner __le16 acl_ctr2; 57571d10453SEric Joyner __le16 rsvd; /* flex words 2-3 are reserved */ 57671d10453SEric Joyner __le32 ts_high; 57771d10453SEric Joyner }; 57871d10453SEric Joyner 57971d10453SEric Joyner /* Rx Flex Descriptor NIC Profile 58071d10453SEric Joyner * RxDID Profile ID 6 58171d10453SEric Joyner * Flex-field 0: RSS hash lower 16-bits 58271d10453SEric Joyner * Flex-field 1: RSS hash upper 16-bits 58371d10453SEric Joyner * Flex-field 2: Flow ID lower 16-bits 58471d10453SEric Joyner * Flex-field 3: Source VSI 58571d10453SEric Joyner * Flex-field 4: reserved, VLAN ID taken from L2Tag 58671d10453SEric Joyner */ 58771d10453SEric Joyner struct ice_32b_rx_flex_desc_nic_2 { 58871d10453SEric Joyner /* Qword 0 */ 58971d10453SEric Joyner u8 rxdid; 59071d10453SEric Joyner u8 mir_id_umb_cast; 59171d10453SEric Joyner __le16 ptype_flexi_flags0; 59271d10453SEric Joyner __le16 pkt_len; 59371d10453SEric Joyner __le16 hdr_len_sph_flex_flags1; 59471d10453SEric Joyner 59571d10453SEric Joyner /* Qword 1 */ 59671d10453SEric Joyner __le16 status_error0; 59771d10453SEric Joyner __le16 l2tag1; 59871d10453SEric Joyner __le32 rss_hash; 59971d10453SEric Joyner 60071d10453SEric Joyner /* Qword 2 */ 60171d10453SEric Joyner __le16 status_error1; 60271d10453SEric Joyner u8 flexi_flags2; 60371d10453SEric Joyner u8 ts_low; 60471d10453SEric Joyner __le16 l2tag2_1st; 60571d10453SEric Joyner __le16 l2tag2_2nd; 60671d10453SEric Joyner 60771d10453SEric Joyner /* Qword 3 */ 60871d10453SEric Joyner __le16 flow_id; 60971d10453SEric Joyner __le16 src_vsi; 61071d10453SEric Joyner union { 61171d10453SEric Joyner struct { 61271d10453SEric Joyner __le16 rsvd; 61371d10453SEric Joyner __le16 flow_id_ipv6; 61471d10453SEric Joyner } flex; 61571d10453SEric Joyner __le32 ts_high; 61671d10453SEric Joyner } flex_ts; 61771d10453SEric Joyner }; 61871d10453SEric Joyner 61971d10453SEric Joyner /* Receive Flex Descriptor profile IDs: There are a total 62071d10453SEric Joyner * of 64 profiles where profile IDs 0/1 are for legacy; and 62171d10453SEric Joyner * profiles 2-63 are flex profiles that can be programmed 62271d10453SEric Joyner * with a specific metadata (profile 7 reserved for HW) 62371d10453SEric Joyner */ 62471d10453SEric Joyner enum ice_rxdid { 62571d10453SEric Joyner ICE_RXDID_LEGACY_0 = 0, 62671d10453SEric Joyner ICE_RXDID_LEGACY_1 = 1, 62771d10453SEric Joyner ICE_RXDID_FLEX_NIC = 2, 62871d10453SEric Joyner ICE_RXDID_FLEX_NIC_2 = 6, 62971d10453SEric Joyner ICE_RXDID_HW = 7, 63071d10453SEric Joyner ICE_RXDID_LAST = 63, 63171d10453SEric Joyner }; 63271d10453SEric Joyner 63371d10453SEric Joyner /* Recceive Flex descriptor Dword Index */ 63471d10453SEric Joyner enum ice_flex_word { 63571d10453SEric Joyner ICE_RX_FLEX_DWORD_0 = 0, 63671d10453SEric Joyner ICE_RX_FLEX_DWORD_1, 63771d10453SEric Joyner ICE_RX_FLEX_DWORD_2, 63871d10453SEric Joyner ICE_RX_FLEX_DWORD_3, 63971d10453SEric Joyner ICE_RX_FLEX_DWORD_4, 64071d10453SEric Joyner ICE_RX_FLEX_DWORD_5 64171d10453SEric Joyner }; 64271d10453SEric Joyner 64371d10453SEric Joyner /* Receive Flex Descriptor Rx opcode values */ 64471d10453SEric Joyner enum ice_flex_opcode { 64571d10453SEric Joyner ICE_RX_OPC_DEBUG = 0, 64671d10453SEric Joyner ICE_RX_OPC_MDID, 64771d10453SEric Joyner ICE_RX_OPC_EXTRACT, 64871d10453SEric Joyner ICE_RX_OPC_PROTID 64971d10453SEric Joyner }; 65071d10453SEric Joyner 65171d10453SEric Joyner /* Receive Descriptor MDID values that access packet flags */ 65271d10453SEric Joyner enum ice_flex_mdid_pkt_flags { 65371d10453SEric Joyner ICE_RX_MDID_PKT_FLAGS_15_0 = 20, 65471d10453SEric Joyner ICE_RX_MDID_PKT_FLAGS_31_16, 65571d10453SEric Joyner ICE_RX_MDID_PKT_FLAGS_47_32, 65671d10453SEric Joyner ICE_RX_MDID_PKT_FLAGS_63_48, 65771d10453SEric Joyner }; 65871d10453SEric Joyner 65971d10453SEric Joyner /* Generic descriptor MDID values */ 66071d10453SEric Joyner enum ice_flex_mdid { 66171d10453SEric Joyner ICE_MDID_GENERIC_WORD_0, 66271d10453SEric Joyner ICE_MDID_GENERIC_WORD_1, 66371d10453SEric Joyner ICE_MDID_GENERIC_WORD_2, 66471d10453SEric Joyner ICE_MDID_GENERIC_WORD_3, 66571d10453SEric Joyner ICE_MDID_GENERIC_WORD_4, 66671d10453SEric Joyner ICE_MDID_FLOW_ID_LOWER, 66771d10453SEric Joyner ICE_MDID_FLOW_ID_HIGH, 66871d10453SEric Joyner ICE_MDID_RX_DESCR_PROF_IDX, 66971d10453SEric Joyner ICE_MDID_RX_PKT_DROP, 67071d10453SEric Joyner ICE_MDID_RX_DST_Q = 12, 67171d10453SEric Joyner ICE_MDID_RX_DST_VSI, 67271d10453SEric Joyner ICE_MDID_SRC_VSI = 19, 67371d10453SEric Joyner ICE_MDID_ACL_NOP = 55, 67471d10453SEric Joyner /* Entry 56 */ 67571d10453SEric Joyner ICE_MDID_RX_HASH_LOW, 67671d10453SEric Joyner ICE_MDID_ACL_CNTR_PKT = ICE_MDID_RX_HASH_LOW, 67771d10453SEric Joyner /* Entry 57 */ 67871d10453SEric Joyner ICE_MDID_RX_HASH_HIGH, 67971d10453SEric Joyner ICE_MDID_ACL_CNTR_BYTES = ICE_MDID_RX_HASH_HIGH, 68071d10453SEric Joyner ICE_MDID_ACL_CNTR_PKT_BYTES 68171d10453SEric Joyner }; 68271d10453SEric Joyner 68371d10453SEric Joyner /* for ice_32byte_rx_flex_desc.mir_id_umb_cast member */ 68471d10453SEric Joyner #define ICE_RX_FLEX_DESC_MIRROR_M (0x3F) /* 6-bits */ 68571d10453SEric Joyner 68671d10453SEric Joyner /* Rx/Tx Flag64 packet flag bits */ 68771d10453SEric Joyner enum ice_flg64_bits { 68871d10453SEric Joyner ICE_FLG_PKT_DSI = 0, 68971d10453SEric Joyner /* If there is a 1 in this bit position then that means Rx packet */ 69071d10453SEric Joyner ICE_FLG_PKT_DIR = 4, 69171d10453SEric Joyner ICE_FLG_EVLAN_x8100 = 14, 69271d10453SEric Joyner ICE_FLG_EVLAN_x9100, 69371d10453SEric Joyner ICE_FLG_VLAN_x8100, 69471d10453SEric Joyner ICE_FLG_TNL_MAC = 22, 69571d10453SEric Joyner ICE_FLG_TNL_VLAN, 69671d10453SEric Joyner ICE_FLG_PKT_FRG, 69771d10453SEric Joyner ICE_FLG_FIN = 32, 69871d10453SEric Joyner ICE_FLG_SYN, 69971d10453SEric Joyner ICE_FLG_RST, 70071d10453SEric Joyner ICE_FLG_TNL0 = 38, 70171d10453SEric Joyner ICE_FLG_TNL1, 70271d10453SEric Joyner ICE_FLG_TNL2, 70371d10453SEric Joyner ICE_FLG_UDP_GRE, 70471d10453SEric Joyner ICE_FLG_RSVD = 63 70571d10453SEric Joyner }; 70671d10453SEric Joyner 70771d10453SEric Joyner enum ice_rx_flex_desc_umb_cast_bits { /* field is 2 bits long */ 70871d10453SEric Joyner ICE_RX_FLEX_DESC_UMB_CAST_S = 6, 70971d10453SEric Joyner ICE_RX_FLEX_DESC_UMB_CAST_LAST /* this entry must be last!!! */ 71071d10453SEric Joyner }; 71171d10453SEric Joyner 71271d10453SEric Joyner enum ice_umbcast_dest_addr_types { 71371d10453SEric Joyner ICE_DEST_UNICAST = 0, 71471d10453SEric Joyner ICE_DEST_MULTICAST, 71571d10453SEric Joyner ICE_DEST_BROADCAST, 71671d10453SEric Joyner ICE_DEST_MIRRORED, 71771d10453SEric Joyner }; 71871d10453SEric Joyner 71971d10453SEric Joyner /* for ice_32byte_rx_flex_desc.ptype_flexi_flags0 member */ 72071d10453SEric Joyner #define ICE_RX_FLEX_DESC_PTYPE_M (0x3FF) /* 10-bits */ 72171d10453SEric Joyner 72271d10453SEric Joyner enum ice_rx_flex_desc_flexi_flags0_bits { /* field is 6 bits long */ 72371d10453SEric Joyner ICE_RX_FLEX_DESC_FLEXI_FLAGS0_S = 10, 72471d10453SEric Joyner ICE_RX_FLEX_DESC_FLEXI_FLAGS0_LAST /* this entry must be last!!! */ 72571d10453SEric Joyner }; 72671d10453SEric Joyner 72771d10453SEric Joyner /* for ice_32byte_rx_flex_desc.pkt_length member */ 72871d10453SEric Joyner #define ICE_RX_FLX_DESC_PKT_LEN_M (0x3FFF) /* 14-bits */ 72971d10453SEric Joyner 73071d10453SEric Joyner /* for ice_32byte_rx_flex_desc.header_length_sph_flexi_flags1 member */ 73171d10453SEric Joyner #define ICE_RX_FLEX_DESC_HEADER_LEN_M (0x7FF) /* 11-bits */ 73271d10453SEric Joyner 73371d10453SEric Joyner enum ice_rx_flex_desc_sph_bits { /* field is 1 bit long */ 73471d10453SEric Joyner ICE_RX_FLEX_DESC_SPH_S = 11, 73571d10453SEric Joyner ICE_RX_FLEX_DESC_SPH_LAST /* this entry must be last!!! */ 73671d10453SEric Joyner }; 73771d10453SEric Joyner 73871d10453SEric Joyner enum ice_rx_flex_desc_flexi_flags1_bits { /* field is 4 bits long */ 73971d10453SEric Joyner ICE_RX_FLEX_DESC_FLEXI_FLAGS1_S = 12, 74071d10453SEric Joyner ICE_RX_FLEX_DESC_FLEXI_FLAGS1_LAST /* this entry must be last!!! */ 74171d10453SEric Joyner }; 74271d10453SEric Joyner 74371d10453SEric Joyner enum ice_rx_flex_desc_ext_status_bits { /* field is 4 bits long */ 74471d10453SEric Joyner ICE_RX_FLEX_DESC_EXT_STATUS_EXT_UDP_S = 12, 74571d10453SEric Joyner ICE_RX_FLEX_DESC_EXT_STATUS_INT_UDP_S = 13, 74671d10453SEric Joyner ICE_RX_FLEX_DESC_EXT_STATUS_RECIPE_S = 14, 74771d10453SEric Joyner ICE_RX_FLEX_DESC_EXT_STATUS_OVERSIZE_S = 15, 74871d10453SEric Joyner ICE_RX_FLEX_DESC_EXT_STATUS_LAST /* entry must be last!!! */ 74971d10453SEric Joyner }; 75071d10453SEric Joyner 75171d10453SEric Joyner enum ice_rx_flex_desc_status_error_0_bits { 75271d10453SEric Joyner /* Note: These are predefined bit offsets */ 75371d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_DD_S = 0, 75471d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_EOF_S, 75571d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_HBO_S, 75671d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_L3L4P_S, 75771d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_XSUM_IPE_S, 75871d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_XSUM_L4E_S, 75971d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_XSUM_EIPE_S, 76071d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_XSUM_EUDPE_S, 76171d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_LPBK_S, 76271d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_IPV6EXADD_S, 76371d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_RXE_S, 76471d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_CRCP_S, 76571d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_RSS_VALID_S, 76671d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_L2TAG1P_S, 76771d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_XTRMD0_VALID_S, 76871d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_XTRMD1_VALID_S, 76971d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS0_LAST /* this entry must be last!!! */ 77071d10453SEric Joyner }; 77171d10453SEric Joyner 77271d10453SEric Joyner enum ice_rx_flex_desc_status_error_1_bits { 77371d10453SEric Joyner /* Note: These are predefined bit offsets */ 77471d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_CPM_S = 0, /* 4 bits */ 77571d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_NAT_S = 4, 77671d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_CRYPTO_S = 5, 77771d10453SEric Joyner /* [10:6] reserved */ 77871d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_L2TAG2P_S = 11, 77971d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_XTRMD2_VALID_S = 12, 78071d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_XTRMD3_VALID_S = 13, 78171d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_XTRMD4_VALID_S = 14, 78271d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_XTRMD5_VALID_S = 15, 78371d10453SEric Joyner ICE_RX_FLEX_DESC_STATUS1_LAST /* this entry must be last!!! */ 78471d10453SEric Joyner }; 78571d10453SEric Joyner 78671d10453SEric Joyner enum ice_rx_flex_desc_exstat_bits { 78771d10453SEric Joyner /* Note: These are predefined bit offsets */ 78871d10453SEric Joyner ICE_RX_FLEX_DESC_EXSTAT_EXTUDP_S = 0, 78971d10453SEric Joyner ICE_RX_FLEX_DESC_EXSTAT_INTUDP_S = 1, 79071d10453SEric Joyner ICE_RX_FLEX_DESC_EXSTAT_RECIPE_S = 2, 79171d10453SEric Joyner ICE_RX_FLEX_DESC_EXSTAT_OVERSIZE_S = 3, 79271d10453SEric Joyner }; 79371d10453SEric Joyner 79456429daeSEric Joyner /* 79556429daeSEric Joyner * For ice_32b_rx_flex_desc.ts_low: 79656429daeSEric Joyner * [0]: Timestamp-low validity bit 79756429daeSEric Joyner * [1:7]: Timestamp-low value 79856429daeSEric Joyner */ 79956429daeSEric Joyner #define ICE_RX_FLEX_DESC_TS_L_VALID_S 0x01 80056429daeSEric Joyner #define ICE_RX_FLEX_DESC_TS_L_VALID_M ICE_RX_FLEX_DESC_TS_L_VALID_S 80156429daeSEric Joyner #define ICE_RX_FLEX_DESC_TS_L_M 0xFE 80256429daeSEric Joyner 80371d10453SEric Joyner #define ICE_RXQ_CTX_SIZE_DWORDS 8 80471d10453SEric Joyner #define ICE_RXQ_CTX_SZ (ICE_RXQ_CTX_SIZE_DWORDS * sizeof(u32)) 8059dc2f6e2SEric Joyner #define ICE_TXQ_CTX_SIZE_DWORDS 10 8069dc2f6e2SEric Joyner #define ICE_TXQ_CTX_SZ (ICE_TXQ_CTX_SIZE_DWORDS * sizeof(u32)) 80771d10453SEric Joyner #define ICE_TX_CMPLTNQ_CTX_SIZE_DWORDS 22 80871d10453SEric Joyner #define ICE_TX_DRBELL_Q_CTX_SIZE_DWORDS 5 80971d10453SEric Joyner #define GLTCLAN_CQ_CNTX(i, CQ) (GLTCLAN_CQ_CNTX0(CQ) + ((i) * 0x0800)) 81071d10453SEric Joyner 81171d10453SEric Joyner /* RLAN Rx queue context data 81271d10453SEric Joyner * 81371d10453SEric Joyner * The sizes of the variables may be larger than needed due to crossing byte 81471d10453SEric Joyner * boundaries. If we do not have the width of the variable set to the correct 81571d10453SEric Joyner * size then we could end up shifting bits off the top of the variable when the 81671d10453SEric Joyner * variable is at the top of a byte and crosses over into the next byte. 81771d10453SEric Joyner */ 81871d10453SEric Joyner struct ice_rlan_ctx { 81971d10453SEric Joyner u16 head; 82071d10453SEric Joyner u16 cpuid; /* bigger than needed, see above for reason */ 82171d10453SEric Joyner #define ICE_RLAN_BASE_S 7 82271d10453SEric Joyner u64 base; 82371d10453SEric Joyner u16 qlen; 82471d10453SEric Joyner #define ICE_RLAN_CTX_DBUF_S 7 82571d10453SEric Joyner u16 dbuf; /* bigger than needed, see above for reason */ 82671d10453SEric Joyner #define ICE_RLAN_CTX_HBUF_S 6 82771d10453SEric Joyner u16 hbuf; /* bigger than needed, see above for reason */ 82871d10453SEric Joyner u8 dtype; 82971d10453SEric Joyner u8 dsize; 83071d10453SEric Joyner u8 crcstrip; 83171d10453SEric Joyner u8 l2tsel; 83271d10453SEric Joyner u8 hsplit_0; 83371d10453SEric Joyner u8 hsplit_1; 83471d10453SEric Joyner u8 showiv; 83571d10453SEric Joyner u32 rxmax; /* bigger than needed, see above for reason */ 83671d10453SEric Joyner u8 tphrdesc_ena; 83771d10453SEric Joyner u8 tphwdesc_ena; 83871d10453SEric Joyner u8 tphdata_ena; 83971d10453SEric Joyner u8 tphhead_ena; 84071d10453SEric Joyner u16 lrxqthresh; /* bigger than needed, see above for reason */ 84171d10453SEric Joyner u8 prefena; /* NOTE: normally must be set to 1 at init */ 84271d10453SEric Joyner }; 84371d10453SEric Joyner 84471d10453SEric Joyner struct ice_ctx_ele { 84571d10453SEric Joyner u16 offset; 84671d10453SEric Joyner u16 size_of; 84771d10453SEric Joyner u16 width; 84871d10453SEric Joyner u16 lsb; 84971d10453SEric Joyner }; 85071d10453SEric Joyner 85171d10453SEric Joyner #define ICE_CTX_STORE(_struct, _ele, _width, _lsb) { \ 85271d10453SEric Joyner .offset = offsetof(struct _struct, _ele), \ 85371d10453SEric Joyner .size_of = FIELD_SIZEOF(struct _struct, _ele), \ 85471d10453SEric Joyner .width = _width, \ 85571d10453SEric Joyner .lsb = _lsb, \ 85671d10453SEric Joyner } 85771d10453SEric Joyner 85871d10453SEric Joyner /* for hsplit_0 field of Rx RLAN context */ 85971d10453SEric Joyner enum ice_rlan_ctx_rx_hsplit_0 { 86071d10453SEric Joyner ICE_RLAN_RX_HSPLIT_0_NO_SPLIT = 0, 86171d10453SEric Joyner ICE_RLAN_RX_HSPLIT_0_SPLIT_L2 = 1, 86271d10453SEric Joyner ICE_RLAN_RX_HSPLIT_0_SPLIT_IP = 2, 86371d10453SEric Joyner ICE_RLAN_RX_HSPLIT_0_SPLIT_TCP_UDP = 4, 86471d10453SEric Joyner ICE_RLAN_RX_HSPLIT_0_SPLIT_SCTP = 8, 86571d10453SEric Joyner }; 86671d10453SEric Joyner 86771d10453SEric Joyner /* for hsplit_1 field of Rx RLAN context */ 86871d10453SEric Joyner enum ice_rlan_ctx_rx_hsplit_1 { 86971d10453SEric Joyner ICE_RLAN_RX_HSPLIT_1_NO_SPLIT = 0, 87071d10453SEric Joyner ICE_RLAN_RX_HSPLIT_1_SPLIT_L2 = 1, 87171d10453SEric Joyner ICE_RLAN_RX_HSPLIT_1_SPLIT_ALWAYS = 2, 87271d10453SEric Joyner }; 87371d10453SEric Joyner 87471d10453SEric Joyner /* Tx Descriptor */ 87571d10453SEric Joyner struct ice_tx_desc { 87671d10453SEric Joyner __le64 buf_addr; /* Address of descriptor's data buf */ 87771d10453SEric Joyner __le64 cmd_type_offset_bsz; 87871d10453SEric Joyner }; 87971d10453SEric Joyner 88071d10453SEric Joyner #define ICE_TXD_QW1_DTYPE_S 0 88171d10453SEric Joyner #define ICE_TXD_QW1_DTYPE_M (0xFUL << ICE_TXD_QW1_DTYPE_S) 88271d10453SEric Joyner 88371d10453SEric Joyner enum ice_tx_desc_dtype_value { 88471d10453SEric Joyner ICE_TX_DESC_DTYPE_DATA = 0x0, 88571d10453SEric Joyner ICE_TX_DESC_DTYPE_CTX = 0x1, 88671d10453SEric Joyner ICE_TX_DESC_DTYPE_IPSEC = 0x3, 88771d10453SEric Joyner ICE_TX_DESC_DTYPE_FLTR_PROG = 0x8, 88871d10453SEric Joyner ICE_TX_DESC_DTYPE_HLP_META = 0x9, 88971d10453SEric Joyner /* DESC_DONE - HW has completed write-back of descriptor */ 89071d10453SEric Joyner ICE_TX_DESC_DTYPE_DESC_DONE = 0xF, 89171d10453SEric Joyner }; 89271d10453SEric Joyner 89371d10453SEric Joyner #define ICE_TXD_QW1_CMD_S 4 89471d10453SEric Joyner #define ICE_TXD_QW1_CMD_M (0xFFFUL << ICE_TXD_QW1_CMD_S) 89571d10453SEric Joyner 89671d10453SEric Joyner enum ice_tx_desc_cmd_bits { 89771d10453SEric Joyner ICE_TX_DESC_CMD_EOP = 0x0001, 89871d10453SEric Joyner ICE_TX_DESC_CMD_RS = 0x0002, 89971d10453SEric Joyner ICE_TX_DESC_CMD_RSVD = 0x0004, 90071d10453SEric Joyner ICE_TX_DESC_CMD_IL2TAG1 = 0x0008, 90171d10453SEric Joyner ICE_TX_DESC_CMD_DUMMY = 0x0010, 90271d10453SEric Joyner ICE_TX_DESC_CMD_IIPT_NONIP = 0x0000, 90371d10453SEric Joyner ICE_TX_DESC_CMD_IIPT_IPV6 = 0x0020, 90471d10453SEric Joyner ICE_TX_DESC_CMD_IIPT_IPV4 = 0x0040, 90571d10453SEric Joyner ICE_TX_DESC_CMD_IIPT_IPV4_CSUM = 0x0060, 90671d10453SEric Joyner ICE_TX_DESC_CMD_RSVD2 = 0x0080, 90771d10453SEric Joyner ICE_TX_DESC_CMD_L4T_EOFT_UNK = 0x0000, 90871d10453SEric Joyner ICE_TX_DESC_CMD_L4T_EOFT_TCP = 0x0100, 90971d10453SEric Joyner ICE_TX_DESC_CMD_L4T_EOFT_SCTP = 0x0200, 91071d10453SEric Joyner ICE_TX_DESC_CMD_L4T_EOFT_UDP = 0x0300, 91171d10453SEric Joyner ICE_TX_DESC_CMD_RE = 0x0400, 91271d10453SEric Joyner ICE_TX_DESC_CMD_RSVD3 = 0x0800, 91371d10453SEric Joyner }; 91471d10453SEric Joyner 91571d10453SEric Joyner #define ICE_TXD_QW1_OFFSET_S 16 91671d10453SEric Joyner #define ICE_TXD_QW1_OFFSET_M (0x3FFFFULL << ICE_TXD_QW1_OFFSET_S) 91771d10453SEric Joyner 91871d10453SEric Joyner enum ice_tx_desc_len_fields { 91971d10453SEric Joyner /* Note: These are predefined bit offsets */ 92071d10453SEric Joyner ICE_TX_DESC_LEN_MACLEN_S = 0, /* 7 BITS */ 92171d10453SEric Joyner ICE_TX_DESC_LEN_IPLEN_S = 7, /* 7 BITS */ 92271d10453SEric Joyner ICE_TX_DESC_LEN_L4_LEN_S = 14 /* 4 BITS */ 92371d10453SEric Joyner }; 92471d10453SEric Joyner 92571d10453SEric Joyner #define ICE_TXD_QW1_MACLEN_M (0x7FUL << ICE_TX_DESC_LEN_MACLEN_S) 92671d10453SEric Joyner #define ICE_TXD_QW1_IPLEN_M (0x7FUL << ICE_TX_DESC_LEN_IPLEN_S) 92771d10453SEric Joyner #define ICE_TXD_QW1_L4LEN_M (0xFUL << ICE_TX_DESC_LEN_L4_LEN_S) 92871d10453SEric Joyner 92971d10453SEric Joyner /* Tx descriptor field limits in bytes */ 93071d10453SEric Joyner #define ICE_TXD_MACLEN_MAX ((ICE_TXD_QW1_MACLEN_M >> \ 93171d10453SEric Joyner ICE_TX_DESC_LEN_MACLEN_S) * ICE_BYTES_PER_WORD) 93271d10453SEric Joyner #define ICE_TXD_IPLEN_MAX ((ICE_TXD_QW1_IPLEN_M >> \ 93371d10453SEric Joyner ICE_TX_DESC_LEN_IPLEN_S) * ICE_BYTES_PER_DWORD) 93471d10453SEric Joyner #define ICE_TXD_L4LEN_MAX ((ICE_TXD_QW1_L4LEN_M >> \ 93571d10453SEric Joyner ICE_TX_DESC_LEN_L4_LEN_S) * ICE_BYTES_PER_DWORD) 93671d10453SEric Joyner 93771d10453SEric Joyner #define ICE_TXD_QW1_TX_BUF_SZ_S 34 93871d10453SEric Joyner #define ICE_TXD_QW1_TX_BUF_SZ_M (0x3FFFULL << ICE_TXD_QW1_TX_BUF_SZ_S) 93971d10453SEric Joyner 94071d10453SEric Joyner #define ICE_TXD_QW1_L2TAG1_S 48 94171d10453SEric Joyner #define ICE_TXD_QW1_L2TAG1_M (0xFFFFULL << ICE_TXD_QW1_L2TAG1_S) 94271d10453SEric Joyner 94371d10453SEric Joyner /* Context descriptors */ 94471d10453SEric Joyner struct ice_tx_ctx_desc { 94571d10453SEric Joyner __le32 tunneling_params; 94671d10453SEric Joyner __le16 l2tag2; 94771d10453SEric Joyner __le16 rsvd; 94871d10453SEric Joyner __le64 qw1; 94971d10453SEric Joyner }; 95071d10453SEric Joyner 951*f2635e84SEric Joyner #define ICE_TX_GCS_DESC_START 0 /* 8 BITS */ 952*f2635e84SEric Joyner #define ICE_TX_GCS_DESC_OFFSET 8 /* 4 BITS */ 953*f2635e84SEric Joyner #define ICE_TX_GCS_DESC_TYPE 12 /* 3 BITS */ 95456429daeSEric Joyner 95571d10453SEric Joyner #define ICE_TXD_CTX_QW1_DTYPE_S 0 95671d10453SEric Joyner #define ICE_TXD_CTX_QW1_DTYPE_M (0xFUL << ICE_TXD_CTX_QW1_DTYPE_S) 95771d10453SEric Joyner 95871d10453SEric Joyner #define ICE_TXD_CTX_QW1_CMD_S 4 95971d10453SEric Joyner #define ICE_TXD_CTX_QW1_CMD_M (0x7FUL << ICE_TXD_CTX_QW1_CMD_S) 96071d10453SEric Joyner 96171d10453SEric Joyner #define ICE_TXD_CTX_QW1_IPSEC_S 11 96271d10453SEric Joyner #define ICE_TXD_CTX_QW1_IPSEC_M (0x7FUL << ICE_TXD_CTX_QW1_IPSEC_S) 96371d10453SEric Joyner 96471d10453SEric Joyner #define ICE_TXD_CTX_QW1_TSO_LEN_S 30 96571d10453SEric Joyner #define ICE_TXD_CTX_QW1_TSO_LEN_M \ 96671d10453SEric Joyner (0x3FFFFULL << ICE_TXD_CTX_QW1_TSO_LEN_S) 96771d10453SEric Joyner 96871d10453SEric Joyner #define ICE_TXD_CTX_QW1_TSYN_S ICE_TXD_CTX_QW1_TSO_LEN_S 96971d10453SEric Joyner #define ICE_TXD_CTX_QW1_TSYN_M ICE_TXD_CTX_QW1_TSO_LEN_M 97071d10453SEric Joyner 97171d10453SEric Joyner #define ICE_TXD_CTX_QW1_MSS_S 50 97271d10453SEric Joyner #define ICE_TXD_CTX_QW1_MSS_M (0x3FFFULL << ICE_TXD_CTX_QW1_MSS_S) 97371d10453SEric Joyner #define ICE_TXD_CTX_MIN_MSS 64 97471d10453SEric Joyner #define ICE_TXD_CTX_MAX_MSS 9668 97571d10453SEric Joyner 97671d10453SEric Joyner #define ICE_TXD_CTX_QW1_VSI_S 50 97771d10453SEric Joyner #define ICE_TXD_CTX_QW1_VSI_M (0x3FFULL << ICE_TXD_CTX_QW1_VSI_S) 97871d10453SEric Joyner 97971d10453SEric Joyner enum ice_tx_ctx_desc_cmd_bits { 98071d10453SEric Joyner ICE_TX_CTX_DESC_TSO = 0x01, 98171d10453SEric Joyner ICE_TX_CTX_DESC_TSYN = 0x02, 98271d10453SEric Joyner ICE_TX_CTX_DESC_IL2TAG2 = 0x04, 98371d10453SEric Joyner ICE_TX_CTX_DESC_IL2TAG2_IL2H = 0x08, 98471d10453SEric Joyner ICE_TX_CTX_DESC_SWTCH_NOTAG = 0x00, 98571d10453SEric Joyner ICE_TX_CTX_DESC_SWTCH_UPLINK = 0x10, 98671d10453SEric Joyner ICE_TX_CTX_DESC_SWTCH_LOCAL = 0x20, 98771d10453SEric Joyner ICE_TX_CTX_DESC_SWTCH_VSI = 0x30, 98871d10453SEric Joyner ICE_TX_CTX_DESC_RESERVED = 0x40 98971d10453SEric Joyner }; 99071d10453SEric Joyner 99171d10453SEric Joyner enum ice_tx_ctx_desc_eipt_offload { 99271d10453SEric Joyner ICE_TX_CTX_EIPT_NONE = 0x0, 99371d10453SEric Joyner ICE_TX_CTX_EIPT_IPV6 = 0x1, 99471d10453SEric Joyner ICE_TX_CTX_EIPT_IPV4_NO_CSUM = 0x2, 99571d10453SEric Joyner ICE_TX_CTX_EIPT_IPV4 = 0x3 99671d10453SEric Joyner }; 99771d10453SEric Joyner 99871d10453SEric Joyner #define ICE_TXD_CTX_QW0_EIPT_S 0 99971d10453SEric Joyner #define ICE_TXD_CTX_QW0_EIPT_M (0x3ULL << ICE_TXD_CTX_QW0_EIPT_S) 100071d10453SEric Joyner 100171d10453SEric Joyner #define ICE_TXD_CTX_QW0_EIPLEN_S 2 100271d10453SEric Joyner #define ICE_TXD_CTX_QW0_EIPLEN_M (0x7FUL << ICE_TXD_CTX_QW0_EIPLEN_S) 100371d10453SEric Joyner 100471d10453SEric Joyner #define ICE_TXD_CTX_QW0_L4TUNT_S 9 100571d10453SEric Joyner #define ICE_TXD_CTX_QW0_L4TUNT_M (0x3ULL << ICE_TXD_CTX_QW0_L4TUNT_S) 100671d10453SEric Joyner 100771d10453SEric Joyner #define ICE_TXD_CTX_UDP_TUNNELING BIT_ULL(ICE_TXD_CTX_QW0_L4TUNT_S) 100871d10453SEric Joyner #define ICE_TXD_CTX_GRE_TUNNELING (0x2ULL << ICE_TXD_CTX_QW0_L4TUNT_S) 100971d10453SEric Joyner 101071d10453SEric Joyner #define ICE_TXD_CTX_QW0_EIP_NOINC_S 11 101171d10453SEric Joyner #define ICE_TXD_CTX_QW0_EIP_NOINC_M BIT_ULL(ICE_TXD_CTX_QW0_EIP_NOINC_S) 101271d10453SEric Joyner 101371d10453SEric Joyner #define ICE_TXD_CTX_EIP_NOINC_IPID_CONST ICE_TXD_CTX_QW0_EIP_NOINC_M 101471d10453SEric Joyner 101571d10453SEric Joyner #define ICE_TXD_CTX_QW0_NATLEN_S 12 101671d10453SEric Joyner #define ICE_TXD_CTX_QW0_NATLEN_M (0X7FULL << ICE_TXD_CTX_QW0_NATLEN_S) 101771d10453SEric Joyner 101871d10453SEric Joyner #define ICE_TXD_CTX_QW0_DECTTL_S 19 101971d10453SEric Joyner #define ICE_TXD_CTX_QW0_DECTTL_M (0xFULL << ICE_TXD_CTX_QW0_DECTTL_S) 102071d10453SEric Joyner 102171d10453SEric Joyner #define ICE_TXD_CTX_QW0_L4T_CS_S 23 102271d10453SEric Joyner #define ICE_TXD_CTX_QW0_L4T_CS_M BIT_ULL(ICE_TXD_CTX_QW0_L4T_CS_S) 102371d10453SEric Joyner 102471d10453SEric Joyner #define ICE_LAN_TXQ_MAX_QGRPS 127 102571d10453SEric Joyner #define ICE_LAN_TXQ_MAX_QDIS 1023 102671d10453SEric Joyner 102771d10453SEric Joyner /* Tx queue context data 102871d10453SEric Joyner * 102971d10453SEric Joyner * The sizes of the variables may be larger than needed due to crossing byte 103071d10453SEric Joyner * boundaries. If we do not have the width of the variable set to the correct 103171d10453SEric Joyner * size then we could end up shifting bits off the top of the variable when the 103271d10453SEric Joyner * variable is at the top of a byte and crosses over into the next byte. 103371d10453SEric Joyner */ 103471d10453SEric Joyner struct ice_tlan_ctx { 103571d10453SEric Joyner #define ICE_TLAN_CTX_BASE_S 7 103671d10453SEric Joyner u64 base; /* base is defined in 128-byte units */ 103771d10453SEric Joyner u8 port_num; 103871d10453SEric Joyner u16 cgd_num; /* bigger than needed, see above for reason */ 103971d10453SEric Joyner u8 pf_num; 104071d10453SEric Joyner u16 vmvf_num; 104171d10453SEric Joyner u8 vmvf_type; 104271d10453SEric Joyner #define ICE_TLAN_CTX_VMVF_TYPE_VF 0 104371d10453SEric Joyner #define ICE_TLAN_CTX_VMVF_TYPE_VMQ 1 104471d10453SEric Joyner #define ICE_TLAN_CTX_VMVF_TYPE_PF 2 104571d10453SEric Joyner u16 src_vsi; 104671d10453SEric Joyner u8 tsyn_ena; 104771d10453SEric Joyner u8 internal_usage_flag; 104871d10453SEric Joyner u8 alt_vlan; 104971d10453SEric Joyner u16 cpuid; /* bigger than needed, see above for reason */ 105071d10453SEric Joyner u8 wb_mode; 105171d10453SEric Joyner u8 tphrd_desc; 105271d10453SEric Joyner u8 tphrd; 105371d10453SEric Joyner u8 tphwr_desc; 105471d10453SEric Joyner u16 cmpq_id; 105571d10453SEric Joyner u16 qnum_in_func; 105671d10453SEric Joyner u8 itr_notification_mode; 105771d10453SEric Joyner u8 adjust_prof_id; 105871d10453SEric Joyner u32 qlen; /* bigger than needed, see above for reason */ 105971d10453SEric Joyner u8 quanta_prof_idx; 106071d10453SEric Joyner u8 tso_ena; 106171d10453SEric Joyner u16 tso_qnum; 106271d10453SEric Joyner u8 legacy_int; 106371d10453SEric Joyner u8 drop_ena; 106471d10453SEric Joyner u8 cache_prof_idx; 106571d10453SEric Joyner u8 pkt_shaper_prof_idx; 10667d7af7f8SEric Joyner u8 int_q_state; /* width not needed - internal - DO NOT WRITE!!! */ 10679dc2f6e2SEric Joyner u16 tail; 106871d10453SEric Joyner }; 106971d10453SEric Joyner 107071d10453SEric Joyner /* LAN Tx Completion Queue data */ 107171d10453SEric Joyner #pragma pack(1) 107271d10453SEric Joyner struct ice_tx_cmpltnq { 107371d10453SEric Joyner u16 txq_id; 107471d10453SEric Joyner u8 generation; 107571d10453SEric Joyner u16 tx_head; 107671d10453SEric Joyner u8 cmpl_type; 107771d10453SEric Joyner }; 107871d10453SEric Joyner #pragma pack() 107971d10453SEric Joyner 108071d10453SEric Joyner /* FIXME: move to a .c file that references this variable */ 108171d10453SEric Joyner /* LAN Tx Completion Queue data info */ 108271d10453SEric Joyner static const struct ice_ctx_ele ice_tx_cmpltnq_info[] = { 108371d10453SEric Joyner /* Field Width LSB */ 108471d10453SEric Joyner ICE_CTX_STORE(ice_tx_cmpltnq, txq_id, 14, 0), 108571d10453SEric Joyner ICE_CTX_STORE(ice_tx_cmpltnq, generation, 1, 15), 108671d10453SEric Joyner ICE_CTX_STORE(ice_tx_cmpltnq, tx_head, 13, 16), 108771d10453SEric Joyner ICE_CTX_STORE(ice_tx_cmpltnq, cmpl_type, 3, 29), 108871d10453SEric Joyner { 0 } 108971d10453SEric Joyner }; 109071d10453SEric Joyner 109171d10453SEric Joyner /* LAN Tx Completion Queue Context */ 109271d10453SEric Joyner #pragma pack(1) 109371d10453SEric Joyner struct ice_tx_cmpltnq_ctx { 109471d10453SEric Joyner u64 base; 10959cf1841cSEric Joyner #define ICE_TX_CMPLTNQ_CTX_BASE_S 7 109671d10453SEric Joyner u32 q_len; 109771d10453SEric Joyner #define ICE_TX_CMPLTNQ_CTX_Q_LEN_S 4 109871d10453SEric Joyner u8 generation; 109971d10453SEric Joyner u32 wrt_ptr; 110071d10453SEric Joyner u8 pf_num; 110171d10453SEric Joyner u16 vmvf_num; 110271d10453SEric Joyner u8 vmvf_type; 11039cf1841cSEric Joyner #define ICE_TX_CMPLTNQ_CTX_VMVF_TYPE_VF 0 11049cf1841cSEric Joyner #define ICE_TX_CMPLTNQ_CTX_VMVF_TYPE_VMQ 1 11059cf1841cSEric Joyner #define ICE_TX_CMPLTNQ_CTX_VMVF_TYPE_PF 2 110671d10453SEric Joyner u8 tph_desc_wr; 110771d10453SEric Joyner u8 cpuid; 110871d10453SEric Joyner u32 cmpltn_cache[16]; 110971d10453SEric Joyner }; 111071d10453SEric Joyner #pragma pack() 111171d10453SEric Joyner 111271d10453SEric Joyner /* LAN Tx Doorbell Descriptor Format */ 111371d10453SEric Joyner struct ice_tx_drbell_fmt { 111471d10453SEric Joyner u16 txq_id; 111571d10453SEric Joyner u8 dd; 111671d10453SEric Joyner u8 rs; 111771d10453SEric Joyner u32 db; 111871d10453SEric Joyner }; 111971d10453SEric Joyner 112071d10453SEric Joyner /* FIXME: move to a .c file that references this variable */ 112171d10453SEric Joyner /* LAN Tx Doorbell Descriptor format info */ 112271d10453SEric Joyner static const struct ice_ctx_ele ice_tx_drbell_fmt_info[] = { 112371d10453SEric Joyner /* Field Width LSB */ 112471d10453SEric Joyner ICE_CTX_STORE(ice_tx_drbell_fmt, txq_id, 14, 0), 112571d10453SEric Joyner ICE_CTX_STORE(ice_tx_drbell_fmt, dd, 1, 14), 112671d10453SEric Joyner ICE_CTX_STORE(ice_tx_drbell_fmt, rs, 1, 15), 112771d10453SEric Joyner ICE_CTX_STORE(ice_tx_drbell_fmt, db, 32, 32), 112871d10453SEric Joyner { 0 } 112971d10453SEric Joyner }; 113071d10453SEric Joyner 113171d10453SEric Joyner /* LAN Tx Doorbell Queue Context */ 113271d10453SEric Joyner #pragma pack(1) 113371d10453SEric Joyner struct ice_tx_drbell_q_ctx { 113471d10453SEric Joyner u64 base; 11359cf1841cSEric Joyner #define ICE_TX_DRBELL_Q_CTX_BASE_S 7 113671d10453SEric Joyner u16 ring_len; 11379cf1841cSEric Joyner #define ICE_TX_DRBELL_Q_CTX_RING_LEN_S 4 113871d10453SEric Joyner u8 pf_num; 113971d10453SEric Joyner u16 vf_num; 114071d10453SEric Joyner u8 vmvf_type; 11419cf1841cSEric Joyner #define ICE_TX_DRBELL_Q_CTX_VMVF_TYPE_VF 0 11429cf1841cSEric Joyner #define ICE_TX_DRBELL_Q_CTX_VMVF_TYPE_VMQ 1 11439cf1841cSEric Joyner #define ICE_TX_DRBELL_Q_CTX_VMVF_TYPE_PF 2 114471d10453SEric Joyner u8 cpuid; 114571d10453SEric Joyner u8 tph_desc_rd; 114671d10453SEric Joyner u8 tph_desc_wr; 114771d10453SEric Joyner u8 db_q_en; 114871d10453SEric Joyner u16 rd_head; 114971d10453SEric Joyner u16 rd_tail; 115071d10453SEric Joyner }; 115171d10453SEric Joyner #pragma pack() 115271d10453SEric Joyner 115371d10453SEric Joyner /* The ice_ptype_lkup table is used to convert from the 10-bit ptype in the 115471d10453SEric Joyner * hardware to a bit-field that can be used by SW to more easily determine the 115571d10453SEric Joyner * packet type. 115671d10453SEric Joyner * 115771d10453SEric Joyner * Macros are used to shorten the table lines and make this table human 115871d10453SEric Joyner * readable. 115971d10453SEric Joyner * 116071d10453SEric Joyner * We store the PTYPE in the top byte of the bit field - this is just so that 116171d10453SEric Joyner * we can check that the table doesn't have a row missing, as the index into 116271d10453SEric Joyner * the table should be the PTYPE. 116371d10453SEric Joyner * 116471d10453SEric Joyner * Typical work flow: 116571d10453SEric Joyner * 116671d10453SEric Joyner * IF NOT ice_ptype_lkup[ptype].known 116771d10453SEric Joyner * THEN 116871d10453SEric Joyner * Packet is unknown 116971d10453SEric Joyner * ELSE IF ice_ptype_lkup[ptype].outer_ip == ICE_RX_PTYPE_OUTER_IP 117071d10453SEric Joyner * Use the rest of the fields to look at the tunnels, inner protocols, etc 117171d10453SEric Joyner * ELSE 117271d10453SEric Joyner * Use the enum ice_rx_l2_ptype to decode the packet type 117371d10453SEric Joyner * ENDIF 117471d10453SEric Joyner */ 117571d10453SEric Joyner 117671d10453SEric Joyner /* macro to make the table lines short */ 117771d10453SEric Joyner #define ICE_PTT(PTYPE, OUTER_IP, OUTER_IP_VER, OUTER_FRAG, T, TE, TEF, I, PL)\ 117856429daeSEric Joyner { 1, \ 117971d10453SEric Joyner ICE_RX_PTYPE_OUTER_##OUTER_IP, \ 118071d10453SEric Joyner ICE_RX_PTYPE_OUTER_##OUTER_IP_VER, \ 118171d10453SEric Joyner ICE_RX_PTYPE_##OUTER_FRAG, \ 118271d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_##T, \ 118371d10453SEric Joyner ICE_RX_PTYPE_TUNNEL_END_##TE, \ 118471d10453SEric Joyner ICE_RX_PTYPE_##TEF, \ 118571d10453SEric Joyner ICE_RX_PTYPE_INNER_PROT_##I, \ 118671d10453SEric Joyner ICE_RX_PTYPE_PAYLOAD_LAYER_##PL } 118771d10453SEric Joyner 118856429daeSEric Joyner #define ICE_PTT_UNUSED_ENTRY(PTYPE) { 0, 0, 0, 0, 0, 0, 0, 0, 0 } 118971d10453SEric Joyner 119071d10453SEric Joyner /* shorter macros makes the table fit but are terse */ 119171d10453SEric Joyner #define ICE_RX_PTYPE_NOF ICE_RX_PTYPE_NOT_FRAG 119271d10453SEric Joyner #define ICE_RX_PTYPE_FRG ICE_RX_PTYPE_FRAG 119371d10453SEric Joyner 119456429daeSEric Joyner /* Lookup table mapping the 10-bit HW PTYPE to the bit field for decoding */ 119556429daeSEric Joyner static const struct ice_rx_ptype_decoded ice_ptype_lkup[1024] = { 119671d10453SEric Joyner /* L2 Packet types */ 119771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(0), 119871d10453SEric Joyner ICE_PTT(1, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2), 11999cf1841cSEric Joyner ICE_PTT_UNUSED_ENTRY(2), 120071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(3), 120171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(4), 120271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(5), 120371d10453SEric Joyner ICE_PTT(6, L2, NONE, NOF, NONE, NONE, NOF, NONE, NONE), 120471d10453SEric Joyner ICE_PTT(7, L2, NONE, NOF, NONE, NONE, NOF, NONE, NONE), 120571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(8), 120671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(9), 120771d10453SEric Joyner ICE_PTT(10, L2, NONE, NOF, NONE, NONE, NOF, NONE, NONE), 120871d10453SEric Joyner ICE_PTT(11, L2, NONE, NOF, NONE, NONE, NOF, NONE, NONE), 120971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(12), 121071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(13), 121171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(14), 121271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(15), 121371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(16), 121471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(17), 121571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(18), 121671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(19), 121771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(20), 121871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(21), 121971d10453SEric Joyner 122071d10453SEric Joyner /* Non Tunneled IPv4 */ 122171d10453SEric Joyner ICE_PTT(22, IP, IPV4, FRG, NONE, NONE, NOF, NONE, PAY3), 122271d10453SEric Joyner ICE_PTT(23, IP, IPV4, NOF, NONE, NONE, NOF, NONE, PAY3), 122371d10453SEric Joyner ICE_PTT(24, IP, IPV4, NOF, NONE, NONE, NOF, UDP, PAY4), 122471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(25), 122571d10453SEric Joyner ICE_PTT(26, IP, IPV4, NOF, NONE, NONE, NOF, TCP, PAY4), 122671d10453SEric Joyner ICE_PTT(27, IP, IPV4, NOF, NONE, NONE, NOF, SCTP, PAY4), 122771d10453SEric Joyner ICE_PTT(28, IP, IPV4, NOF, NONE, NONE, NOF, ICMP, PAY4), 122871d10453SEric Joyner 122971d10453SEric Joyner /* IPv4 --> IPv4 */ 123071d10453SEric Joyner ICE_PTT(29, IP, IPV4, NOF, IP_IP, IPV4, FRG, NONE, PAY3), 123171d10453SEric Joyner ICE_PTT(30, IP, IPV4, NOF, IP_IP, IPV4, NOF, NONE, PAY3), 123271d10453SEric Joyner ICE_PTT(31, IP, IPV4, NOF, IP_IP, IPV4, NOF, UDP, PAY4), 123371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(32), 123471d10453SEric Joyner ICE_PTT(33, IP, IPV4, NOF, IP_IP, IPV4, NOF, TCP, PAY4), 123571d10453SEric Joyner ICE_PTT(34, IP, IPV4, NOF, IP_IP, IPV4, NOF, SCTP, PAY4), 123671d10453SEric Joyner ICE_PTT(35, IP, IPV4, NOF, IP_IP, IPV4, NOF, ICMP, PAY4), 123771d10453SEric Joyner 123871d10453SEric Joyner /* IPv4 --> IPv6 */ 123971d10453SEric Joyner ICE_PTT(36, IP, IPV4, NOF, IP_IP, IPV6, FRG, NONE, PAY3), 124071d10453SEric Joyner ICE_PTT(37, IP, IPV4, NOF, IP_IP, IPV6, NOF, NONE, PAY3), 124171d10453SEric Joyner ICE_PTT(38, IP, IPV4, NOF, IP_IP, IPV6, NOF, UDP, PAY4), 124271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(39), 124371d10453SEric Joyner ICE_PTT(40, IP, IPV4, NOF, IP_IP, IPV6, NOF, TCP, PAY4), 124471d10453SEric Joyner ICE_PTT(41, IP, IPV4, NOF, IP_IP, IPV6, NOF, SCTP, PAY4), 124571d10453SEric Joyner ICE_PTT(42, IP, IPV4, NOF, IP_IP, IPV6, NOF, ICMP, PAY4), 124671d10453SEric Joyner 124771d10453SEric Joyner /* IPv4 --> GRE/NAT */ 124871d10453SEric Joyner ICE_PTT(43, IP, IPV4, NOF, IP_GRENAT, NONE, NOF, NONE, PAY3), 124971d10453SEric Joyner 125071d10453SEric Joyner /* IPv4 --> GRE/NAT --> IPv4 */ 125171d10453SEric Joyner ICE_PTT(44, IP, IPV4, NOF, IP_GRENAT, IPV4, FRG, NONE, PAY3), 125271d10453SEric Joyner ICE_PTT(45, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, NONE, PAY3), 125371d10453SEric Joyner ICE_PTT(46, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, UDP, PAY4), 125471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(47), 125571d10453SEric Joyner ICE_PTT(48, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, TCP, PAY4), 125671d10453SEric Joyner ICE_PTT(49, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, SCTP, PAY4), 125771d10453SEric Joyner ICE_PTT(50, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, ICMP, PAY4), 125871d10453SEric Joyner 125971d10453SEric Joyner /* IPv4 --> GRE/NAT --> IPv6 */ 126071d10453SEric Joyner ICE_PTT(51, IP, IPV4, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3), 126171d10453SEric Joyner ICE_PTT(52, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3), 126271d10453SEric Joyner ICE_PTT(53, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, UDP, PAY4), 126371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(54), 126471d10453SEric Joyner ICE_PTT(55, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, TCP, PAY4), 126571d10453SEric Joyner ICE_PTT(56, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, SCTP, PAY4), 126671d10453SEric Joyner ICE_PTT(57, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, ICMP, PAY4), 126771d10453SEric Joyner 126871d10453SEric Joyner /* IPv4 --> GRE/NAT --> MAC */ 126971d10453SEric Joyner ICE_PTT(58, IP, IPV4, NOF, IP_GRENAT_MAC, NONE, NOF, NONE, PAY3), 127071d10453SEric Joyner 127171d10453SEric Joyner /* IPv4 --> GRE/NAT --> MAC --> IPv4 */ 127271d10453SEric Joyner ICE_PTT(59, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, FRG, NONE, PAY3), 127371d10453SEric Joyner ICE_PTT(60, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, NONE, PAY3), 127471d10453SEric Joyner ICE_PTT(61, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, UDP, PAY4), 127571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(62), 127671d10453SEric Joyner ICE_PTT(63, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, TCP, PAY4), 127771d10453SEric Joyner ICE_PTT(64, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, SCTP, PAY4), 127871d10453SEric Joyner ICE_PTT(65, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, ICMP, PAY4), 127971d10453SEric Joyner 128071d10453SEric Joyner /* IPv4 --> GRE/NAT -> MAC --> IPv6 */ 128171d10453SEric Joyner ICE_PTT(66, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, FRG, NONE, PAY3), 128271d10453SEric Joyner ICE_PTT(67, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, NONE, PAY3), 128371d10453SEric Joyner ICE_PTT(68, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, UDP, PAY4), 128471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(69), 128571d10453SEric Joyner ICE_PTT(70, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, TCP, PAY4), 128671d10453SEric Joyner ICE_PTT(71, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, SCTP, PAY4), 128771d10453SEric Joyner ICE_PTT(72, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, ICMP, PAY4), 128871d10453SEric Joyner 128971d10453SEric Joyner /* IPv4 --> GRE/NAT --> MAC/VLAN */ 129071d10453SEric Joyner ICE_PTT(73, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, NONE, NOF, NONE, PAY3), 129171d10453SEric Joyner 129271d10453SEric Joyner /* IPv4 ---> GRE/NAT -> MAC/VLAN --> IPv4 */ 129371d10453SEric Joyner ICE_PTT(74, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, FRG, NONE, PAY3), 129471d10453SEric Joyner ICE_PTT(75, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, NONE, PAY3), 129571d10453SEric Joyner ICE_PTT(76, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, UDP, PAY4), 129671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(77), 129771d10453SEric Joyner ICE_PTT(78, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, TCP, PAY4), 129871d10453SEric Joyner ICE_PTT(79, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, SCTP, PAY4), 129971d10453SEric Joyner ICE_PTT(80, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, ICMP, PAY4), 130071d10453SEric Joyner 130171d10453SEric Joyner /* IPv4 -> GRE/NAT -> MAC/VLAN --> IPv6 */ 130271d10453SEric Joyner ICE_PTT(81, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, FRG, NONE, PAY3), 130371d10453SEric Joyner ICE_PTT(82, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, NONE, PAY3), 130471d10453SEric Joyner ICE_PTT(83, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, UDP, PAY4), 130571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(84), 130671d10453SEric Joyner ICE_PTT(85, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, TCP, PAY4), 130771d10453SEric Joyner ICE_PTT(86, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, SCTP, PAY4), 130871d10453SEric Joyner ICE_PTT(87, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, ICMP, PAY4), 130971d10453SEric Joyner 131071d10453SEric Joyner /* Non Tunneled IPv6 */ 131171d10453SEric Joyner ICE_PTT(88, IP, IPV6, FRG, NONE, NONE, NOF, NONE, PAY3), 131271d10453SEric Joyner ICE_PTT(89, IP, IPV6, NOF, NONE, NONE, NOF, NONE, PAY3), 13139cf1841cSEric Joyner ICE_PTT(90, IP, IPV6, NOF, NONE, NONE, NOF, UDP, PAY4), 131471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(91), 131571d10453SEric Joyner ICE_PTT(92, IP, IPV6, NOF, NONE, NONE, NOF, TCP, PAY4), 131671d10453SEric Joyner ICE_PTT(93, IP, IPV6, NOF, NONE, NONE, NOF, SCTP, PAY4), 131771d10453SEric Joyner ICE_PTT(94, IP, IPV6, NOF, NONE, NONE, NOF, ICMP, PAY4), 131871d10453SEric Joyner 131971d10453SEric Joyner /* IPv6 --> IPv4 */ 132071d10453SEric Joyner ICE_PTT(95, IP, IPV6, NOF, IP_IP, IPV4, FRG, NONE, PAY3), 132171d10453SEric Joyner ICE_PTT(96, IP, IPV6, NOF, IP_IP, IPV4, NOF, NONE, PAY3), 132271d10453SEric Joyner ICE_PTT(97, IP, IPV6, NOF, IP_IP, IPV4, NOF, UDP, PAY4), 132371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(98), 132471d10453SEric Joyner ICE_PTT(99, IP, IPV6, NOF, IP_IP, IPV4, NOF, TCP, PAY4), 132571d10453SEric Joyner ICE_PTT(100, IP, IPV6, NOF, IP_IP, IPV4, NOF, SCTP, PAY4), 132671d10453SEric Joyner ICE_PTT(101, IP, IPV6, NOF, IP_IP, IPV4, NOF, ICMP, PAY4), 132771d10453SEric Joyner 132871d10453SEric Joyner /* IPv6 --> IPv6 */ 132971d10453SEric Joyner ICE_PTT(102, IP, IPV6, NOF, IP_IP, IPV6, FRG, NONE, PAY3), 133071d10453SEric Joyner ICE_PTT(103, IP, IPV6, NOF, IP_IP, IPV6, NOF, NONE, PAY3), 133171d10453SEric Joyner ICE_PTT(104, IP, IPV6, NOF, IP_IP, IPV6, NOF, UDP, PAY4), 133271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(105), 133371d10453SEric Joyner ICE_PTT(106, IP, IPV6, NOF, IP_IP, IPV6, NOF, TCP, PAY4), 133471d10453SEric Joyner ICE_PTT(107, IP, IPV6, NOF, IP_IP, IPV6, NOF, SCTP, PAY4), 133571d10453SEric Joyner ICE_PTT(108, IP, IPV6, NOF, IP_IP, IPV6, NOF, ICMP, PAY4), 133671d10453SEric Joyner 133771d10453SEric Joyner /* IPv6 --> GRE/NAT */ 133871d10453SEric Joyner ICE_PTT(109, IP, IPV6, NOF, IP_GRENAT, NONE, NOF, NONE, PAY3), 133971d10453SEric Joyner 134071d10453SEric Joyner /* IPv6 --> GRE/NAT -> IPv4 */ 134171d10453SEric Joyner ICE_PTT(110, IP, IPV6, NOF, IP_GRENAT, IPV4, FRG, NONE, PAY3), 134271d10453SEric Joyner ICE_PTT(111, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, NONE, PAY3), 134371d10453SEric Joyner ICE_PTT(112, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, UDP, PAY4), 134471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(113), 134571d10453SEric Joyner ICE_PTT(114, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, TCP, PAY4), 134671d10453SEric Joyner ICE_PTT(115, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, SCTP, PAY4), 134771d10453SEric Joyner ICE_PTT(116, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, ICMP, PAY4), 134871d10453SEric Joyner 134971d10453SEric Joyner /* IPv6 --> GRE/NAT -> IPv6 */ 135071d10453SEric Joyner ICE_PTT(117, IP, IPV6, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3), 135171d10453SEric Joyner ICE_PTT(118, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3), 135271d10453SEric Joyner ICE_PTT(119, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, UDP, PAY4), 135371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(120), 135471d10453SEric Joyner ICE_PTT(121, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, TCP, PAY4), 135571d10453SEric Joyner ICE_PTT(122, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, SCTP, PAY4), 135671d10453SEric Joyner ICE_PTT(123, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, ICMP, PAY4), 135771d10453SEric Joyner 135871d10453SEric Joyner /* IPv6 --> GRE/NAT -> MAC */ 135971d10453SEric Joyner ICE_PTT(124, IP, IPV6, NOF, IP_GRENAT_MAC, NONE, NOF, NONE, PAY3), 136071d10453SEric Joyner 136171d10453SEric Joyner /* IPv6 --> GRE/NAT -> MAC -> IPv4 */ 136271d10453SEric Joyner ICE_PTT(125, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, FRG, NONE, PAY3), 136371d10453SEric Joyner ICE_PTT(126, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, NONE, PAY3), 136471d10453SEric Joyner ICE_PTT(127, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, UDP, PAY4), 136571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(128), 136671d10453SEric Joyner ICE_PTT(129, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, TCP, PAY4), 136771d10453SEric Joyner ICE_PTT(130, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, SCTP, PAY4), 136871d10453SEric Joyner ICE_PTT(131, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, ICMP, PAY4), 136971d10453SEric Joyner 137071d10453SEric Joyner /* IPv6 --> GRE/NAT -> MAC -> IPv6 */ 137171d10453SEric Joyner ICE_PTT(132, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, FRG, NONE, PAY3), 137271d10453SEric Joyner ICE_PTT(133, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, NONE, PAY3), 137371d10453SEric Joyner ICE_PTT(134, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, UDP, PAY4), 137471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(135), 137571d10453SEric Joyner ICE_PTT(136, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, TCP, PAY4), 137671d10453SEric Joyner ICE_PTT(137, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, SCTP, PAY4), 137771d10453SEric Joyner ICE_PTT(138, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, ICMP, PAY4), 137871d10453SEric Joyner 137971d10453SEric Joyner /* IPv6 --> GRE/NAT -> MAC/VLAN */ 138071d10453SEric Joyner ICE_PTT(139, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, NONE, NOF, NONE, PAY3), 138171d10453SEric Joyner 138271d10453SEric Joyner /* IPv6 --> GRE/NAT -> MAC/VLAN --> IPv4 */ 138371d10453SEric Joyner ICE_PTT(140, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, FRG, NONE, PAY3), 138471d10453SEric Joyner ICE_PTT(141, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, NONE, PAY3), 138571d10453SEric Joyner ICE_PTT(142, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, UDP, PAY4), 138671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(143), 138771d10453SEric Joyner ICE_PTT(144, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, TCP, PAY4), 138871d10453SEric Joyner ICE_PTT(145, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, SCTP, PAY4), 138971d10453SEric Joyner ICE_PTT(146, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, ICMP, PAY4), 139071d10453SEric Joyner 139171d10453SEric Joyner /* IPv6 --> GRE/NAT -> MAC/VLAN --> IPv6 */ 139271d10453SEric Joyner ICE_PTT(147, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, FRG, NONE, PAY3), 139371d10453SEric Joyner ICE_PTT(148, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, NONE, PAY3), 139471d10453SEric Joyner ICE_PTT(149, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, UDP, PAY4), 139571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(150), 139671d10453SEric Joyner ICE_PTT(151, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, TCP, PAY4), 139771d10453SEric Joyner ICE_PTT(152, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, SCTP, PAY4), 139871d10453SEric Joyner ICE_PTT(153, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, ICMP, PAY4), 139971d10453SEric Joyner 140071d10453SEric Joyner /* unused entries */ 140171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(154), 140271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(155), 140371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(156), 140471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(157), 140571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(158), 140671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(159), 140771d10453SEric Joyner 140871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(160), 140971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(161), 141071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(162), 141171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(163), 141271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(164), 141371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(165), 141471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(166), 141571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(167), 141671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(168), 141771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(169), 141871d10453SEric Joyner 141971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(170), 142071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(171), 142171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(172), 142271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(173), 142371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(174), 142471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(175), 142571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(176), 142671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(177), 142771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(178), 142871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(179), 142971d10453SEric Joyner 143071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(180), 143171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(181), 143271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(182), 143371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(183), 143471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(184), 143571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(185), 143671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(186), 143771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(187), 143871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(188), 143971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(189), 144071d10453SEric Joyner 144171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(190), 144271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(191), 144371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(192), 144471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(193), 144571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(194), 144671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(195), 144771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(196), 144871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(197), 144971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(198), 145071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(199), 145171d10453SEric Joyner 145271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(200), 145371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(201), 145471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(202), 145571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(203), 145671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(204), 145771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(205), 145871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(206), 145971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(207), 146071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(208), 146171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(209), 146271d10453SEric Joyner 146371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(210), 146471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(211), 146571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(212), 146671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(213), 146771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(214), 146871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(215), 146971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(216), 147071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(217), 147171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(218), 147271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(219), 147371d10453SEric Joyner 147471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(220), 147571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(221), 147671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(222), 147771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(223), 147871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(224), 147971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(225), 148071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(226), 148171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(227), 148271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(228), 148371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(229), 148471d10453SEric Joyner 148571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(230), 148671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(231), 148771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(232), 148871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(233), 148971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(234), 149071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(235), 149171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(236), 149271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(237), 149371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(238), 149471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(239), 149571d10453SEric Joyner 149671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(240), 149771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(241), 149871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(242), 149971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(243), 150071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(244), 150171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(245), 150271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(246), 150371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(247), 150471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(248), 150571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(249), 150671d10453SEric Joyner 150771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(250), 150871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(251), 150971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(252), 151071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(253), 151171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(254), 151271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(255), 151371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(256), 151471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(257), 151571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(258), 151671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(259), 151771d10453SEric Joyner 151871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(260), 151971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(261), 152071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(262), 152171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(263), 152271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(264), 152371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(265), 152471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(266), 152571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(267), 152671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(268), 152771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(269), 152871d10453SEric Joyner 152971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(270), 153071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(271), 153171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(272), 153271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(273), 153371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(274), 153471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(275), 153571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(276), 153671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(277), 153771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(278), 153871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(279), 153971d10453SEric Joyner 154071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(280), 154171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(281), 154271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(282), 154371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(283), 154471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(284), 154571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(285), 154671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(286), 154771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(287), 154871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(288), 154971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(289), 155071d10453SEric Joyner 155171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(290), 155271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(291), 155371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(292), 155471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(293), 155571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(294), 155671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(295), 155771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(296), 155871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(297), 155971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(298), 156071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(299), 156171d10453SEric Joyner 156271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(300), 156371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(301), 156471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(302), 156571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(303), 156671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(304), 156771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(305), 156871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(306), 156971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(307), 157071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(308), 157171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(309), 157271d10453SEric Joyner 157371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(310), 157471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(311), 157571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(312), 157671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(313), 157771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(314), 157871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(315), 157971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(316), 158071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(317), 158171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(318), 158271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(319), 158371d10453SEric Joyner 158471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(320), 158571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(321), 158671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(322), 158771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(323), 158871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(324), 158971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(325), 159071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(326), 159171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(327), 159271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(328), 159371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(329), 159471d10453SEric Joyner 159571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(330), 159671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(331), 159771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(332), 159871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(333), 159971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(334), 160071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(335), 160171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(336), 160271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(337), 160371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(338), 160471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(339), 160571d10453SEric Joyner 160671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(340), 160771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(341), 160871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(342), 160971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(343), 161071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(344), 161171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(345), 161271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(346), 161371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(347), 161471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(348), 161571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(349), 161671d10453SEric Joyner 161771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(350), 161871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(351), 161971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(352), 162071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(353), 162171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(354), 162271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(355), 162371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(356), 162471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(357), 162571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(358), 162671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(359), 162771d10453SEric Joyner 162871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(360), 162971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(361), 163071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(362), 163171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(363), 163271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(364), 163371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(365), 163471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(366), 163571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(367), 163671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(368), 163771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(369), 163871d10453SEric Joyner 163971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(370), 164071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(371), 164171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(372), 164271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(373), 164371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(374), 164471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(375), 164571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(376), 164671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(377), 164771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(378), 164871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(379), 164971d10453SEric Joyner 165071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(380), 165171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(381), 165271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(382), 165371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(383), 165471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(384), 165571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(385), 165671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(386), 165771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(387), 165871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(388), 165971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(389), 166071d10453SEric Joyner 166171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(390), 166271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(391), 166371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(392), 166471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(393), 166571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(394), 166671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(395), 166771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(396), 166871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(397), 166971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(398), 167071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(399), 167171d10453SEric Joyner 167271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(400), 167371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(401), 167471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(402), 167571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(403), 167671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(404), 167771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(405), 167871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(406), 167971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(407), 168071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(408), 168171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(409), 168271d10453SEric Joyner 168371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(410), 168471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(411), 168571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(412), 168671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(413), 168771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(414), 168871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(415), 168971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(416), 169071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(417), 169171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(418), 169271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(419), 169371d10453SEric Joyner 169471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(420), 169571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(421), 169671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(422), 169771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(423), 169871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(424), 169971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(425), 170071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(426), 170171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(427), 170271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(428), 170371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(429), 170471d10453SEric Joyner 170571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(430), 170671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(431), 170771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(432), 170871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(433), 170971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(434), 171071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(435), 171171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(436), 171271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(437), 171371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(438), 171471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(439), 171571d10453SEric Joyner 171671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(440), 171771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(441), 171871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(442), 171971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(443), 172071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(444), 172171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(445), 172271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(446), 172371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(447), 172471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(448), 172571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(449), 172671d10453SEric Joyner 172771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(450), 172871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(451), 172971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(452), 173071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(453), 173171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(454), 173271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(455), 173371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(456), 173471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(457), 173571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(458), 173671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(459), 173771d10453SEric Joyner 173871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(460), 173971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(461), 174071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(462), 174171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(463), 174271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(464), 174371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(465), 174471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(466), 174571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(467), 174671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(468), 174771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(469), 174871d10453SEric Joyner 174971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(470), 175071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(471), 175171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(472), 175271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(473), 175371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(474), 175471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(475), 175571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(476), 175671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(477), 175771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(478), 175871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(479), 175971d10453SEric Joyner 176071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(480), 176171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(481), 176271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(482), 176371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(483), 176471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(484), 176571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(485), 176671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(486), 176771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(487), 176871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(488), 176971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(489), 177071d10453SEric Joyner 177171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(490), 177271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(491), 177371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(492), 177471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(493), 177571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(494), 177671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(495), 177771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(496), 177871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(497), 177971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(498), 178071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(499), 178171d10453SEric Joyner 178271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(500), 178371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(501), 178471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(502), 178571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(503), 178671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(504), 178771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(505), 178871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(506), 178971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(507), 179071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(508), 179171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(509), 179271d10453SEric Joyner 179371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(510), 179471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(511), 179571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(512), 179671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(513), 179771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(514), 179871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(515), 179971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(516), 180071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(517), 180171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(518), 180271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(519), 180371d10453SEric Joyner 180471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(520), 180571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(521), 180671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(522), 180771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(523), 180871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(524), 180971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(525), 181071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(526), 181171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(527), 181271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(528), 181371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(529), 181471d10453SEric Joyner 181571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(530), 181671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(531), 181771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(532), 181871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(533), 181971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(534), 182071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(535), 182171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(536), 182271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(537), 182371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(538), 182471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(539), 182571d10453SEric Joyner 182671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(540), 182771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(541), 182871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(542), 182971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(543), 183071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(544), 183171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(545), 183271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(546), 183371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(547), 183471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(548), 183571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(549), 183671d10453SEric Joyner 183771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(550), 183871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(551), 183971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(552), 184071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(553), 184171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(554), 184271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(555), 184371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(556), 184471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(557), 184571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(558), 184671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(559), 184771d10453SEric Joyner 184871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(560), 184971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(561), 185071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(562), 185171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(563), 185271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(564), 185371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(565), 185471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(566), 185571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(567), 185671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(568), 185771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(569), 185871d10453SEric Joyner 185971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(570), 186071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(571), 186171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(572), 186271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(573), 186371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(574), 186471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(575), 186571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(576), 186671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(577), 186771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(578), 186871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(579), 186971d10453SEric Joyner 187071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(580), 187171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(581), 187271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(582), 187371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(583), 187471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(584), 187571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(585), 187671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(586), 187771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(587), 187871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(588), 187971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(589), 188071d10453SEric Joyner 188171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(590), 188271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(591), 188371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(592), 188471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(593), 188571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(594), 188671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(595), 188771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(596), 188871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(597), 188971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(598), 189071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(599), 189171d10453SEric Joyner 189271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(600), 189371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(601), 189471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(602), 189571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(603), 189671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(604), 189771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(605), 189871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(606), 189971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(607), 190071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(608), 190171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(609), 190271d10453SEric Joyner 190371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(610), 190471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(611), 190571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(612), 190671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(613), 190771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(614), 190871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(615), 190971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(616), 191071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(617), 191171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(618), 191271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(619), 191371d10453SEric Joyner 191471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(620), 191571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(621), 191671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(622), 191771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(623), 191871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(624), 191971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(625), 192071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(626), 192171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(627), 192271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(628), 192371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(629), 192471d10453SEric Joyner 192571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(630), 192671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(631), 192771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(632), 192871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(633), 192971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(634), 193071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(635), 193171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(636), 193271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(637), 193371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(638), 193471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(639), 193571d10453SEric Joyner 193671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(640), 193771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(641), 193871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(642), 193971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(643), 194071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(644), 194171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(645), 194271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(646), 194371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(647), 194471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(648), 194571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(649), 194671d10453SEric Joyner 194771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(650), 194871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(651), 194971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(652), 195071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(653), 195171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(654), 195271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(655), 195371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(656), 195471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(657), 195571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(658), 195671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(659), 195771d10453SEric Joyner 195871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(660), 195971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(661), 196071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(662), 196171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(663), 196271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(664), 196371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(665), 196471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(666), 196571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(667), 196671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(668), 196771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(669), 196871d10453SEric Joyner 196971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(670), 197071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(671), 197171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(672), 197271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(673), 197371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(674), 197471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(675), 197571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(676), 197671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(677), 197771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(678), 197871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(679), 197971d10453SEric Joyner 198071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(680), 198171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(681), 198271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(682), 198371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(683), 198471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(684), 198571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(685), 198671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(686), 198771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(687), 198871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(688), 198971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(689), 199071d10453SEric Joyner 199171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(690), 199271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(691), 199371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(692), 199471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(693), 199571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(694), 199671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(695), 199771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(696), 199871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(697), 199971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(698), 200071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(699), 200171d10453SEric Joyner 200271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(700), 200371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(701), 200471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(702), 200571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(703), 200671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(704), 200771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(705), 200871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(706), 200971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(707), 201071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(708), 201171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(709), 201271d10453SEric Joyner 201371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(710), 201471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(711), 201571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(712), 201671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(713), 201771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(714), 201871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(715), 201971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(716), 202071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(717), 202171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(718), 202271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(719), 202371d10453SEric Joyner 202471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(720), 202571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(721), 202671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(722), 202771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(723), 202871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(724), 202971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(725), 203071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(726), 203171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(727), 203271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(728), 203371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(729), 203471d10453SEric Joyner 203571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(730), 203671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(731), 203771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(732), 203871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(733), 203971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(734), 204071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(735), 204171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(736), 204271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(737), 204371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(738), 204471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(739), 204571d10453SEric Joyner 204671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(740), 204771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(741), 204871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(742), 204971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(743), 205071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(744), 205171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(745), 205271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(746), 205371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(747), 205471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(748), 205571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(749), 205671d10453SEric Joyner 205771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(750), 205871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(751), 205971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(752), 206071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(753), 206171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(754), 206271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(755), 206371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(756), 206471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(757), 206571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(758), 206671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(759), 206771d10453SEric Joyner 206871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(760), 206971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(761), 207071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(762), 207171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(763), 207271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(764), 207371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(765), 207471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(766), 207571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(767), 207671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(768), 207771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(769), 207871d10453SEric Joyner 207971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(770), 208071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(771), 208171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(772), 208271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(773), 208371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(774), 208471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(775), 208571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(776), 208671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(777), 208771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(778), 208871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(779), 208971d10453SEric Joyner 209071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(780), 209171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(781), 209271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(782), 209371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(783), 209471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(784), 209571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(785), 209671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(786), 209771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(787), 209871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(788), 209971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(789), 210071d10453SEric Joyner 210171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(790), 210271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(791), 210371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(792), 210471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(793), 210571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(794), 210671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(795), 210771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(796), 210871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(797), 210971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(798), 211071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(799), 211171d10453SEric Joyner 211271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(800), 211371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(801), 211471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(802), 211571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(803), 211671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(804), 211771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(805), 211871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(806), 211971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(807), 212071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(808), 212171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(809), 212271d10453SEric Joyner 212371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(810), 212471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(811), 212571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(812), 212671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(813), 212771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(814), 212871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(815), 212971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(816), 213071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(817), 213171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(818), 213271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(819), 213371d10453SEric Joyner 213471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(820), 213571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(821), 213671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(822), 213771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(823), 213871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(824), 213971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(825), 214071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(826), 214171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(827), 214271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(828), 214371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(829), 214471d10453SEric Joyner 214571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(830), 214671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(831), 214771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(832), 214871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(833), 214971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(834), 215071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(835), 215171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(836), 215271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(837), 215371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(838), 215471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(839), 215571d10453SEric Joyner 215671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(840), 215771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(841), 215871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(842), 215971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(843), 216071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(844), 216171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(845), 216271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(846), 216371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(847), 216471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(848), 216571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(849), 216671d10453SEric Joyner 216771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(850), 216871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(851), 216971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(852), 217071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(853), 217171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(854), 217271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(855), 217371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(856), 217471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(857), 217571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(858), 217671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(859), 217771d10453SEric Joyner 217871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(860), 217971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(861), 218071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(862), 218171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(863), 218271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(864), 218371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(865), 218471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(866), 218571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(867), 218671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(868), 218771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(869), 218871d10453SEric Joyner 218971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(870), 219071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(871), 219171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(872), 219271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(873), 219371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(874), 219471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(875), 219571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(876), 219671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(877), 219771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(878), 219871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(879), 219971d10453SEric Joyner 220071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(880), 220171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(881), 220271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(882), 220371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(883), 220471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(884), 220571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(885), 220671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(886), 220771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(887), 220871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(888), 220971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(889), 221071d10453SEric Joyner 221171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(890), 221271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(891), 221371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(892), 221471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(893), 221571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(894), 221671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(895), 221771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(896), 221871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(897), 221971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(898), 222071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(899), 222171d10453SEric Joyner 222271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(900), 222371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(901), 222471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(902), 222571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(903), 222671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(904), 222771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(905), 222871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(906), 222971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(907), 223071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(908), 223171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(909), 223271d10453SEric Joyner 223371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(910), 223471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(911), 223571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(912), 223671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(913), 223771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(914), 223871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(915), 223971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(916), 224071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(917), 224171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(918), 224271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(919), 224371d10453SEric Joyner 224471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(920), 224571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(921), 224671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(922), 224771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(923), 224871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(924), 224971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(925), 225071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(926), 225171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(927), 225271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(928), 225371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(929), 225471d10453SEric Joyner 225571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(930), 225671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(931), 225771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(932), 225871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(933), 225971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(934), 226071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(935), 226171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(936), 226271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(937), 226371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(938), 226471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(939), 226571d10453SEric Joyner 226671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(940), 226771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(941), 226871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(942), 226971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(943), 227071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(944), 227171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(945), 227271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(946), 227371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(947), 227471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(948), 227571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(949), 227671d10453SEric Joyner 227771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(950), 227871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(951), 227971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(952), 228071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(953), 228171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(954), 228271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(955), 228371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(956), 228471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(957), 228571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(958), 228671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(959), 228771d10453SEric Joyner 228871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(960), 228971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(961), 229071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(962), 229171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(963), 229271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(964), 229371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(965), 229471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(966), 229571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(967), 229671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(968), 229771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(969), 229871d10453SEric Joyner 229971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(970), 230071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(971), 230171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(972), 230271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(973), 230371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(974), 230471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(975), 230571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(976), 230671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(977), 230771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(978), 230871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(979), 230971d10453SEric Joyner 231071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(980), 231171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(981), 231271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(982), 231371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(983), 231471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(984), 231571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(985), 231671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(986), 231771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(987), 231871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(988), 231971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(989), 232071d10453SEric Joyner 232171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(990), 232271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(991), 232371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(992), 232471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(993), 232571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(994), 232671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(995), 232771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(996), 232871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(997), 232971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(998), 233071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(999), 233171d10453SEric Joyner 233271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1000), 233371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1001), 233471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1002), 233571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1003), 233671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1004), 233771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1005), 233871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1006), 233971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1007), 234071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1008), 234171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1009), 234271d10453SEric Joyner 234371d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1010), 234471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1011), 234571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1012), 234671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1013), 234771d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1014), 234871d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1015), 234971d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1016), 235071d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1017), 235171d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1018), 235271d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1019), 235371d10453SEric Joyner 235471d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1020), 235571d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1021), 235671d10453SEric Joyner ICE_PTT_UNUSED_ENTRY(1022), 235756429daeSEric Joyner ICE_PTT_UNUSED_ENTRY(1023) 235871d10453SEric Joyner }; 235971d10453SEric Joyner 236071d10453SEric Joyner static inline struct ice_rx_ptype_decoded ice_decode_rx_desc_ptype(u16 ptype) 236171d10453SEric Joyner { 236271d10453SEric Joyner return ice_ptype_lkup[ptype]; 236371d10453SEric Joyner } 236471d10453SEric Joyner 236571d10453SEric Joyner #define ICE_LINK_SPEED_UNKNOWN 0 236671d10453SEric Joyner #define ICE_LINK_SPEED_10MBPS 10 236771d10453SEric Joyner #define ICE_LINK_SPEED_100MBPS 100 236871d10453SEric Joyner #define ICE_LINK_SPEED_1000MBPS 1000 236971d10453SEric Joyner #define ICE_LINK_SPEED_2500MBPS 2500 237071d10453SEric Joyner #define ICE_LINK_SPEED_5000MBPS 5000 237171d10453SEric Joyner #define ICE_LINK_SPEED_10000MBPS 10000 237271d10453SEric Joyner #define ICE_LINK_SPEED_20000MBPS 20000 237371d10453SEric Joyner #define ICE_LINK_SPEED_25000MBPS 25000 237471d10453SEric Joyner #define ICE_LINK_SPEED_40000MBPS 40000 237571d10453SEric Joyner #define ICE_LINK_SPEED_50000MBPS 50000 237671d10453SEric Joyner #define ICE_LINK_SPEED_100000MBPS 100000 2377*f2635e84SEric Joyner #define ICE_LINK_SPEED_200000MBPS 200000 237871d10453SEric Joyner #endif /* _ICE_LAN_TX_RX_H_ */ 2379