vxlan_build_gbp_hdr will be used by other modules to build gbp option in
vxlan header according to gbp flags.
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>
---
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
--
2.31.1
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
On 2/14/2023 10:56 PM, Alexander Lobakin wrote: > External email: Use caution opening links or attachments > > > 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) Don't sure either but most of the functions in vxlan (if not all) are declared in this way. > >> 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
© 2016 - 2025 Red Hat, Inc.