vxlan: Expose helper vxlan_build_gbp_hdr
The function vxlan_build_gbp_hdr will be used by other modules to build gbp option in vxlan header according to gbp flags. Signed-off-by: Gavin Li <gavinl@nvidia.com> Reviewed-by: Gavi Teitz <gavi@nvidia.com> Reviewed-by: Roi Dayan <roid@nvidia.com> Reviewed-by: Maor Dickman <maord@nvidia.com> Acked-by: Saeed Mahameed <saeedm@nvidia.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
df5e87f16c
commit
c641e9279f
|
@ -2093,25 +2093,6 @@ static bool route_shortcircuit(struct net_device *dev, struct sk_buff *skb)
|
|||
return false;
|
||||
}
|
||||
|
||||
static void vxlan_build_gbp_hdr(struct vxlanhdr *vxh, 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, __be16 protocol)
|
||||
{
|
||||
struct vxlanhdr_gpe *gpe = (struct vxlanhdr_gpe *)vxh;
|
||||
|
|
|
@ -572,4 +572,23 @@ static inline bool vxlan_fdb_nh_path_select(struct nexthop *nh,
|
|||
return true;
|
||||
}
|
||||
|
||||
static inline void vxlan_build_gbp_hdr(struct vxlanhdr *vxh, const 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
|
||||
|
|
Loading…
Reference in New Issue