[PATCH 12/54] net/bnxt/tf_ulp: add support for special vxlan
Manish Kurup
manish.kurup at broadcom.com
Tue Sep 30 02:35:22 CEST 2025
From: Smitha Pisupati <smitha.pisupati at broadcom.com>
Some special vxlan packets have extra padding bytes between
the vxlan header and inner eth header. Thor2 is required to
forward those packets as is, and not drop them.
To make this possible, following changes were made:
1. Don't check on the l2 header type in the default template
2. Based on a feature bit called special_vxlan, enable the support
to pass the special packets. With feature bits disabled, normal vxlan
should still pass.
Signed-off-by: Manish Kurup <manish.kurup at broadcom.com>
Reviewed-by: Kishore Padmanabha <kishore.padmanabha at broadcom.com>
---
drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h
index c8b6f544ca..08934eac3f 100644
--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h
+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h
@@ -1069,7 +1069,6 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits)
#else
uint64_t bit = 0;
#endif
-
*out_bits = 0;
if ((feat_bits | bit) != feat_bits) {
BNXT_DRV_DBG(ERR, "Invalid TF feature bit is set %" PRIu64 "\n",
@@ -1090,6 +1089,9 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits)
BNXT_DRV_DBG(ERR, "Multi Tunnel Flow Feature is enabled\n");
if (bit & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE)
BNXT_DRV_DBG(ERR, "Multi Instance Feature is enabled\n");
+ if (bit & BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN)
+ BNXT_DRV_DBG(ERR, "Special VXLAN Feature is enabled\n");
+
*out_bits = bit;
return 0;
--
2.39.5 (Apple Git-154)
More information about the dev
mailing list