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

Reply via email to