Kevin Traynor, Dec 21, 2022 at 17:35:
> Hi Robin,
>
> I did a bit of testing and some comments. I tested out applying a 
> config. I wasn't able to check for lacp traffic, but I did see the extra 
> rxq being added and rss working as expected on the other rx queues.
>
> One issue I found is where flow cannot be applied. It is recovering but 
> when there is a reconfigure, everytime it uses n_rxq+1, and then 
> reconfigures again with n_rxq.
>
> For example (flow normally ok for mlx, i forced a fail):
> $ ovs-vsctl get Interface myport status
> {bus_info="bus_name=pci, vendor_id=15b3, device_id=1017", 
> cp_protection=unsupported, driver_name=mlx5_pci, if_descr="DPDK 22.11.1 
> mlx5_pci", if_type="6", link_speed="25Gbps", max_hash_mac_addrs="0", 
> max_mac_addrs="128", max_rx_pktlen="1518", max_rx_queues="1024", 
> max_tx_queues="1024", max_vfs="0", max_vmdq_pools="0", 
> min_rx_bufsize="32", numa_id="0", port_no="2"}
>
> $ ovs-vsctl get Interface myport options:n_rxq
> "3"
>
> change some config unrelated with rxq (snipped irrelevant parts):
> $ ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=100
>
> INFO|Performing pmd to rx queue assignment using cycles algorithm.
> INFO|Core  8 on numa node 0 assigned port 'myport' rx queue 2
> INFO|Core  8 on numa node 0 assigned port 'myport' rx queue 1
> INFO|Core  8 on numa node 0 assigned port 'myport' rx queue 0
> INFO|Core  8 on numa node 0 assigned port 'myport' rx queue 3
> INFO|Port 2: 04:3f:72:c2:07:b8
> INFO|Performing pmd to rx queue assignment using cycles algorithm.
> INFO|Core  8 on numa node 0 assigned port 'myport' rx queue 0
> INFO|Core  8 on numa node 0 assigned port 'myport' rx queue 1
> INFO|Core  8 on numa node 0 assigned port 'myport' rx queue 2
>
> If I remove the option:cp-protection, things return to normal.

Hmm, that is weird, I'll have a closer look.

> It would also be nice to document how to remove it from a port i.e.
> ovs-vsctl remove interface dpdk-p0 options cp-protection
>
> I was able to add/remove/add and it seemed fine. At present it only 
> gives a dbg message:
> 2022-12-21T16:00:43Z|00168|netdev_dpdk|DBG|myport: cp-protection: reset 
> flows and then it shows the reassignment of rxqs, so perhaps a message 
> at info level indicating cp-protection is being removed for that port 
> would be useful.

Ack, I will add a hint in the docs and some explicit info message
stating that cp protection is now disabled.

> I notice that if I set cp-prot, then enable hw-offload, I get:
> |WARN|myport: hw-offload is mutually exclusive with cp-protection
>
> It removes the cp-prot, but only mentions in debug log, so it's not 
> clear. I didn't check operation of hw-offload.
>
> Also saw that if I set hw-offload to false, cp-prot cannot operate as it 
> just checks for presence of hw-offload entry and rejects cp-prot even if 
> hw-offload=false.
>
> The main thing is cp-prot does not enable when hw-offload=true and that 
> is there at present. So probably just better logs can do for now. The 
> other combinations i'm testing are more test cases than realistic cases, 
> so as it's experimental perhaps it's fine to work on the different 
> combinations and more fine grained controls (e.g. hw-offload=false) later.

This is probably related to the fact that hw-offload cannot be disabled
entirely without restarting vswitchd (unrelated to my patch). This is
what I noticed but I may have got it wrong.

I'll have a look if this can be improved.

Thanks a lot for more testing!

Joyeux Noël & Bonne année, all :)

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to