summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorsongyanchao <[email protected]>2023-02-08 06:54:28 +0000
committersongyanchao <[email protected]>2023-02-08 06:54:28 +0000
commit0f0ffa3b6f8ecb6d73b4884983fc8cc4b9604471 (patch)
treed433e57b501717ab2786373d23b078270699b289 /app/src
parenta3801360451ccd2da65ac704192474aad7163f0e (diff)
✨ feat(TSG-13497): mrb_metadata 新增成员 ‘link_id’ ‘hash_usr’
mrb_metadata 新增成员 ‘link_id’ ‘hash_usr’
Diffstat (limited to 'app/src')
-rw-r--r--app/src/mrb.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/app/src/mrb.c b/app/src/mrb.c
index 120dafb..8291c23 100644
--- a/app/src/mrb.c
+++ b/app/src/mrb.c
@@ -124,7 +124,8 @@ marsio_buff_t * marsio_buff_getnext_pkt(marsio_buff_t * m)
}
void marsio_buff_chain_pkt(marsio_buff_t * pkt, marsio_buff_t * next)
-{}
+{
+}
void marsio_buff_reset(marsio_buff_t * m)
{
@@ -558,9 +559,11 @@ uint32_t marsio_buff_get_rehash_index(marsio_buff_t * m)
struct mrb_metadata_route_ctx
{
uint8_t dir;
+ uint8_t link_id;
uint16_t port_ingress;
uint16_t port_egress;
uint16_t link_db_index;
+ uint32_t hash_usr;
};
int marsio_buff_get_metadata(marsio_buff_t * m, enum mr_buff_metadata_type type, void * data, unsigned int sz_data)
@@ -583,6 +586,8 @@ int marsio_buff_get_metadata(marsio_buff_t * m, enum mr_buff_metadata_type type,
route_ctx->port_ingress = mrb_metadata->port_ingress;
route_ctx->port_egress = mrb_metadata->port_egress;
route_ctx->link_db_index = mrb_metadata->link_db_index;
+ route_ctx->link_id = mrb_metadata->link_id;
+ route_ctx->hash_usr = mbuf->hash.usr;
}
return sizeof(struct mrb_metadata_route_ctx);
@@ -622,6 +627,8 @@ int marsio_buff_set_metadata(marsio_buff_t * m, enum mr_buff_metadata_type type,
mrb_metadata->port_ingress = route_ctx->port_ingress;
mrb_metadata->port_egress = route_ctx->port_egress;
mrb_metadata->link_db_index = route_ctx->link_db_index;
+ mrb_metadata->link_id = route_ctx->link_id;
+ mbuf->hash.usr = route_ctx->hash_usr;
return 0;
}
@@ -668,7 +675,6 @@ int marsio_buff_set_sid_list(marsio_buff_t * m, sid_t * slist, uint8_t sz_slist)
return 0;
}
-
int marsio_buff_append_sid_list(marsio_buff_t * m, sid_t * slist, uint8_t sz_slist)
{
assert(0);
@@ -681,7 +687,7 @@ int marsio_buff_prepend_sid_list(marsio_buff_t * m, sid_t * slist, uint8_t sz_sl
return 0;
}
-int marsio_buff_get_current_sid(marsio_buff_t *m, sid_t * sid)
+int marsio_buff_get_current_sid(marsio_buff_t * m, sid_t * sid)
{
struct rte_mbuf * mbuf = (struct rte_mbuf *)m;
struct mrb_metadata * mrb_metadata = (struct mrb_metadata *)mrbuf_cz_data(mbuf, MR_NODE_CTRLZONE_ID);
@@ -708,7 +714,6 @@ enum
SMARTOFFLOAD_REQ_TYPE_AGE = 1,
};
-
marsio_buff_t * marsio_buff_malloc_smartoffload(struct mr_vdev * vdev, const char * pkt, unsigned int pkt_len)
{
marsio_buff_t * bufs[1];