net/mlx4: refine Rx packet type report
This commit refines the Rx Packet type flags reported by the PMD for each packet being received in order to make the report more accurate. Signed-off-by: Moti Haimovsky <motih@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This commit is contained in:
parent
e48a9fc364
commit
c4fbea4bce
@ -51,6 +51,7 @@ enum {
|
||||
};
|
||||
|
||||
/* CQE status flags. */
|
||||
#define MLX4_CQE_STATUS_IPV6F (1 << 12)
|
||||
#define MLX4_CQE_STATUS_IPV4 (1 << 22)
|
||||
#define MLX4_CQE_STATUS_IPV4F (1 << 23)
|
||||
#define MLX4_CQE_STATUS_IPV6 (1 << 24)
|
||||
|
@ -52,49 +52,58 @@ uint32_t mlx4_ptype_table[0x100] __rte_cache_aligned = {
|
||||
* bit[4] - MLX4_CQE_STATUS_TCP
|
||||
* bit[3] - MLX4_CQE_STATUS_IPV4OPT
|
||||
* bit[2] - MLX4_CQE_STATUS_IPV6
|
||||
* bit[1] - MLX4_CQE_STATUS_IPV4F
|
||||
* bit[1] - MLX4_CQE_STATUS_IPF
|
||||
* bit[0] - MLX4_CQE_STATUS_IPV4
|
||||
* giving a total of up to 256 entries.
|
||||
*/
|
||||
/* L2 */
|
||||
[0x00] = RTE_PTYPE_L2_ETHER,
|
||||
/* L3 */
|
||||
[0x01] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[0x02] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[0x03] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[0x04] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN,
|
||||
[0x09] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT,
|
||||
[0x04] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[0x06] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[0x08] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[0x09] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[0x0a] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[0x0b] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
/* TCP */
|
||||
[0x11] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[0x12] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[0x14] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[0x16] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[0x18] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[0x19] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[0x1a] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
/* UDP */
|
||||
[0x21] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[0x22] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[0x24] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[0x26] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[0x28] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[0x29] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[0x2a] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
/* Tunneled - L3 IPV6 */
|
||||
[0x80] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN,
|
||||
[0x81] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[0x82] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
@ -102,65 +111,58 @@ uint32_t mlx4_ptype_table[0x100] __rte_cache_aligned = {
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0x84] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN,
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[0x86] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0x88] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[0x89] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[0x8a] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_FRAG,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0x8b] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
/* Tunneled - L3 IPV6, TCP */
|
||||
[0x91] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0x92] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0x93] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0x94] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0x96] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0x98] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_TCP,
|
||||
[0x99] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0x9a] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_TCP,
|
||||
/* Tunneled - L3 IPV6, UDP */
|
||||
[0xa1] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
[0xa1] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xa2] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xa3] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xa4] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
[0xa4] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xa8] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
[0xa6] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0xa8] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xa9] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
[0xa9] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xaa] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* Tunneled - L3 IPV4 */
|
||||
[0xc0] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN,
|
||||
[0xc1] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[0xc2] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
@ -168,65 +170,54 @@ uint32_t mlx4_ptype_table[0x100] __rte_cache_aligned = {
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0xc4] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN,
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[0xc6] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0xc8] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[0xc9] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[0xca] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0xcb] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
/* Tunneled - L3 IPV4, TCP */
|
||||
[0xd0] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0xd1] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0xd2] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0xd3] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0xd4] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0xd6] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0xd8] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0xd9] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[0xda] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
/* Tunneled - L3 IPV4, UDP */
|
||||
[0xe0] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xe1] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xe2] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xe3] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xe4] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xe6] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[0xe8] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_UDP,
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xe9] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_UDP,
|
||||
[0xea] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_FRAG |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
};
|
||||
|
||||
@ -728,11 +719,13 @@ rxq_cq_to_pkt_type(volatile struct mlx4_cqe *cqe,
|
||||
* bit[4] - MLX4_CQE_STATUS_TCP
|
||||
* bit[3] - MLX4_CQE_STATUS_IPV4OPT
|
||||
* bit[2] - MLX4_CQE_STATUS_IPV6
|
||||
* bit[1] - MLX4_CQE_STATUS_IPV4F
|
||||
* bit[1] - MLX4_CQE_STATUS_IPF
|
||||
* bit[0] - MLX4_CQE_STATUS_IPV4
|
||||
* giving a total of up to 256 entries.
|
||||
*/
|
||||
idx |= ((status & MLX4_CQE_STATUS_PTYPE_MASK) >> 22);
|
||||
if (status & MLX4_CQE_STATUS_IPV6)
|
||||
idx |= ((status & MLX4_CQE_STATUS_IPV6F) >> 11);
|
||||
return mlx4_ptype_table[idx];
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user