drivers/net: build i40e and mlx5 on Windows
[dpdk.git] / drivers / net / netvsc / hn_ethdev.c
index f7a02ef..49f9543 100644 (file)
@@ -48,6 +48,7 @@
 #define NETVSC_ARG_LATENCY "latency"
 #define NETVSC_ARG_RXBREAK "rx_copybreak"
 #define NETVSC_ARG_TXBREAK "tx_copybreak"
+#define NETVSC_ARG_RX_EXTMBUF_ENABLE "rx_extmbuf_enable"
 
 struct hn_xstats_name_off {
        char name[RTE_ETH_XSTATS_NAME_SIZE];
@@ -164,6 +165,10 @@ static int hn_set_parameter(const char *key, const char *value, void *opaque)
                hv->tx_copybreak = v;
                PMD_DRV_LOG(DEBUG, "tx copy break set to %u",
                            hv->tx_copybreak);
+       } else if (!strcmp(key, NETVSC_ARG_RX_EXTMBUF_ENABLE)) {
+               hv->rx_extmbuf_enable = v;
+               PMD_DRV_LOG(DEBUG, "rx extmbuf enable set to %u",
+                           hv->rx_extmbuf_enable);
        }
 
        return 0;
@@ -178,6 +183,7 @@ static int hn_parse_args(const struct rte_eth_dev *dev)
                NETVSC_ARG_LATENCY,
                NETVSC_ARG_RXBREAK,
                NETVSC_ARG_TXBREAK,
+               NETVSC_ARG_RX_EXTMBUF_ENABLE,
                NULL
        };
        struct rte_kvargs *kvlist;
@@ -980,6 +986,7 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
        hv->latency = HN_CHAN_LATENCY_NS;
        hv->rx_copybreak = HN_RXCOPY_THRESHOLD;
        hv->tx_copybreak = HN_TXCOPY_THRESHOLD;
+       hv->rx_extmbuf_enable = HN_RX_EXTMBUF_ENABLE;
        hv->max_queues = 1;
 
        rte_rwlock_init(&hv->vf_lock);
@@ -1140,4 +1147,5 @@ RTE_LOG_REGISTER(hn_logtype_driver, pmd.net.netvsc.driver, NOTICE);
 RTE_PMD_REGISTER_PARAM_STRING(net_netvsc,
                              NETVSC_ARG_LATENCY "=<uint32> "
                              NETVSC_ARG_RXBREAK "=<uint32> "
-                             NETVSC_ARG_TXBREAK "=<uint32>");
+                             NETVSC_ARG_TXBREAK "=<uint32> "
+                             NETVSC_ARG_RX_EXTMBUF_ENABLE "=<0|1>");