diff options
Diffstat (limited to 'include/internal')
| -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; |
