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