Re: [PATCH net-next v1 1/3] vxlan: Expose helper vxlan_build_gbp_hdr

Alexander Lobakin
2023-02-14T14:58:36Z

From: Gavin Li <gavinl@nvidia.com>
Date: Tue, 14 Feb 2023 15:41:35 +0200

> vxlan_build_gbp_hdr will be used by other modules to build gbp option in
> vxlan header according to gbp flags.

(not sure if it's okay to write abbreviations with non-capital)

>
> Change-Id: I10d8dd31d6048e1fcd08cd76ee3bcd3029053552
> Signed-off-by: Gavin Li <gavinl@nvidia.com>
> Reviewed-by: Roi Dayan <roid@nvidia.com>
> Reviewed-by: Maor Dickman <maord@nvidia.com>
> Acked-by: Saeed Mahameed <saeedm@nvidia.com>

Besides the nit above:

Reviewed-by: Alexander Lobakin <alexandr.lobakin@intel.com>

> ---
> drivers/net/vxlan/vxlan_core.c | 20 --------------------
> include/net/vxlan.h | 20 ++++++++++++++++++++
> 2 files changed, 20 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c
> index b1b179effe2a..bd44467a5a39 100644
> --- a/drivers/net/vxlan/vxlan_core.c
> +++ b/drivers/net/vxlan/vxlan_core.c
> @@ -2140,26 +2140,6 @@ static bool route_shortcircuit(struct net_device *dev, struct sk_buff *skb)
> return false;
> }
>
> -static void vxlan_build_gbp_hdr(struct vxlanhdr *vxh, u32 vxflags,
> - struct vxlan_metadata *md)
> -{
> - struct vxlanhdr_gbp *gbp;
> -
> - if (!md->gbp)
> - return;
> -
> - gbp = (struct vxlanhdr_gbp *)vxh;
> - vxh->vx_flags |= VXLAN_HF_GBP;
> -
> - if (md->gbp & VXLAN_GBP_DONT_LEARN)
> - gbp->dont_learn = 1;
> -
> - if (md->gbp & VXLAN_GBP_POLICY_APPLIED)
> - gbp->policy_applied = 1;
> -
> - gbp->policy_id = htons(md->gbp & VXLAN_GBP_ID_MASK);
> -}
> -
> static int vxlan_build_gpe_hdr(struct vxlanhdr *vxh, u32 vxflags,
> __be16 protocol)
> {
> diff --git a/include/net/vxlan.h b/include/net/vxlan.h
> index bca5b01af247..08bc762a7e94 100644
> --- a/include/net/vxlan.h
> +++ b/include/net/vxlan.h
> @@ -566,4 +566,24 @@ static inline bool vxlan_fdb_nh_path_select(struct nexthop *nh,
> return true;
> }
>
> +static inline void vxlan_build_gbp_hdr(struct vxlanhdr *vxh, u32 vxflags,
> + struct vxlan_metadata *md)
> +{
> + struct vxlanhdr_gbp *gbp;
> +
> + if (!md->gbp)
> + return;
> +
> + gbp = (struct vxlanhdr_gbp *)vxh;
> + vxh->vx_flags |= VXLAN_HF_GBP;
> +
> + if (md->gbp & VXLAN_GBP_DONT_LEARN)
> + gbp->dont_learn = 1;
> +
> + if (md->gbp & VXLAN_GBP_POLICY_APPLIED)
> + gbp->policy_applied = 1;
> +
> + gbp->policy_id = htons(md->gbp & VXLAN_GBP_ID_MASK);
> +}
> +
> #endif

Thanks,
Olek