Hi Pavan,

snipped
> >
> >Should we check & warn the user if
> >1. port speed mismatch
> >2. on different NUMA
> >3. port pairs are physical and vdev like tap, and KNI (performance).
> >
> 
> Sure, it can be a separate patch as it will be applicable for multiple 
> examples.
I believe this patch is for example `l2fwd`. But you would like to have to 
updated for all `example`. I am ok for this.

snipped
> >
> >Should not the check_port_pair be after this? If the port is not
> >enabled in port_mask will you skip that pair? or skip RX-TX from that port?
> 
> We check every port pair against l2fwd_enabled_port_mask in
> check_port_pair_config()


> 
snipped
> >
> >As mentioned above there can ports in mask which might be disabled for
> >port pair. Should not that be skipped rather than setting last port rx-
> >tx loopback?
> 
> There could be scenarios where user might want to test 2x10G and 1x40G Why
> force the user to explicitly mention 1x40G as port pair of itself in the 
> portpair
> config?
I am not sure if I follow your thought, as your current port map only allows 
`1:1` mapping by `struct port_pair_params`. This can be to self like 
`(port0:port0),(port1:port1)` or `(port-0:port-1)`.

1. But current `l2fwd_parse_port_pair_config` does not consider the same port 
mapping as we have hard check for `if (nb_port_pair_params >= 
RTE_MAX_ETHPORTS/2)`. 

2. `l2fwd_enabled_port_mask` is global variable of user port mask. This can 
contain both valid and invalid mask. Hence we check `l2fwd_enabled_port_mask & 
~((1 << nb_ports) - 1)`.

3. can these scenarios are true if we invoke `check_port_pair_config` before 
actual port_mask check.
 a. there are only 4 ports, hence possible mask is `0xf`.
 b. user passes port argument as `0xe`
 c. `check_port_pair_config` gets masks for `(1,3)` as input and populates 
`port_pair_config_mask`.
 d.  As per the code, port 2 which is valid port and part of user port mask 
will have lastport (which is port 3)? May be I did understand the logic 
correct. Can you help me?

So my concerns are 1) there is no same port mapping, 2) my understanding on 
lastport logic is not clear and 3) as per the code there is 1:N but 1:1.

Hence there should be sufficient warning to user if port are of wrong speed and 
NUMA.

Note: current speed can be fetched only if the port are started too (in 
Fortville). 

snipped

Reply via email to