0001
0002
0003
0004
0005
0006
0007 #ifndef __ETH_COMMON__
0008 #define __ETH_COMMON__
0009
0010
0011
0012
0013
0014 #define ETH_HSI_VER_MAJOR 3
0015 #define ETH_HSI_VER_MINOR 11
0016
0017 #define ETH_HSI_VER_NO_PKT_LEN_TUNN 5
0018
0019 #define ETH_PINNED_CONN_MAX_NUM 32
0020
0021 #define ETH_CACHE_LINE_SIZE 64
0022 #define ETH_RX_CQE_GAP 32
0023 #define ETH_MAX_RAMROD_PER_CON 8
0024 #define ETH_TX_BD_PAGE_SIZE_BYTES 4096
0025 #define ETH_RX_BD_PAGE_SIZE_BYTES 4096
0026 #define ETH_RX_CQE_PAGE_SIZE_BYTES 4096
0027 #define ETH_RX_NUM_NEXT_PAGE_BDS 2
0028
0029 #define ETH_MAX_TUNN_LSO_INNER_IPV4_OFFSET 253
0030 #define ETH_MAX_TUNN_LSO_INNER_IPV6_OFFSET 251
0031
0032 #define ETH_TX_MIN_BDS_PER_NON_LSO_PKT 1
0033 #define ETH_TX_MAX_BDS_PER_NON_LSO_PACKET 18
0034 #define ETH_TX_MAX_BDS_PER_LSO_PACKET 255
0035 #define ETH_TX_MAX_LSO_HDR_NBD 4
0036 #define ETH_TX_MIN_BDS_PER_LSO_PKT 3
0037 #define ETH_TX_MIN_BDS_PER_TUNN_IPV6_WITH_EXT_PKT 3
0038 #define ETH_TX_MIN_BDS_PER_IPV6_WITH_EXT_PKT 2
0039 #define ETH_TX_MIN_BDS_PER_PKT_W_LOOPBACK_MODE 2
0040 #define ETH_TX_MIN_BDS_PER_PKT_W_VPORT_FORWARDING 4
0041 #define ETH_TX_MAX_NON_LSO_PKT_LEN (9700 - (4 + 4 + 12 + 8))
0042 #define ETH_TX_MAX_LSO_HDR_BYTES 510
0043 #define ETH_TX_LSO_WINDOW_BDS_NUM (18 - 1)
0044 #define ETH_TX_LSO_WINDOW_MIN_LEN 9700
0045 #define ETH_TX_MAX_LSO_PAYLOAD_LEN 0xFE000
0046 #define ETH_TX_NUM_SAME_AS_LAST_ENTRIES 320
0047 #define ETH_TX_INACTIVE_SAME_AS_LAST 0xFFFF
0048
0049 #define ETH_NUM_STATISTIC_COUNTERS MAX_NUM_VPORTS
0050 #define ETH_NUM_STATISTIC_COUNTERS_DOUBLE_VF_ZONE \
0051 (ETH_NUM_STATISTIC_COUNTERS - MAX_NUM_VFS / 2)
0052 #define ETH_NUM_STATISTIC_COUNTERS_QUAD_VF_ZONE \
0053 (ETH_NUM_STATISTIC_COUNTERS - 3 * MAX_NUM_VFS / 4)
0054
0055 #define ETH_RX_MAX_BUFF_PER_PKT 5
0056 #define ETH_RX_BD_THRESHOLD 16
0057
0058
0059 #define ETH_NUM_MAC_FILTERS 512
0060 #define ETH_NUM_VLAN_FILTERS 512
0061
0062
0063 #define ETH_MULTICAST_BIN_FROM_MAC_SEED 0
0064 #define ETH_MULTICAST_MAC_BINS 256
0065 #define ETH_MULTICAST_MAC_BINS_IN_REGS (ETH_MULTICAST_MAC_BINS / 32)
0066
0067
0068 #define ETH_FILTER_RULES_COUNT 10
0069 #define ETH_RSS_IND_TABLE_ENTRIES_NUM 128
0070 #define ETH_RSS_IND_TABLE_MASK_SIZE_REGS (ETH_RSS_IND_TABLE_ENTRIES_NUM / 32)
0071 #define ETH_RSS_KEY_SIZE_REGS 10
0072 #define ETH_RSS_ENGINE_NUM_K2 207
0073 #define ETH_RSS_ENGINE_NUM_BB 127
0074
0075
0076 #define ETH_TPA_MAX_AGGS_NUM 64
0077 #define ETH_TPA_CQE_START_BW_LEN_LIST_SIZE 2
0078 #define ETH_TPA_CQE_CONT_LEN_LIST_SIZE 6
0079 #define ETH_TPA_CQE_END_LEN_LIST_SIZE 4
0080
0081
0082 #define ETH_CTL_FRAME_ETH_TYPE_NUM 4
0083
0084
0085 #define ETH_GFT_TRASHCAN_VPORT 0x1FF
0086
0087
0088 enum dst_port_mode {
0089 DST_PORT_PHY,
0090 DST_PORT_LOOPBACK,
0091 DST_PORT_PHY_LOOPBACK,
0092 DST_PORT_DROP,
0093 MAX_DST_PORT_MODE
0094 };
0095
0096
0097 enum eth_addr_type {
0098 BROADCAST_ADDRESS,
0099 MULTICAST_ADDRESS,
0100 UNICAST_ADDRESS,
0101 UNKNOWN_ADDRESS,
0102 MAX_ETH_ADDR_TYPE
0103 };
0104
0105 struct eth_tx_1st_bd_flags {
0106 u8 bitfields;
0107 #define ETH_TX_1ST_BD_FLAGS_START_BD_MASK 0x1
0108 #define ETH_TX_1ST_BD_FLAGS_START_BD_SHIFT 0
0109 #define ETH_TX_1ST_BD_FLAGS_FORCE_VLAN_MODE_MASK 0x1
0110 #define ETH_TX_1ST_BD_FLAGS_FORCE_VLAN_MODE_SHIFT 1
0111 #define ETH_TX_1ST_BD_FLAGS_IP_CSUM_MASK 0x1
0112 #define ETH_TX_1ST_BD_FLAGS_IP_CSUM_SHIFT 2
0113 #define ETH_TX_1ST_BD_FLAGS_L4_CSUM_MASK 0x1
0114 #define ETH_TX_1ST_BD_FLAGS_L4_CSUM_SHIFT 3
0115 #define ETH_TX_1ST_BD_FLAGS_VLAN_INSERTION_MASK 0x1
0116 #define ETH_TX_1ST_BD_FLAGS_VLAN_INSERTION_SHIFT 4
0117 #define ETH_TX_1ST_BD_FLAGS_LSO_MASK 0x1
0118 #define ETH_TX_1ST_BD_FLAGS_LSO_SHIFT 5
0119 #define ETH_TX_1ST_BD_FLAGS_TUNN_IP_CSUM_MASK 0x1
0120 #define ETH_TX_1ST_BD_FLAGS_TUNN_IP_CSUM_SHIFT 6
0121 #define ETH_TX_1ST_BD_FLAGS_TUNN_L4_CSUM_MASK 0x1
0122 #define ETH_TX_1ST_BD_FLAGS_TUNN_L4_CSUM_SHIFT 7
0123 };
0124
0125
0126 struct eth_tx_data_1st_bd {
0127 __le16 vlan;
0128 u8 nbds;
0129 struct eth_tx_1st_bd_flags bd_flags;
0130 __le16 bitfields;
0131 #define ETH_TX_DATA_1ST_BD_TUNN_FLAG_MASK 0x1
0132 #define ETH_TX_DATA_1ST_BD_TUNN_FLAG_SHIFT 0
0133 #define ETH_TX_DATA_1ST_BD_RESERVED0_MASK 0x1
0134 #define ETH_TX_DATA_1ST_BD_RESERVED0_SHIFT 1
0135 #define ETH_TX_DATA_1ST_BD_PKT_LEN_MASK 0x3FFF
0136 #define ETH_TX_DATA_1ST_BD_PKT_LEN_SHIFT 2
0137 };
0138
0139
0140 struct eth_tx_data_2nd_bd {
0141 __le16 tunn_ip_size;
0142 __le16 bitfields1;
0143 #define ETH_TX_DATA_2ND_BD_TUNN_INNER_L2_HDR_SIZE_W_MASK 0xF
0144 #define ETH_TX_DATA_2ND_BD_TUNN_INNER_L2_HDR_SIZE_W_SHIFT 0
0145 #define ETH_TX_DATA_2ND_BD_TUNN_INNER_ETH_TYPE_MASK 0x3
0146 #define ETH_TX_DATA_2ND_BD_TUNN_INNER_ETH_TYPE_SHIFT 4
0147 #define ETH_TX_DATA_2ND_BD_DST_PORT_MODE_MASK 0x3
0148 #define ETH_TX_DATA_2ND_BD_DST_PORT_MODE_SHIFT 6
0149 #define ETH_TX_DATA_2ND_BD_START_BD_MASK 0x1
0150 #define ETH_TX_DATA_2ND_BD_START_BD_SHIFT 8
0151 #define ETH_TX_DATA_2ND_BD_TUNN_TYPE_MASK 0x3
0152 #define ETH_TX_DATA_2ND_BD_TUNN_TYPE_SHIFT 9
0153 #define ETH_TX_DATA_2ND_BD_TUNN_INNER_IPV6_MASK 0x1
0154 #define ETH_TX_DATA_2ND_BD_TUNN_INNER_IPV6_SHIFT 11
0155 #define ETH_TX_DATA_2ND_BD_IPV6_EXT_MASK 0x1
0156 #define ETH_TX_DATA_2ND_BD_IPV6_EXT_SHIFT 12
0157 #define ETH_TX_DATA_2ND_BD_TUNN_IPV6_EXT_MASK 0x1
0158 #define ETH_TX_DATA_2ND_BD_TUNN_IPV6_EXT_SHIFT 13
0159 #define ETH_TX_DATA_2ND_BD_L4_UDP_MASK 0x1
0160 #define ETH_TX_DATA_2ND_BD_L4_UDP_SHIFT 14
0161 #define ETH_TX_DATA_2ND_BD_L4_PSEUDO_CSUM_MODE_MASK 0x1
0162 #define ETH_TX_DATA_2ND_BD_L4_PSEUDO_CSUM_MODE_SHIFT 15
0163 __le16 bitfields2;
0164 #define ETH_TX_DATA_2ND_BD_L4_HDR_START_OFFSET_W_MASK 0x1FFF
0165 #define ETH_TX_DATA_2ND_BD_L4_HDR_START_OFFSET_W_SHIFT 0
0166 #define ETH_TX_DATA_2ND_BD_RESERVED0_MASK 0x7
0167 #define ETH_TX_DATA_2ND_BD_RESERVED0_SHIFT 13
0168 };
0169
0170
0171 struct eth_edpm_fw_data {
0172 struct eth_tx_data_1st_bd data_1st_bd;
0173 struct eth_tx_data_2nd_bd data_2nd_bd;
0174 __le32 reserved;
0175 };
0176
0177
0178 struct eth_tunnel_parsing_flags {
0179 u8 flags;
0180 #define ETH_TUNNEL_PARSING_FLAGS_TYPE_MASK 0x3
0181 #define ETH_TUNNEL_PARSING_FLAGS_TYPE_SHIFT 0
0182 #define ETH_TUNNEL_PARSING_FLAGS_TENNANT_ID_EXIST_MASK 0x1
0183 #define ETH_TUNNEL_PARSING_FLAGS_TENNANT_ID_EXIST_SHIFT 2
0184 #define ETH_TUNNEL_PARSING_FLAGS_NEXT_PROTOCOL_MASK 0x3
0185 #define ETH_TUNNEL_PARSING_FLAGS_NEXT_PROTOCOL_SHIFT 3
0186 #define ETH_TUNNEL_PARSING_FLAGS_FIRSTHDRIPMATCH_MASK 0x1
0187 #define ETH_TUNNEL_PARSING_FLAGS_FIRSTHDRIPMATCH_SHIFT 5
0188 #define ETH_TUNNEL_PARSING_FLAGS_IPV4_FRAGMENT_MASK 0x1
0189 #define ETH_TUNNEL_PARSING_FLAGS_IPV4_FRAGMENT_SHIFT 6
0190 #define ETH_TUNNEL_PARSING_FLAGS_IPV4_OPTIONS_MASK 0x1
0191 #define ETH_TUNNEL_PARSING_FLAGS_IPV4_OPTIONS_SHIFT 7
0192 };
0193
0194
0195 struct eth_pmd_flow_flags {
0196 u8 flags;
0197 #define ETH_PMD_FLOW_FLAGS_VALID_MASK 0x1
0198 #define ETH_PMD_FLOW_FLAGS_VALID_SHIFT 0
0199 #define ETH_PMD_FLOW_FLAGS_TOGGLE_MASK 0x1
0200 #define ETH_PMD_FLOW_FLAGS_TOGGLE_SHIFT 1
0201 #define ETH_PMD_FLOW_FLAGS_RESERVED_MASK 0x3F
0202 #define ETH_PMD_FLOW_FLAGS_RESERVED_SHIFT 2
0203 };
0204
0205
0206 struct eth_fast_path_rx_reg_cqe {
0207 u8 type;
0208 u8 bitfields;
0209 #define ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_MASK 0x7
0210 #define ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_SHIFT 0
0211 #define ETH_FAST_PATH_RX_REG_CQE_TC_MASK 0xF
0212 #define ETH_FAST_PATH_RX_REG_CQE_TC_SHIFT 3
0213 #define ETH_FAST_PATH_RX_REG_CQE_RESERVED0_MASK 0x1
0214 #define ETH_FAST_PATH_RX_REG_CQE_RESERVED0_SHIFT 7
0215 __le16 pkt_len;
0216 struct parsing_and_err_flags pars_flags;
0217 __le16 vlan_tag;
0218 __le32 rss_hash;
0219 __le16 len_on_first_bd;
0220 u8 placement_offset;
0221 struct eth_tunnel_parsing_flags tunnel_pars_flags;
0222 u8 bd_num;
0223 u8 reserved;
0224 __le16 reserved2;
0225 __le32 flow_id_or_resource_id;
0226 u8 reserved1[7];
0227 struct eth_pmd_flow_flags pmd_flags;
0228 };
0229
0230
0231 struct eth_fast_path_rx_tpa_cont_cqe {
0232 u8 type;
0233 u8 tpa_agg_index;
0234 __le16 len_list[ETH_TPA_CQE_CONT_LEN_LIST_SIZE];
0235 u8 reserved;
0236 u8 reserved1;
0237 __le16 reserved2[ETH_TPA_CQE_CONT_LEN_LIST_SIZE];
0238 u8 reserved3[3];
0239 struct eth_pmd_flow_flags pmd_flags;
0240 };
0241
0242
0243 struct eth_fast_path_rx_tpa_end_cqe {
0244 u8 type;
0245 u8 tpa_agg_index;
0246 __le16 total_packet_len;
0247 u8 num_of_bds;
0248 u8 end_reason;
0249 __le16 num_of_coalesced_segs;
0250 __le32 ts_delta;
0251 __le16 len_list[ETH_TPA_CQE_END_LEN_LIST_SIZE];
0252 __le16 reserved3[ETH_TPA_CQE_END_LEN_LIST_SIZE];
0253 __le16 reserved1;
0254 u8 reserved2;
0255 struct eth_pmd_flow_flags pmd_flags;
0256 };
0257
0258
0259 struct eth_fast_path_rx_tpa_start_cqe {
0260 u8 type;
0261 u8 bitfields;
0262 #define ETH_FAST_PATH_RX_TPA_START_CQE_RSS_HASH_TYPE_MASK 0x7
0263 #define ETH_FAST_PATH_RX_TPA_START_CQE_RSS_HASH_TYPE_SHIFT 0
0264 #define ETH_FAST_PATH_RX_TPA_START_CQE_TC_MASK 0xF
0265 #define ETH_FAST_PATH_RX_TPA_START_CQE_TC_SHIFT 3
0266 #define ETH_FAST_PATH_RX_TPA_START_CQE_RESERVED0_MASK 0x1
0267 #define ETH_FAST_PATH_RX_TPA_START_CQE_RESERVED0_SHIFT 7
0268 __le16 seg_len;
0269 struct parsing_and_err_flags pars_flags;
0270 __le16 vlan_tag;
0271 __le32 rss_hash;
0272 __le16 len_on_first_bd;
0273 u8 placement_offset;
0274 struct eth_tunnel_parsing_flags tunnel_pars_flags;
0275 u8 tpa_agg_index;
0276 u8 header_len;
0277 __le16 bw_ext_bd_len_list[ETH_TPA_CQE_START_BW_LEN_LIST_SIZE];
0278 __le16 reserved2;
0279 __le32 flow_id_or_resource_id;
0280 u8 reserved[3];
0281 struct eth_pmd_flow_flags pmd_flags;
0282 };
0283
0284
0285 enum eth_l4_pseudo_checksum_mode {
0286 ETH_L4_PSEUDO_CSUM_CORRECT_LENGTH,
0287 ETH_L4_PSEUDO_CSUM_ZERO_LENGTH,
0288 MAX_ETH_L4_PSEUDO_CHECKSUM_MODE
0289 };
0290
0291 struct eth_rx_bd {
0292 struct regpair addr;
0293 };
0294
0295
0296 struct eth_slow_path_rx_cqe {
0297 u8 type;
0298 u8 ramrod_cmd_id;
0299 u8 error_flag;
0300 u8 reserved[25];
0301 __le16 echo;
0302 u8 reserved1;
0303 struct eth_pmd_flow_flags pmd_flags;
0304 };
0305
0306
0307 union eth_rx_cqe {
0308 struct eth_fast_path_rx_reg_cqe fast_path_regular;
0309 struct eth_fast_path_rx_tpa_start_cqe fast_path_tpa_start;
0310 struct eth_fast_path_rx_tpa_cont_cqe fast_path_tpa_cont;
0311 struct eth_fast_path_rx_tpa_end_cqe fast_path_tpa_end;
0312 struct eth_slow_path_rx_cqe slow_path;
0313 };
0314
0315
0316 enum eth_rx_cqe_type {
0317 ETH_RX_CQE_TYPE_UNUSED,
0318 ETH_RX_CQE_TYPE_REGULAR,
0319 ETH_RX_CQE_TYPE_SLOW_PATH,
0320 ETH_RX_CQE_TYPE_TPA_START,
0321 ETH_RX_CQE_TYPE_TPA_CONT,
0322 ETH_RX_CQE_TYPE_TPA_END,
0323 MAX_ETH_RX_CQE_TYPE
0324 };
0325
0326 struct eth_rx_pmd_cqe {
0327 union eth_rx_cqe cqe;
0328 u8 reserved[ETH_RX_CQE_GAP];
0329 };
0330
0331 enum eth_rx_tunn_type {
0332 ETH_RX_NO_TUNN,
0333 ETH_RX_TUNN_GENEVE,
0334 ETH_RX_TUNN_GRE,
0335 ETH_RX_TUNN_VXLAN,
0336 MAX_ETH_RX_TUNN_TYPE
0337 };
0338
0339
0340 enum eth_tpa_end_reason {
0341 ETH_AGG_END_UNUSED,
0342 ETH_AGG_END_SP_UPDATE,
0343 ETH_AGG_END_MAX_LEN,
0344 ETH_AGG_END_LAST_SEG,
0345 ETH_AGG_END_TIMEOUT,
0346 ETH_AGG_END_NOT_CONSISTENT,
0347 ETH_AGG_END_OUT_OF_ORDER,
0348 ETH_AGG_END_NON_TPA_SEG,
0349 MAX_ETH_TPA_END_REASON
0350 };
0351
0352
0353 struct eth_tx_1st_bd {
0354 struct regpair addr;
0355 __le16 nbytes;
0356 struct eth_tx_data_1st_bd data;
0357 };
0358
0359
0360 struct eth_tx_2nd_bd {
0361 struct regpair addr;
0362 __le16 nbytes;
0363 struct eth_tx_data_2nd_bd data;
0364 };
0365
0366
0367 struct eth_tx_data_3rd_bd {
0368 __le16 lso_mss;
0369 __le16 bitfields;
0370 #define ETH_TX_DATA_3RD_BD_TCP_HDR_LEN_DW_MASK 0xF
0371 #define ETH_TX_DATA_3RD_BD_TCP_HDR_LEN_DW_SHIFT 0
0372 #define ETH_TX_DATA_3RD_BD_HDR_NBD_MASK 0xF
0373 #define ETH_TX_DATA_3RD_BD_HDR_NBD_SHIFT 4
0374 #define ETH_TX_DATA_3RD_BD_START_BD_MASK 0x1
0375 #define ETH_TX_DATA_3RD_BD_START_BD_SHIFT 8
0376 #define ETH_TX_DATA_3RD_BD_RESERVED0_MASK 0x7F
0377 #define ETH_TX_DATA_3RD_BD_RESERVED0_SHIFT 9
0378 u8 tunn_l4_hdr_start_offset_w;
0379 u8 tunn_hdr_size_w;
0380 };
0381
0382
0383 struct eth_tx_3rd_bd {
0384 struct regpair addr;
0385 __le16 nbytes;
0386 struct eth_tx_data_3rd_bd data;
0387 };
0388
0389
0390 struct eth_tx_data_4th_bd {
0391 u8 dst_vport_id;
0392 u8 reserved4;
0393 __le16 bitfields;
0394 #define ETH_TX_DATA_4TH_BD_DST_VPORT_ID_VALID_MASK 0x1
0395 #define ETH_TX_DATA_4TH_BD_DST_VPORT_ID_VALID_SHIFT 0
0396 #define ETH_TX_DATA_4TH_BD_RESERVED1_MASK 0x7F
0397 #define ETH_TX_DATA_4TH_BD_RESERVED1_SHIFT 1
0398 #define ETH_TX_DATA_4TH_BD_START_BD_MASK 0x1
0399 #define ETH_TX_DATA_4TH_BD_START_BD_SHIFT 8
0400 #define ETH_TX_DATA_4TH_BD_RESERVED2_MASK 0x7F
0401 #define ETH_TX_DATA_4TH_BD_RESERVED2_SHIFT 9
0402 __le16 reserved3;
0403 };
0404
0405
0406 struct eth_tx_4th_bd {
0407 struct regpair addr;
0408 __le16 nbytes;
0409 struct eth_tx_data_4th_bd data;
0410 };
0411
0412
0413 struct eth_tx_data_bd {
0414 __le16 reserved0;
0415 __le16 bitfields;
0416 #define ETH_TX_DATA_BD_RESERVED1_MASK 0xFF
0417 #define ETH_TX_DATA_BD_RESERVED1_SHIFT 0
0418 #define ETH_TX_DATA_BD_START_BD_MASK 0x1
0419 #define ETH_TX_DATA_BD_START_BD_SHIFT 8
0420 #define ETH_TX_DATA_BD_RESERVED2_MASK 0x7F
0421 #define ETH_TX_DATA_BD_RESERVED2_SHIFT 9
0422 __le16 reserved3;
0423 };
0424
0425
0426 struct eth_tx_bd {
0427 struct regpair addr;
0428 __le16 nbytes;
0429 struct eth_tx_data_bd data;
0430 };
0431
0432 union eth_tx_bd_types {
0433 struct eth_tx_1st_bd first_bd;
0434 struct eth_tx_2nd_bd second_bd;
0435 struct eth_tx_3rd_bd third_bd;
0436 struct eth_tx_4th_bd fourth_bd;
0437 struct eth_tx_bd reg_bd;
0438 };
0439
0440
0441 enum eth_tx_tunn_type {
0442 ETH_TX_TUNN_GENEVE,
0443 ETH_TX_TUNN_TTAG,
0444 ETH_TX_TUNN_GRE,
0445 ETH_TX_TUNN_VXLAN,
0446 MAX_ETH_TX_TUNN_TYPE
0447 };
0448
0449
0450 struct mstorm_eth_queue_zone {
0451 struct eth_rx_prod_data rx_producers;
0452 __le32 reserved[3];
0453 };
0454
0455
0456 struct xstorm_eth_queue_zone {
0457 struct coalescing_timeset int_coalescing_timeset;
0458 u8 reserved[7];
0459 };
0460
0461
0462 struct eth_db_data {
0463 u8 params;
0464 #define ETH_DB_DATA_DEST_MASK 0x3
0465 #define ETH_DB_DATA_DEST_SHIFT 0
0466 #define ETH_DB_DATA_AGG_CMD_MASK 0x3
0467 #define ETH_DB_DATA_AGG_CMD_SHIFT 2
0468 #define ETH_DB_DATA_BYPASS_EN_MASK 0x1
0469 #define ETH_DB_DATA_BYPASS_EN_SHIFT 4
0470 #define ETH_DB_DATA_RESERVED_MASK 0x1
0471 #define ETH_DB_DATA_RESERVED_SHIFT 5
0472 #define ETH_DB_DATA_AGG_VAL_SEL_MASK 0x3
0473 #define ETH_DB_DATA_AGG_VAL_SEL_SHIFT 6
0474 u8 agg_flags;
0475 __le16 bd_prod;
0476 };
0477
0478
0479 enum rss_hash_type {
0480 RSS_HASH_TYPE_DEFAULT = 0,
0481 RSS_HASH_TYPE_IPV4 = 1,
0482 RSS_HASH_TYPE_TCP_IPV4 = 2,
0483 RSS_HASH_TYPE_IPV6 = 3,
0484 RSS_HASH_TYPE_TCP_IPV6 = 4,
0485 RSS_HASH_TYPE_UDP_IPV4 = 5,
0486 RSS_HASH_TYPE_UDP_IPV6 = 6,
0487 MAX_RSS_HASH_TYPE
0488 };
0489
0490 #endif