> On Jan 30, 2017, at 5:00 AM, Yigit, Ferruh <ferruh.yi...@intel.com> wrote: > > On 1/29/2017 2:12 AM, Keith Wiles wrote: >> The tap driver setup both rx and tx file descriptors when the >> rte_eth_rx_queue_setup() causing the tx to be closed when tx setup >> was called. > > Can you please describe the problem more. > Without this patch rx->fd == tx->fd, with this patch rx and tx has > different file descriptors.
Let me look at this more, I am getting the same FD for both. Must be something else going on. > > What was the wrong with rx and tx having same fd? > > As far as I can see, rte_eth_rx_queue_setup() won't close tx->fd, that > function will do nothing if rx or tx has valid fd. The rte_eth_rx_queue_setup() look at line 1146 if rxq has a value then release it, which happens on both Rx/Tx code rxq = dev->data->rx_queues; if (rxq[rx_queue_id]) { RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_release, -ENOTSUP); (*dev->dev_ops->rx_queue_release)(rxq[rx_queue_id]); rxq[rx_queue_id] = NULL; } if (rx_conf == NULL) rx_conf = &dev_info.default_rxconf; ret = (*dev->dev_ops->rx_queue_setup)(dev, rx_queue_id, nb_rx_desc, socket_id, rx_conf, mp); > >> >> Signed-off-by: Keith Wiles <keith.wi...@intel.com> > > <...> Regards, Keith