net/mlx5: support descriptor LWM for Rx queue
[dpdk.git] / drivers / net / vmxnet3 / vmxnet3_rxtx.c
index e15b377..a875ffe 100644 (file)
@@ -759,6 +759,23 @@ vmxnet3_rx_offload(struct vmxnet3_hw *hw, const Vmxnet3_RxCompDesc *rcd,
                /* Check packet type, checksum errors, etc. */
                if (rcd->cnc) {
                        ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN;
+
+                       if (rcd->v4) {
+                               packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;
+                               if (rcd->tcp)
+                                       packet_type |= RTE_PTYPE_L4_TCP;
+                               else if (rcd->udp)
+                                       packet_type |= RTE_PTYPE_L4_UDP;
+                       } else if (rcd->v6) {
+                               packet_type |= RTE_PTYPE_L3_IPV6_EXT_UNKNOWN;
+                               if (rcd->tcp)
+                                       packet_type |= RTE_PTYPE_L4_TCP;
+                               else if (rcd->udp)
+                                       packet_type |= RTE_PTYPE_L4_UDP;
+                       } else {
+                               packet_type |= RTE_PTYPE_UNKNOWN;
+                       }
+
                } else {
                        if (rcd->v4) {
                                packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;
@@ -1400,7 +1417,7 @@ vmxnet3_rss_configure(struct rte_eth_dev *dev)
        /* loading hashKeySize */
        dev_rss_conf->hashKeySize = VMXNET3_RSS_MAX_KEY_SIZE;
        /* loading indTableSize: Must not exceed VMXNET3_RSS_MAX_IND_TABLE_SIZE (128)*/
-       dev_rss_conf->indTableSize = (uint16_t)(hw->num_rx_queues * 4);
+       dev_rss_conf->indTableSize = (uint16_t)((MAX_RX_QUEUES(hw)) * 4);
 
        if (port_rss_conf->rss_key == NULL) {
                /* Default hash key */