Hi Pavan, snipped > >> > >> Based on event device capability the configuration is done as follows: > >> - A single event device is enabled. > >> - The number of event ports is equal to the number of worker > >> cores enabled in the core mask. Additional event ports might > >> be configured based on Rx/Tx adapter capability. > >> - The number of event queues is equal to the number of ethernet > >> ports. If Tx adapter doesn't have internal port capability then > >> an additional single link event queue is used to enqueue events > >> to Tx adapter. > >1. Are we support per port function as 'mac_updating' and > >'non_macupdating'? > No, its global. Thanks for confirming, so all ports behaviour are affected by this flag.
> > >2. If no for above, why is that each port should have ` number of event > >queues is equal to the number of ethernet`? > > It's not a quantifier of each port, It across the eventdevice that the number > of > event queues is equal to number of ethdevices used. > > This is to prevent event queues being overcrowded i.e. in case there is only > one > event queue and multiple Eth devices then SW/HW will have a bottleneck in > enqueueing all the mbufs to a single event queue. Yes you are correct, but here is my confusion 1. let us assume there are 2 ports, ie: port 0 <==> port 1. 2. We have 4 workers and 2 event queue (2 ports, so Q-0 for port-0 and Q-11 for port-1) 3. The event mode (SW or HW) is parallel. 4. In this case we need to rely of Q-2 which can absorb the events for single-event TX adapter for L2FWD_EVENT_TX_ENQ. 5. But for L2FWD_EVENT_TX_DIRECT (which is to send packets out directly) this is not right form as multiple parallel workers may concurrently send out same destination port queue (as there is 1 TX configured). Can you help me understand, how this is worked around? > > >3. With this work for vdev ports, if no are we adding check for the > >same in `main` function? > > I have verified the functionality for --vdev=event_sw0 and it seems to work > fine. Thanks, so whether it is physical or virtual ethernet device all packets has to come to worker cores for 'no-mac-updating'. > > > > >snipped