summaryrefslogtreecommitdiff
path: root/include/internal
diff options
context:
space:
mode:
Diffstat (limited to 'include/internal')
-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;