Hi Stephen,
I am testing UDP IPv4 offloads. Earlier with failsafe PMD , my dpdk app would subscribe to hotplug add and delete callbacks. In Hotplug add callback the appropriate mbuf flags were set for hardware to perform checksum offload and in hotplug delete, the function pointer was modified to calculate checksum in software.
To test netvsc PMD, I have commented out the code in hotplug callbacks to understand what happens. As you mentioned, as part of hotplug add, hn_vf_add restores all the VF offloads and it works as expected. In case of hotplug removal, I notice that even in the absence of software checksum , the packets are reaching the destination with the correct checksum. The dpdk app continues to set mbuf flags for offload in the sender. I expected packets to be dropped at the sender because offloads should be absent as VF is removed. Does netvsc pmd calculate checksum if mbuf checksum offload flags are set and VF is absent?

Regards,
Nandini

On Thu, Oct 24, 2024 at 2:38 PM Nandini Rangaswamy <nandini.rangaswamy@broadcom.com> wrote:
Hi Stephen/Long,
I did some more code instrumentation and I observed that when a hotplug add event is received, the conf is applied back to VF and offloads work as expected.
I also observe that when VF is removed, the offloads still continue to work as expected. Is this because the offloads are not unset when VF is removed ?
Regards,
Nandini

On Thu, Oct 24, 2024 at 9:33 AM Stephen Hemminger <stephen@networkplumber.org> wrote:
On Wed, 23 Oct 2024 13:34:53 -0700
Nandini Rangaswamy <nandini.rangaswamy@broadcom.com> wrote:

> Hi Stephen,
> The code looking at checksum flags in each packet would not give us desired
> performance. Instead, should the dpdk app register callbacks for hotplug
> add and re-configure the checksum offloads when VF is added again?
> Regards,
> Nandini

The code in hn_vf_add which is where netvsc PMD handles hot add of VF
should be feeding the current offload settings to the VF.

Maybe the rte_eth_conf being passed to VF is incorrect, or
the configuration step there is failing. Probably need more instrumentation
and logs to tell.

This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.