diff options
| author | songyanchao <[email protected]> | 2024-06-27 07:57:23 +0000 |
|---|---|---|
| committer | songyanchao <[email protected]> | 2024-06-27 07:57:23 +0000 |
| commit | 3ac025e2578a8a9fe2da632912d7fe78dfdcb01f (patch) | |
| tree | e2a2e919eb9d8cf5064a42fdca3865ae419e3808 /include | |
| parent | 06f515f5fee9457b99841cfd3bb42bcf31f91f7d (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.h | 6 | ||||
| -rw-r--r-- | include/internal/mrb_define.h | 5 |
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; |
