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

Reply via email to