Hi, On Wed, May 09, 2018 at 03:34:37PM +0300, Wisam Jaddo wrote: > 1- Add new forward topology (custom): This toplogy will > allow to create any topoloy you may need. > 2- Add new command to set the custom toplogy. > 3- Add new command to set the topoly on the fly.
I have had the same kind of issues when developping a PMD for a prototype NIC that had some queues behaving weirdly, or when using testpmd for regression testing with a incompatible topology that was impossible to change. I think this use-case is important for testpmd and this should be useful for many people. I think however that your approach is not flexible enough. One should not only be able to edit ports pairing, but also select specific (Rx) queue. Additionally, it should be possible to change the lcore forwarding a specific pair. Testpmd uses the concept of streams internally. I think the only way to have enough flexibility here is to expose this concept as a set of commands to define custom streams, and then to bind those streams to sets of lcores. You have found after testing that TX queues cannot be shared. This tool is also used for pure IO performance regression testing. Adding the support for shared TX queues would impact this use-case and I think this is not acceptable. At the very least, the default configuration should not be impacted (and I think compile-time options are now frowned upon). This is the reason it should be necessary to be able to define the set of lcores doing the forwarding: The lcore defines the TX queue used by a stream, this way the current testpmd arch is respected. Regards, -- Gaëtan Rivet 6WIND