summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorsongyanchao <[email protected]>2024-06-27 07:57:23 +0000
committersongyanchao <[email protected]>2024-06-27 07:57:23 +0000
commit3ac025e2578a8a9fe2da632912d7fe78dfdcb01f (patch)
treee2a2e919eb9d8cf5064a42fdca3865ae419e3808 /include
parent06f515f5fee9457b99841cfd3bb42bcf31f91f7d (diff)
✨ feat: Add switch for BFD discriminator mode.wy-project-support
1.Add switch for BFD discriminator mode. 2.Update VXLAN encapsulation construction function. 3.Enhance EF support to set source port range for VXLAN.
Diffstat (limited to 'include')
-rw-r--r--include/internal/metadata_define.h6
-rw-r--r--include/internal/mrb_define.h5
2 files changed, 10 insertions, 1 deletions
diff --git a/include/internal/metadata_define.h b/include/internal/metadata_define.h
index e092810..ef4ecbc 100644
--- a/include/internal/metadata_define.h
+++ b/include/internal/metadata_define.h
@@ -20,6 +20,8 @@ struct mrb_metadata_route_ctx
union {
struct
{
+ uint8_t vxlan_id_half_high;
+ uint8_t vxlan_id_half_low;
uint16_t ef_peer_index;
uint16_t ef_link_id;
};
@@ -68,6 +70,8 @@ int buffer_metadata_get(marsio_buff_t * m, enum mr_buff_metadata_type type, void
if (mrb_metadata->adapter_type == ADAPTER_TYPE_EF)
{
+ route_ctx->vxlan_id_half_high = mrb_metadata->vxlan_id_half_high;
+ route_ctx->vxlan_id_half_low = mrb_metadata->vxlan_id_half_low;
route_ctx->ef_peer_index = mrb_metadata->ef_peer_index;
route_ctx->ef_link_id = mrb_metadata->ef_link_id;
}
@@ -199,6 +203,8 @@ int buffer_metadata_set(marsio_buff_t * m, enum mr_buff_metadata_type type, void
if (route_ctx->adapter_type == ADAPTER_TYPE_EF)
{
+ mrb_metadata->vxlan_id_half_high = route_ctx->vxlan_id_half_high;
+ mrb_metadata->vxlan_id_half_low = route_ctx->vxlan_id_half_low;
mrb_metadata->ef_peer_index = route_ctx->ef_peer_index;
mrb_metadata->ef_link_id = route_ctx->ef_link_id;
}
diff --git a/include/internal/mrb_define.h b/include/internal/mrb_define.h
index 7bb23ab..3158fea 100644
--- a/include/internal/mrb_define.h
+++ b/include/internal/mrb_define.h
@@ -17,10 +17,13 @@ struct mrb_zone_idx
/* mbuf common metadata */
struct mrb_metadata
{
+ uint8_t vxlan_id_half_high;
+
/* status */
uint8_t dir : 1;
uint8_t packet_create_from_nf : 1;
- uint8_t no_use : 6;
+ uint8_t vxlan_id_half_low : 4;
+ uint8_t no_use : 2;
uint8_t is_ctrlbuf : 1;
uint8_t adapter_type : 2;