DPDK usage discussions
 help / color / mirror / Atom feed
* Unable to Restart a Session
@ 2022-10-14  4:52 Robert Van Rooyen
  0 siblings, 0 replies; only message in thread
From: Robert Van Rooyen @ 2022-10-14  4:52 UTC (permalink / raw)
  To: users

[-- Attachment #1: Type: text/plain, Size: 2363 bytes --]

I have an application where a call netOpen() and netClose() multiple times
within the same process (see below) to create, use, and destroy a session.
The first session works fine, however after the second netOpen() call I
never receive any packets from the destination device on the network. I
tried various sequences with the API that seemed reasonable, but I cannot
get the second netOpen() to receive any packets. It may also be the case
that the transmit never happens and as a consequence nothing is received
from the destination device on the network. Note that netInit() is called
once at the start of the application process and netShutdown() is called
when the application terminates. Are there any obvious issues with the
sequences listed that would prevent a subsequent session from working in
terms of transmit and receive?

netInit() // Called once at start of application

rte_log_set_global_level(…) // Set global log level
rte_eal_init(…)  // Initialize EAL
rte_eth_dev_count_avail // Determine the number of ports
rte_pktmbuf_pool_create(…)  // Create memory pool
rte_lcore_count()  // Validate cores
For each port

rte_eth_dev_reset(…)  // Reset port

rte_eth_dev_set_link_up(…)  // Bring up link on port

Wait for link to come up or timeout

rte_eth_link_get_nowait(…)

For each port

rte_eth_dev_socket_id(…)  // Validate polling threads

netOpen() // Called by the application when creating a session

rte_eth_dev_get_port_by_name(…) // Get the name of the port
rte_eth_dev_stop(…)  // Stop the port
rte_eth_dev_info_get(…)  // Get device info
rte_eth_dev_configure(…)  // Configure device
rte_eth_dev_adjust_nb_rx_tx_desc(…)  // Adjust descriptors
For each rx queue

rte_eth_rx_queue_setup(…)  // Setup receive queues

For each tx queue

rte_eth_tx_queue_setup(…)  // Setup transmit queues

rte_eth_promiscuous_enable(…)  // Enable promiscuous mode

rte_eth_macaddr_get(…)  // Store MAC address

rte_ring_create(…)  // Create receive ring

rte_eth_dev_start(…)   // Start the port

netClose()  // Called by the application when destroying a session

rte_eth_dev_stop(…)  // Stop the port
rte_ring_free(…)  // Free the receive ring

netShutdown() // Called once at termination of application

rte_eal_cleanup()  // Release all resources

[-- Attachment #2: Type: text/html, Size: 4473 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-10-14  4:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-14  4:52 Unable to Restart a Session Robert Van Rooyen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).