From: Matias Elo <matias....@nokia.com> This is a bug fix for old API. Map pktin/pktout queues to netmap rings in netmap_start() instead of netmap_*put_queues_config() for backward compatibility with inq_setdef API.
Signed-off-by: Matias Elo <matias....@nokia.com> --- platform/linux-generic/pktio/netmap.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c index ed5159b..a347d29 100644 --- a/platform/linux-generic/pktio/netmap.c +++ b/platform/linux-generic/pktio/netmap.c @@ -207,9 +207,6 @@ static int netmap_input_queues_config(pktio_entry_t *pktio_entry, pktio->in_queue[i].pktin.index = i; pktio->in_queue[i].pktin.pktio = pktio_entry->s.handle; } - /* Map pktin queues to netmap rings */ - map_netmap_rings(pkt_nm->rx_desc_ring, num_queues, - pkt_nm->num_rx_rings); pkt_nm->lockless_rx = single_user; @@ -241,15 +238,13 @@ static int netmap_output_queues_config(pktio_entry_t *pktio_entry, if (num_queues == pktio_entry->s.num_out_queue) /* Already configured */ return 0; - /* Enough to map only one netmap tx ring per pktout queue */ - map_netmap_rings(pkt_nm->tx_desc_ring, num_queues, num_queues); - for (i = 0; i < num_queues; i++) { pktio->out_queue[i].pktout.index = i; pktio->out_queue[i].pktout.pktio = pktio_entry->s.handle; } pkt_nm->desc_state = NM_DESC_INVALID; pktio_entry->s.num_out_queue = num_queues; + return 0; } @@ -481,6 +476,17 @@ static int netmap_start(pktio_entry_t *pktio_entry) netmap_close_descriptors(pktio_entry); + /* Map pktin/pktout queues to netmap rings */ + if (pktio_entry->s.num_in_queue) + map_netmap_rings(pkt_nm->rx_desc_ring, + pktio_entry->s.num_in_queue, + pkt_nm->num_rx_rings); + if (pktio_entry->s.num_out_queue) + /* Enough to map only one netmap tx ring per pktout queue */ + map_netmap_rings(pkt_nm->tx_desc_ring, + pktio_entry->s.num_out_queue, + pktio_entry->s.num_out_queue); + base_desc.self = &base_desc; base_desc.mem = NULL; memcpy(base_desc.req.nr_name, pktio_entry->s.name, -- 2.6.3 _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp