Re: [PATCH net-next v1 3/3] net/mlx5e: TC, Add support for VxLAN GBP encap/decap flows offload
From: Alexander Lobakin
Date: Wed Feb 15 2023 - 11:55:38 EST
From: Gavin Li <gavinl@xxxxxxxxxx>
Date: Wed, 15 Feb 2023 10:50:04 +0800
>
> On 2/14/2023 11:26 PM, Alexander Lobakin wrote:
>> External email: Use caution opening links or attachments
>>
>>
>> From: Gavin Li <gavinl@xxxxxxxxxx>
>> Date: Tue, 14 Feb 2023 15:41:37 +0200
>>
>>> Add HW offloading support for TC flows with VxLAN GBP encap/decap.
[...]
>>> @@ -96,6 +99,70 @@ static int mlx5e_gen_ip_tunnel_header_vxlan(char
>>> buf[],
>>> udp->dest = tun_key->tp_dst;
>>> vxh->vx_flags = VXLAN_HF_VNI;
>>> vxh->vx_vni = vxlan_vni_field(tun_id);
>>> + if (tun_key->tun_flags & TUNNEL_VXLAN_OPT) {
>>> + md = ip_tunnel_info_opts((struct ip_tunnel_info
>>> *)e->tun_info);
>>> + vxlan_build_gbp_hdr(vxh, tun_key->tun_flags,
>>> + (struct vxlan_metadata *)md);
>> Maybe constify both ip_tunnel_info_opts() and vxlan_build_gbp_hdr()
>> arguments instead of working around by casting away?
> The reason to cast it is a WA to use ip_tunnel_info_opts which takes
> non-const arg while>
> e->tun_info here is a const one.
That's what I'm asking - why not make ip_tunnel_info_opts() and
vxlan_build_gbp_hdr() take const tun_info?
>
>>
>>> + }
>>> +
>>> + return 0;
>>> +}
[...]
Thanks,
Olek