Branch data Line data Source code
1 : : /* SPDX-License-Identifier: BSD-3-Clause 2 : : * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd. 3 : : */ 4 : : 5 : : #ifndef _TXGBE_PTYPE_H_ 6 : : #define _TXGBE_PTYPE_H_ 7 : : 8 : : /** 9 : : * PTID(Packet Type Identifier, 8bits) 10 : : * - Bit 3:0 detailed types. 11 : : * - Bit 5:4 basic types. 12 : : * - Bit 7:6 tunnel types. 13 : : **/ 14 : : #define TXGBE_PTID_NULL 0 15 : : #define TXGBE_PTID_MAX 256 16 : : #define TXGBE_PTID_MASK 0xFF 17 : : #define TXGBE_PTID_MASK_TUNNEL 0x7F 18 : : 19 : : /* TUN */ 20 : : #define TXGBE_PTID_TUN_IPV6 0x40 21 : : #define TXGBE_PTID_TUN_EI 0x00 /* IP */ 22 : : #define TXGBE_PTID_TUN_EIG 0x10 /* IP+GRE */ 23 : : #define TXGBE_PTID_TUN_EIGM 0x20 /* IP+GRE+MAC */ 24 : : #define TXGBE_PTID_TUN_EIGMV 0x30 /* IP+GRE+MAC+VLAN */ 25 : : 26 : : /* PKT for !TUN */ 27 : : #define TXGBE_PTID_PKT_TUN (0x80) 28 : : #define TXGBE_PTID_PKT_MAC (0x10) 29 : : #define TXGBE_PTID_PKT_IP (0x20) 30 : : #define TXGBE_PTID_PKT_FCOE (0x30) 31 : : 32 : : /* TYP for PKT=mac */ 33 : : #define TXGBE_PTID_TYP_MAC (0x01) 34 : : #define TXGBE_PTID_TYP_TS (0x02) /* time sync */ 35 : : #define TXGBE_PTID_TYP_FIP (0x03) 36 : : #define TXGBE_PTID_TYP_LLDP (0x04) 37 : : #define TXGBE_PTID_TYP_CNM (0x05) 38 : : #define TXGBE_PTID_TYP_EAPOL (0x06) 39 : : #define TXGBE_PTID_TYP_ARP (0x07) 40 : : #define TXGBE_PTID_TYP_ETF (0x08) 41 : : 42 : : /* TYP for PKT=ip */ 43 : : #define TXGBE_PTID_PKT_IPV6 (0x08) 44 : : #define TXGBE_PTID_TYP_IPFRAG (0x01) 45 : : #define TXGBE_PTID_TYP_IPDATA (0x02) 46 : : #define TXGBE_PTID_TYP_UDP (0x03) 47 : : #define TXGBE_PTID_TYP_TCP (0x04) 48 : : #define TXGBE_PTID_TYP_SCTP (0x05) 49 : : 50 : : /* TYP for PKT=fcoe */ 51 : : #define TXGBE_PTID_PKT_VFT (0x08) 52 : : #define TXGBE_PTID_TYP_FCOE (0x00) 53 : : #define TXGBE_PTID_TYP_FCDATA (0x01) 54 : : #define TXGBE_PTID_TYP_FCRDY (0x02) 55 : : #define TXGBE_PTID_TYP_FCRSP (0x03) 56 : : #define TXGBE_PTID_TYP_FCOTHER (0x04) 57 : : 58 : : /* packet type non-ip values */ 59 : : enum txgbe_l2_ptids { 60 : : TXGBE_PTID_L2_ABORTED = (TXGBE_PTID_PKT_MAC), 61 : : TXGBE_PTID_L2_MAC = (TXGBE_PTID_PKT_MAC | TXGBE_PTID_TYP_MAC), 62 : : TXGBE_PTID_L2_TMST = (TXGBE_PTID_PKT_MAC | TXGBE_PTID_TYP_TS), 63 : : TXGBE_PTID_L2_FIP = (TXGBE_PTID_PKT_MAC | TXGBE_PTID_TYP_FIP), 64 : : TXGBE_PTID_L2_LLDP = (TXGBE_PTID_PKT_MAC | TXGBE_PTID_TYP_LLDP), 65 : : TXGBE_PTID_L2_CNM = (TXGBE_PTID_PKT_MAC | TXGBE_PTID_TYP_CNM), 66 : : TXGBE_PTID_L2_EAPOL = (TXGBE_PTID_PKT_MAC | TXGBE_PTID_TYP_EAPOL), 67 : : TXGBE_PTID_L2_ARP = (TXGBE_PTID_PKT_MAC | TXGBE_PTID_TYP_ARP), 68 : : 69 : : TXGBE_PTID_L2_IPV4_FRAG = (TXGBE_PTID_PKT_IP | TXGBE_PTID_TYP_IPFRAG), 70 : : TXGBE_PTID_L2_IPV4 = (TXGBE_PTID_PKT_IP | TXGBE_PTID_TYP_IPDATA), 71 : : TXGBE_PTID_L2_IPV4_UDP = (TXGBE_PTID_PKT_IP | TXGBE_PTID_TYP_UDP), 72 : : TXGBE_PTID_L2_IPV4_TCP = (TXGBE_PTID_PKT_IP | TXGBE_PTID_TYP_TCP), 73 : : TXGBE_PTID_L2_IPV4_SCTP = (TXGBE_PTID_PKT_IP | TXGBE_PTID_TYP_SCTP), 74 : : TXGBE_PTID_L2_IPV6_FRAG = (TXGBE_PTID_PKT_IP | TXGBE_PTID_PKT_IPV6 | 75 : : TXGBE_PTID_TYP_IPFRAG), 76 : : TXGBE_PTID_L2_IPV6 = (TXGBE_PTID_PKT_IP | TXGBE_PTID_PKT_IPV6 | 77 : : TXGBE_PTID_TYP_IPDATA), 78 : : TXGBE_PTID_L2_IPV6_UDP = (TXGBE_PTID_PKT_IP | TXGBE_PTID_PKT_IPV6 | 79 : : TXGBE_PTID_TYP_UDP), 80 : : TXGBE_PTID_L2_IPV6_TCP = (TXGBE_PTID_PKT_IP | TXGBE_PTID_PKT_IPV6 | 81 : : TXGBE_PTID_TYP_TCP), 82 : : TXGBE_PTID_L2_IPV6_SCTP = (TXGBE_PTID_PKT_IP | TXGBE_PTID_PKT_IPV6 | 83 : : TXGBE_PTID_TYP_SCTP), 84 : : 85 : : TXGBE_PTID_L2_FCOE = (TXGBE_PTID_PKT_FCOE | 86 : : TXGBE_PTID_TYP_FCOE), 87 : : TXGBE_PTID_L2_FCOE_FCDATA = (TXGBE_PTID_PKT_FCOE | 88 : : TXGBE_PTID_TYP_FCDATA), 89 : : TXGBE_PTID_L2_FCOE_FCRDY = (TXGBE_PTID_PKT_FCOE | 90 : : TXGBE_PTID_TYP_FCRDY), 91 : : TXGBE_PTID_L2_FCOE_FCRSP = (TXGBE_PTID_PKT_FCOE | 92 : : TXGBE_PTID_TYP_FCRSP), 93 : : TXGBE_PTID_L2_FCOE_FCOTHER = (TXGBE_PTID_PKT_FCOE | 94 : : TXGBE_PTID_TYP_FCOTHER), 95 : : TXGBE_PTID_L2_FCOE_VFT = (TXGBE_PTID_PKT_FCOE | 96 : : TXGBE_PTID_PKT_VFT), 97 : : TXGBE_PTID_L2_FCOE_VFT_FCDATA = (TXGBE_PTID_PKT_FCOE | 98 : : TXGBE_PTID_PKT_VFT | TXGBE_PTID_TYP_FCDATA), 99 : : TXGBE_PTID_L2_FCOE_VFT_FCRDY = (TXGBE_PTID_PKT_FCOE | 100 : : TXGBE_PTID_PKT_VFT | TXGBE_PTID_TYP_FCRDY), 101 : : TXGBE_PTID_L2_FCOE_VFT_FCRSP = (TXGBE_PTID_PKT_FCOE | 102 : : TXGBE_PTID_PKT_VFT | TXGBE_PTID_TYP_FCRSP), 103 : : TXGBE_PTID_L2_FCOE_VFT_FCOTHER = (TXGBE_PTID_PKT_FCOE | 104 : : TXGBE_PTID_PKT_VFT | TXGBE_PTID_TYP_FCOTHER), 105 : : 106 : : TXGBE_PTID_L2_TUN4_MAC = (TXGBE_PTID_PKT_TUN | 107 : : TXGBE_PTID_TUN_EIGM), 108 : : TXGBE_PTID_L2_TUN6_MAC = (TXGBE_PTID_PKT_TUN | 109 : : TXGBE_PTID_TUN_IPV6 | TXGBE_PTID_TUN_EIGM), 110 : : }; 111 : : 112 : : 113 : : /* 114 : : * PTYPE(Packet Type, 32bits) 115 : : * - Bit 3:0 is for L2 types. 116 : : * - Bit 7:4 is for L3 or outer L3 (for tunneling case) types. 117 : : * - Bit 11:8 is for L4 or outer L4 (for tunneling case) types. 118 : : * - Bit 15:12 is for tunnel types. 119 : : * - Bit 19:16 is for inner L2 types. 120 : : * - Bit 23:20 is for inner L3 types. 121 : : * - Bit 27:24 is for inner L4 types. 122 : : * - Bit 31:28 is reserved. 123 : : * please ref to rte_mbuf.h: rte_mbuf.packet_type 124 : : */ 125 : : struct rte_txgbe_ptype { 126 : : u32 l2:4; /* outer mac */ 127 : : u32 l3:4; /* outer internet protocol */ 128 : : u32 l4:4; /* outer transport protocol */ 129 : : u32 tun:4; /* tunnel protocol */ 130 : : 131 : : u32 el2:4; /* inner mac */ 132 : : u32 el3:4; /* inner internet protocol */ 133 : : u32 el4:4; /* inner transport protocol */ 134 : : u32 rsv:3; 135 : : u32 known:1; 136 : : }; 137 : : 138 : : #ifndef RTE_PTYPE_UNKNOWN 139 : : #define RTE_PTYPE_UNKNOWN 0x00000000 140 : : #define RTE_PTYPE_L2_ETHER 0x00000001 141 : : #define RTE_PTYPE_L2_ETHER_TIMESYNC 0x00000002 142 : : #define RTE_PTYPE_L2_ETHER_ARP 0x00000003 143 : : #define RTE_PTYPE_L2_ETHER_LLDP 0x00000004 144 : : #define RTE_PTYPE_L2_ETHER_NSH 0x00000005 145 : : #define RTE_PTYPE_L2_ETHER_FCOE 0x00000009 146 : : #define RTE_PTYPE_L3_IPV4 0x00000010 147 : : #define RTE_PTYPE_L3_IPV4_EXT 0x00000030 148 : : #define RTE_PTYPE_L3_IPV6 0x00000040 149 : : #define RTE_PTYPE_L3_IPV4_EXT_UNKNOWN 0x00000090 150 : : #define RTE_PTYPE_L3_IPV6_EXT 0x000000c0 151 : : #define RTE_PTYPE_L3_IPV6_EXT_UNKNOWN 0x000000e0 152 : : #define RTE_PTYPE_L4_TCP 0x00000100 153 : : #define RTE_PTYPE_L4_UDP 0x00000200 154 : : #define RTE_PTYPE_L4_FRAG 0x00000300 155 : : #define RTE_PTYPE_L4_SCTP 0x00000400 156 : : #define RTE_PTYPE_L4_ICMP 0x00000500 157 : : #define RTE_PTYPE_L4_NONFRAG 0x00000600 158 : : #define RTE_PTYPE_TUNNEL_IP 0x00001000 159 : : #define RTE_PTYPE_TUNNEL_GRE 0x00002000 160 : : #define RTE_PTYPE_TUNNEL_VXLAN 0x00003000 161 : : #define RTE_PTYPE_TUNNEL_NVGRE 0x00004000 162 : : #define RTE_PTYPE_TUNNEL_GENEVE 0x00005000 163 : : #define RTE_PTYPE_TUNNEL_GRENAT 0x00006000 164 : : #define RTE_PTYPE_INNER_L2_ETHER 0x00010000 165 : : #define RTE_PTYPE_INNER_L2_ETHER_VLAN 0x00020000 166 : : #define RTE_PTYPE_INNER_L3_IPV4 0x00100000 167 : : #define RTE_PTYPE_INNER_L3_IPV4_EXT 0x00200000 168 : : #define RTE_PTYPE_INNER_L3_IPV6 0x00300000 169 : : #define RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN 0x00400000 170 : : #define RTE_PTYPE_INNER_L3_IPV6_EXT 0x00500000 171 : : #define RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN 0x00600000 172 : : #define RTE_PTYPE_INNER_L4_TCP 0x01000000 173 : : #define RTE_PTYPE_INNER_L4_UDP 0x02000000 174 : : #define RTE_PTYPE_INNER_L4_FRAG 0x03000000 175 : : #define RTE_PTYPE_INNER_L4_SCTP 0x04000000 176 : : #define RTE_PTYPE_INNER_L4_ICMP 0x05000000 177 : : #define RTE_PTYPE_INNER_L4_NONFRAG 0x06000000 178 : : #endif /* !RTE_PTYPE_UNKNOWN */ 179 : : #define RTE_PTYPE_L3_IPV4u RTE_PTYPE_L3_IPV4_EXT_UNKNOWN 180 : : #define RTE_PTYPE_L3_IPV6u RTE_PTYPE_L3_IPV6_EXT_UNKNOWN 181 : : #define RTE_PTYPE_INNER_L3_IPV4u RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN 182 : : #define RTE_PTYPE_INNER_L3_IPV6u RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN 183 : : #define RTE_PTYPE_L2_ETHER_FIP RTE_PTYPE_L2_ETHER 184 : : #define RTE_PTYPE_L2_ETHER_CNM RTE_PTYPE_L2_ETHER 185 : : #define RTE_PTYPE_L2_ETHER_EAPOL RTE_PTYPE_L2_ETHER 186 : : #define RTE_PTYPE_L2_ETHER_FILTER RTE_PTYPE_L2_ETHER 187 : : 188 : : u32 *txgbe_get_supported_ptypes(size_t *no_of_elements); 189 : : u32 txgbe_decode_ptype(u8 ptid); 190 : : u8 txgbe_encode_ptype(u32 ptype); 191 : : 192 : : /** 193 : : * PT(Packet Type, 32bits) 194 : : * - Bit 3:0 is for L2 types. 195 : : * - Bit 7:4 is for L3 or outer L3 (for tunneling case) types. 196 : : * - Bit 11:8 is for L4 or outer L4 (for tunneling case) types. 197 : : * - Bit 15:12 is for tunnel types. 198 : : * - Bit 19:16 is for inner L2 types. 199 : : * - Bit 23:20 is for inner L3 types. 200 : : * - Bit 27:24 is for inner L4 types. 201 : : * - Bit 31:28 is reserved. 202 : : * PT is a more accurate version of PTYPE 203 : : **/ 204 : : #define TXGBE_PT_ETHER 0x00 205 : : #define TXGBE_PT_IPV4 0x01 206 : : #define TXGBE_PT_IPV4_TCP 0x11 207 : : #define TXGBE_PT_IPV4_UDP 0x21 208 : : #define TXGBE_PT_IPV4_SCTP 0x41 209 : : #define TXGBE_PT_IPV4_EXT 0x03 210 : : #define TXGBE_PT_IPV4_EXT_TCP 0x13 211 : : #define TXGBE_PT_IPV4_EXT_UDP 0x23 212 : : #define TXGBE_PT_IPV4_EXT_SCTP 0x43 213 : : #define TXGBE_PT_IPV6 0x04 214 : : #define TXGBE_PT_IPV6_TCP 0x14 215 : : #define TXGBE_PT_IPV6_UDP 0x24 216 : : #define TXGBE_PT_IPV6_SCTP 0x44 217 : : #define TXGBE_PT_IPV6_EXT 0x0C 218 : : #define TXGBE_PT_IPV6_EXT_TCP 0x1C 219 : : #define TXGBE_PT_IPV6_EXT_UDP 0x2C 220 : : #define TXGBE_PT_IPV6_EXT_SCTP 0x4C 221 : : #define TXGBE_PT_IPV4_IPV6 0x05 222 : : #define TXGBE_PT_IPV4_IPV6_TCP 0x15 223 : : #define TXGBE_PT_IPV4_IPV6_UDP 0x25 224 : : #define TXGBE_PT_IPV4_IPV6_SCTP 0x45 225 : : #define TXGBE_PT_IPV4_EXT_IPV6 0x07 226 : : #define TXGBE_PT_IPV4_EXT_IPV6_TCP 0x17 227 : : #define TXGBE_PT_IPV4_EXT_IPV6_UDP 0x27 228 : : #define TXGBE_PT_IPV4_EXT_IPV6_SCTP 0x47 229 : : #define TXGBE_PT_IPV4_IPV6_EXT 0x0D 230 : : #define TXGBE_PT_IPV4_IPV6_EXT_TCP 0x1D 231 : : #define TXGBE_PT_IPV4_IPV6_EXT_UDP 0x2D 232 : : #define TXGBE_PT_IPV4_IPV6_EXT_SCTP 0x4D 233 : : #define TXGBE_PT_IPV4_EXT_IPV6_EXT 0x0F 234 : : #define TXGBE_PT_IPV4_EXT_IPV6_EXT_TCP 0x1F 235 : : #define TXGBE_PT_IPV4_EXT_IPV6_EXT_UDP 0x2F 236 : : #define TXGBE_PT_IPV4_EXT_IPV6_EXT_SCTP 0x4F 237 : : 238 : : #define TXGBE_PT_NVGRE 0x00 239 : : #define TXGBE_PT_NVGRE_IPV4 0x01 240 : : #define TXGBE_PT_NVGRE_IPV4_TCP 0x11 241 : : #define TXGBE_PT_NVGRE_IPV4_UDP 0x21 242 : : #define TXGBE_PT_NVGRE_IPV4_SCTP 0x41 243 : : #define TXGBE_PT_NVGRE_IPV4_EXT 0x03 244 : : #define TXGBE_PT_NVGRE_IPV4_EXT_TCP 0x13 245 : : #define TXGBE_PT_NVGRE_IPV4_EXT_UDP 0x23 246 : : #define TXGBE_PT_NVGRE_IPV4_EXT_SCTP 0x43 247 : : #define TXGBE_PT_NVGRE_IPV6 0x04 248 : : #define TXGBE_PT_NVGRE_IPV6_TCP 0x14 249 : : #define TXGBE_PT_NVGRE_IPV6_UDP 0x24 250 : : #define TXGBE_PT_NVGRE_IPV6_SCTP 0x44 251 : : #define TXGBE_PT_NVGRE_IPV6_EXT 0x0C 252 : : #define TXGBE_PT_NVGRE_IPV6_EXT_TCP 0x1C 253 : : #define TXGBE_PT_NVGRE_IPV6_EXT_UDP 0x2C 254 : : #define TXGBE_PT_NVGRE_IPV6_EXT_SCTP 0x4C 255 : : #define TXGBE_PT_NVGRE_IPV4_IPV6 0x05 256 : : #define TXGBE_PT_NVGRE_IPV4_IPV6_TCP 0x15 257 : : #define TXGBE_PT_NVGRE_IPV4_IPV6_UDP 0x25 258 : : #define TXGBE_PT_NVGRE_IPV4_IPV6_EXT 0x0D 259 : : #define TXGBE_PT_NVGRE_IPV4_IPV6_EXT_TCP 0x1D 260 : : #define TXGBE_PT_NVGRE_IPV4_IPV6_EXT_UDP 0x2D 261 : : 262 : : #define TXGBE_PT_VXLAN 0x80 263 : : #define TXGBE_PT_VXLAN_IPV4 0x81 264 : : #define TXGBE_PT_VXLAN_IPV4_TCP 0x91 265 : : #define TXGBE_PT_VXLAN_IPV4_UDP 0xA1 266 : : #define TXGBE_PT_VXLAN_IPV4_SCTP 0xC1 267 : : #define TXGBE_PT_VXLAN_IPV4_EXT 0x83 268 : : #define TXGBE_PT_VXLAN_IPV4_EXT_TCP 0x93 269 : : #define TXGBE_PT_VXLAN_IPV4_EXT_UDP 0xA3 270 : : #define TXGBE_PT_VXLAN_IPV4_EXT_SCTP 0xC3 271 : : #define TXGBE_PT_VXLAN_IPV6 0x84 272 : : #define TXGBE_PT_VXLAN_IPV6_TCP 0x94 273 : : #define TXGBE_PT_VXLAN_IPV6_UDP 0xA4 274 : : #define TXGBE_PT_VXLAN_IPV6_SCTP 0xC4 275 : : #define TXGBE_PT_VXLAN_IPV6_EXT 0x8C 276 : : #define TXGBE_PT_VXLAN_IPV6_EXT_TCP 0x9C 277 : : #define TXGBE_PT_VXLAN_IPV6_EXT_UDP 0xAC 278 : : #define TXGBE_PT_VXLAN_IPV6_EXT_SCTP 0xCC 279 : : #define TXGBE_PT_VXLAN_IPV4_IPV6 0x85 280 : : #define TXGBE_PT_VXLAN_IPV4_IPV6_TCP 0x95 281 : : #define TXGBE_PT_VXLAN_IPV4_IPV6_UDP 0xA5 282 : : #define TXGBE_PT_VXLAN_IPV4_IPV6_EXT 0x8D 283 : : #define TXGBE_PT_VXLAN_IPV4_IPV6_EXT_TCP 0x9D 284 : : #define TXGBE_PT_VXLAN_IPV4_IPV6_EXT_UDP 0xAD 285 : : 286 : : #define TXGBE_PT_MAX 256 287 : : extern const u32 txgbe_ptype_table[TXGBE_PT_MAX]; 288 : : extern const u32 txgbe_ptype_table_tn[TXGBE_PT_MAX]; 289 : : 290 : : 291 : : /* ether type filter list: one static filter per filter consumer. This is 292 : : * to avoid filter collisions later. Add new filters 293 : : * here!! 294 : : * EAPOL 802.1x (0x888e): Filter 0 295 : : * FCoE (0x8906): Filter 2 296 : : * 1588 (0x88f7): Filter 3 297 : : * FIP (0x8914): Filter 4 298 : : * LLDP (0x88CC): Filter 5 299 : : * LACP (0x8809): Filter 6 300 : : * FC (0x8808): Filter 7 301 : : */ 302 : : #define TXGBE_ETF_ID_EAPOL 0 303 : : #define TXGBE_ETF_ID_FCOE 2 304 : : #define TXGBE_ETF_ID_1588 3 305 : : #define TXGBE_ETF_ID_FIP 4 306 : : #define TXGBE_ETF_ID_LLDP 5 307 : : #define TXGBE_ETF_ID_LACP 6 308 : : #define TXGBE_ETF_ID_FC 7 309 : : #define TXGBE_ETF_ID_MAX 8 310 : : 311 : : #define TXGBE_PTID_ETF_MIN 0x18 312 : : #define TXGBE_PTID_ETF_MAX 0x1F 313 : : static inline int txgbe_etflt_id(u8 ptid) 314 : : { 315 [ # # ]: 0 : if (ptid >= TXGBE_PTID_ETF_MIN && ptid <= TXGBE_PTID_ETF_MAX) 316 : : return ptid - TXGBE_PTID_ETF_MIN; 317 : : else 318 : : return -1; 319 : : } 320 : : 321 : : struct txgbe_udphdr { 322 : : __be16 source; 323 : : __be16 dest; 324 : : __be16 len; 325 : : __be16 check; 326 : : }; 327 : : 328 : : struct txgbe_vxlanhdr { 329 : : __be32 vx_flags; 330 : : __be32 vx_vni; 331 : : }; 332 : : 333 : : struct txgbe_genevehdr { 334 : : u8 opt_len:6; 335 : : u8 ver:2; 336 : : u8 rsvd1:6; 337 : : u8 critical:1; 338 : : u8 oam:1; 339 : : __be16 proto_type; 340 : : 341 : : u8 vni[3]; 342 : : u8 rsvd2; 343 : : }; 344 : : 345 : : struct txgbe_nvgrehdr { 346 : : __be16 flags; 347 : : __be16 proto; 348 : : __be32 tni; 349 : : }; 350 : : 351 : : struct txgbe_grehdr { 352 : : __be16 flags; 353 : : __be16 proto; 354 : : }; 355 : : 356 : : #endif /* _TXGBE_PTYPE_H_ */