examples/ipsec-secgw: fix use of ethdev internal struct
authorMarcin Zapolski <marcinx.a.zapolski@intel.com>
Wed, 17 Jul 2019 07:58:06 +0000 (09:58 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 18 Jul 2019 21:05:13 +0000 (23:05 +0200)
Modify ipsec-secgw example app to use rte_eth_dev_info_get instead of
rte_eth_dev.
Apps should not be using internal DPDK data structures directly.

Fixes: a4677f78368b ("examples/ipsec-secgw: add target queues in flow actions")
Cc: stable@dpdk.org
Signed-off-by: Marcin Zapolski <marcinx.a.zapolski@intel.com>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
examples/ipsec-secgw/ipsec.c

index d1cbdc3..f8fc49b 100644 (file)
@@ -189,23 +189,22 @@ create_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa)
                                        .rss_key = rss_key,
                                        .rss_key_len = 40,
                                };
-                               struct rte_eth_dev *eth_dev;
+                               struct rte_eth_dev_info dev_info;
                                uint16_t queue[RTE_MAX_QUEUES_PER_PORT];
                                struct rte_flow_action_rss action_rss;
                                unsigned int i;
                                unsigned int j;
 
+                               rte_eth_dev_info_get(sa->portid, &dev_info);
                                sa->action[2].type = RTE_FLOW_ACTION_TYPE_END;
                                /* Try RSS. */
                                sa->action[1].type = RTE_FLOW_ACTION_TYPE_RSS;
                                sa->action[1].conf = &action_rss;
-                               eth_dev = ctx->device;
                                rte_eth_dev_rss_hash_conf_get(sa->portid,
                                                              &rss_conf);
                                for (i = 0, j = 0;
-                                    i < eth_dev->data->nb_rx_queues; ++i)
-                                       if (eth_dev->data->rx_queues[i])
-                                               queue[j++] = i;
+                                    i < dev_info.nb_rx_queues; ++i)
+                                       queue[j++] = i;
                                action_rss = (struct rte_flow_action_rss){
                                        .types = rss_conf.rss_hf,
                                        .key_len = rss_conf.rss_key_len,