test/crypto: skip validation of head/tailroom used by PMD
[dpdk.git] / examples / ipsec-secgw / ipsec-secgw.c
index 199bae5..ff576eb 100644 (file)
@@ -1439,6 +1439,12 @@ cryptodevs_init(void)
                dev_conf.socket_id = rte_cryptodev_socket_id(cdev_id);
                dev_conf.nb_queue_pairs = qp;
 
+               uint32_t dev_max_sess = cdev_info.sym.max_nb_sessions;
+               if (dev_max_sess != 0 && dev_max_sess < (CDEV_MP_NB_OBJS / 2))
+                       rte_exit(EXIT_FAILURE,
+                               "Device does not support at least %u "
+                               "sessions", CDEV_MP_NB_OBJS / 2);
+
                if (!socket_ctx[dev_conf.socket_id].session_pool) {
                        char mp_name[RTE_MEMPOOL_NAMESIZE];
                        struct rte_mempool *sess_mp;
@@ -1565,6 +1571,18 @@ port_init(uint16_t portid)
        if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_MBUF_FAST_FREE)
                local_port_conf.txmode.offloads |=
                        DEV_TX_OFFLOAD_MBUF_FAST_FREE;
+
+       local_port_conf.rx_adv_conf.rss_conf.rss_hf &=
+               dev_info.flow_type_rss_offloads;
+       if (local_port_conf.rx_adv_conf.rss_conf.rss_hf !=
+                       port_conf.rx_adv_conf.rss_conf.rss_hf) {
+               printf("Port %u modified RSS hash function based on hardware support,"
+                       "requested:%#"PRIx64" configured:%#"PRIx64"\n",
+                       portid,
+                       port_conf.rx_adv_conf.rss_conf.rss_hf,
+                       local_port_conf.rx_adv_conf.rss_conf.rss_hf);
+       }
+
        ret = rte_eth_dev_configure(portid, nb_rx_queue, nb_tx_queue,
                        &local_port_conf);
        if (ret < 0)