Hi Eelco, I do remember testing with this. I don't have full logs as such. But from one of the mail I had sent out I found below logs (this is with the change of course) where it's offloaded to TC (PSB). [ Because there seems to be support needed in HW driver (which is not present) and hence flows are not offloaded to HW which is expected]. But as you can see flows are in *dp:tc*.. (I can see 39 packets... so it's not only the first one). Not sure if anything got changed post that which might have caused this to fail now.
[root@rhos-nfv-09 ~]# ovs-appctl dpctl/dump-flows -m ufid:edb7d581-9f14-42df-9e50-69a4923e1dbd, skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(enp4s0f0_0),packet_type(ns=0/0,id=0/0),eth(src=6a:62:68:b2:61:f6,dst=66:f0:e4:1e:2c:bb),eth_type(0x0800),ipv4(src= 0.0.0.0/0.0.0.0,dst=5.5.5.2/255.255.255.254,proto=0/0,tos=0/0x3,ttl=0/0,frag=no), packets:39, bytes:3276, used:0.260s, *dp:tc*, actions:set(tunnel(tun_id=0x0,src=10.10.10.1,dst=10.10.10.2,ttl=64,flags(key))),erspan_sys,enp4s0f0_1 ufid:519d8cfd-9821-467f-9f61-e2bf61cdde60, skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(enp4s0f0_1),packet_type(ns=0/0,id=0/0),eth(src=66:f0:e4:1e:2c:bb,dst=6a:62:68:b2:61:f6),eth_type(0x0800),ipv4(src= 0.0.0.0/0.0.0.0,dst=5.5.5.2/255.255.255.254,proto=0/0,tos=0/0x3,ttl=0/0,frag=no), packets:39, bytes:3276, used:0.260s, *dp:tc*, actions:enp4s0f0_0,set(tunnel(tun_id=0x0,src=10.10.10.1,dst=10.10.10.2,ttl=64,flags(key))),erspan_sys [root@rhos-nfv-09 ~]# JFYI, Without this change still flows won't get offloaded to TC. Below is the error what I used to get and the flows used to be in *dp:ovs* 2022-02-25T14:33:04.134Z|00151|netdev_offload_tc|INFO|init: failed to get ifindex for erspan0: Operation not supported 2022-02-25T14:33:04.134Z|00152|netdev_offload|INFO|erspan0: No suitable flow API found. Thanks & Regards, Abhiram R N On Mon, Jul 4, 2022 at 7:48 PM Eelco Chaudron <[email protected]> wrote: > > > On 5 Apr 2022, at 0:48, Ilya Maximets wrote: > > > On 3/23/22 14:01, Eelco Chaudron wrote: > >> > >> > >> On 23 Mar 2022, at 11:43, Abhiram R N wrote: > >> > >>> When enabling offload for ERSPAN we are seeing one error as below > >>> > >>> netdev_offload_tc|INFO|init: failed to get ifindex for erspan0: > >>> Operation not supported > >>> netdev_offload|INFO|erspan0: No suitable flow API found. > >>> > >>> Adding the NETDEV_VPORT_GET_IFINDEX to ERSPAN device resolves this > >>> error > >> > >> The change looks good to me, but there is no real unit test to verify > this, and I have no real setup to test this. > >> > >> So based on a pure visible and compile only check: > >> > >> Acked-by: Eelco Chaudron <[email protected]> > >> > >>> Signed-off-by: Abhiram R N <[email protected]> > >>> --- > > > > I don't see why this can cause any problems or why this callback > > wasn't set from the beginning, so applied. Thanks! > > > > Best regards, Ilya Maximets. > > Hi Abhiram/Ilya, > > Guess it takes a while but basic ping seems to be failing when offloading > to TC with t his change. > > If you enable TC offload the following tests are failing on latest master: > > datapath - ping over erspan v1 tunnel FAILED ( > system-traffic.at:467) > datapath - ping over erspan v2 tunnel FAILED ( > system-traffic.at:504) > datapath - ping over ip6erspan v1 tunnel FAILED ( > system-traffic.at:544) > datapath - ping over ip6erspan v2 tunnel FAILED ( > system-traffic.at:585) > > > For example the following diff causes the first test to fail with tc: > > > diff --git a/tests/system-traffic.at b/tests/system-traffic.at > index e16ea6027..fa6b84b4e 100644 > --- a/tests/system-traffic.at > +++ b/tests/system-traffic.at > @@ -440,6 +440,9 @@ OVS_CHECK_GRE() > OVS_CHECK_ERSPAN() > > OVS_TRAFFIC_VSWITCHD_START() > + > +ovs-vsctl --no-wait set Open_vSwitch . other_config:hw-offload=true > + > ADD_BR([br-underlay]) > > AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"]) > > > I think it’s because we are not adding any of the erspan fields to the > offload tunnel encapsulated. > > > Abhiram, wondering if this was really working in your case, as it seems > only the first packet is passed on. > > I guess we might need to undo this change, or you need to come up with a > fix for this. > > > Cheers, > > Eelco > > -- Always put yourself in others' shoes. If you feel that it hurts you, it probably hurts the other person, too. Regards ABHIRAM _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
