Hi Eelco,

On 9/3/2021 8:02 PM, Eelco Chaudron wrote:

On 15 Jul 2021, at 8:01, Chris Mi wrote:

    This patch set adds offload support for sFlow.

    Psample is a genetlink channel for packet sampling. TC action
    act_sample
    uses psample to send sampled packets to userspace.

    When offloading sample action to TC, userspace creates a unique ID to
    map sFlow action and tunnel info and passes this ID to kernel instead
    of the sFlow info. psample will send this ID and sampled packet to
    userspace. Using the ID, userspace can recover the sFlow info and
    send
    sampled packet to the right sFlow monitoring host.

Hi Chris,

One thing missing from this patchset is a test case. I think we should add it, as I’m going over this manually every patch iteration.

Sure. I'll check existing test cases and see how to add them.

I would add the following:

 *

    Set the sample rate to 1, send 100 packets and make sure you
    receive all of them

      o Also, verify the output of “ovs-appctl dpctl/dump-flows
        system@ovs-system type=tc” is correct, i.e., matches the
        kernel output

OK.

 *
 *

    Set the sample rate to 10, send 100 packets and make sure you
    receive 10.

We have some internal ovs test cases to verify sFlow offload. From our experience, we can't verify sFlow easily using so less packets. We send a lot of traffic in a certain
period and verify the packet number is between a range.

BTW, I'm not sure if you are aware of that our driver change for sFlow offload is upstreamed. The main change is in file: drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c .

 *
      o Also, verify the output of “ovs-appctl dpctl/dump-flows
        system@ovs-system type=tc” is correct, i.e., matches the
        kernel output

Cheers,

Eelco

PS: I also had a problem where only one packet got sent to the collector, and then no more packets would arrive. Of course, when I added some debug code, it never happened, and when removing the debug code, it also worked fine :( Did you ever experience something like this? I will play a bit more when reviewing specific code, maybe it will happen again.

Are you testing with other_config:hw-offload="true" and other_config:tc-policy=skip_hw? Actually, our internal test cases have been running for a long time. We haven't found such issue yet :)
Anyway, I'll pay attention to this issue to see if I can reproduce it.

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

Reply via email to