New upstream version 18.11-rc3
[deb_dpdk.git] / examples / flow_filtering / main.c
index ce91e8a..a582ac0 100644 (file)
@@ -121,7 +121,6 @@ init_port(void)
        struct rte_eth_conf port_conf = {
                .rxmode = {
                        .split_hdr_size = 0,
-                       .offloads = DEV_RX_OFFLOAD_CRC_STRIP,
                },
                .txmode = {
                        .offloads =
@@ -132,27 +131,13 @@ init_port(void)
                                DEV_TX_OFFLOAD_SCTP_CKSUM  |
                                DEV_TX_OFFLOAD_TCP_TSO,
                },
-               /*
-                * Initialize fdir_conf of rte_eth_conf.
-                * Fdir is used in flow filtering for I40e,
-                * so rte_flow rules involve some fdir
-                * configurations. In long term it's better
-                * that drivers don't require any fdir
-                * configuration for rte_flow, but we need to
-                * get this workaround so that sample app can
-                * run on I40e.
-                */
-               .fdir_conf = {
-                       .mode = RTE_FDIR_MODE_PERFECT,
-                       .pballoc = RTE_FDIR_PBALLOC_64K,
-                       .status = RTE_FDIR_REPORT_STATUS,
-                       .drop_queue = 127,
-               },
        };
        struct rte_eth_txconf txq_conf;
        struct rte_eth_rxconf rxq_conf;
        struct rte_eth_dev_info dev_info;
 
+       rte_eth_dev_info_get(port_id, &dev_info);
+       port_conf.txmode.offloads &= dev_info.tx_offload_capa;
        printf(":: initializing port: %d\n", port_id);
        ret = rte_eth_dev_configure(port_id,
                                nr_queues, nr_queues, &port_conf);
@@ -162,7 +147,6 @@ init_port(void)
                        ret, port_id);
        }
 
-       rte_eth_dev_info_get(port_id, &dev_info);
        rxq_conf = dev_info.default_rxconf;
        rxq_conf.offloads = port_conf.rxmode.offloads;
        /* only set Rx queues: something we care only so far */