[dpdk-dev] Segmentation fault when creating a hash table in the example of pipeline (ROUTING type)
Victor Huertas
vhuertas at gmail.com
Thu Apr 19 14:33:53 CEST 2018
Hi all,
I have tried to run the pipeline example with a ROUTING pipeline where I
configured n_arp_entries=8 as well as the arp_key_offset = 192.
It compiles perfectly but when it reaches the line where the
rte_pipeline_table_create is (see below a fragment of the source code of
the pipeline_routing_init function at pipeline_routing.be.cpp file) it
always crashes with a segmentation fault at the
rte_table_hash_create_key8_ext() function.
I am completely stuck due to this issue. Has some bug being declared
regarding this table creation function?
/* ARP table configuration */
if (p_rt->params.n_arp_entries) {
struct rte_table_hash_key8_ext_params table_arp_params;
table_arp_params.n_entries = p_rt->params.n_arp_entries;
table_arp_params.n_entries_ext = p_rt->params.n_arp_entries;
table_arp_params.f_hash = hash_default_key8;
table_arp_params.seed = 0;
table_arp_params.signature_offset = 0; /* Unused */
table_arp_params.key_offset = p_rt->params.arp_key_offset;
struct rte_pipeline_table_params table_params = {
.ops = &rte_table_hash_key8_ext_dosig_ops,
.arg_create = &table_arp_params,
.f_action_hit = get_arp_table_ah_hit(p_rt),
.f_action_miss = NULL,
.arg_ah = p_rt,
.action_data_size = sizeof(struct arp_table_entry) -
sizeof(struct rte_pipeline_table_entry),
};
int status;
status = rte_pipeline_table_create(p->p,
&table_params,
&p->table_id[1]);
if (status) {
rte_pipeline_free(p->p);
rte_free(p);
return NULL;
}
p->n_tables++;
}
Thanks
--
Victor
More information about the dev
mailing list