support packet_tag_set/get()

This commit is contained in:
luwenpeng
2024-11-22 10:30:51 +08:00
parent 5dbaa67160
commit 6c9e6e3fbe
4 changed files with 28 additions and 4 deletions

View File

@@ -956,18 +956,30 @@ uint16_t packet_get_payload_len(const struct packet *pkt)
void packet_set_exdata(struct packet *pkt, int idx, void *ex_ptr)
{
struct exdata_runtime *exdata_rt = (struct exdata_runtime *)packet_get_user_data(pkt);
struct exdata_runtime *exdata_rt = (struct exdata_runtime *)pkt->user_data;
assert(exdata_rt);
exdata_set(exdata_rt, idx, ex_ptr);
}
void *packet_get_exdata(struct packet *pkt, int idx)
void *packet_get_exdata(const struct packet *pkt, int idx)
{
struct exdata_runtime *exdata_rt = (struct exdata_runtime *)packet_get_user_data(pkt);
struct exdata_runtime *exdata_rt = (struct exdata_runtime *)pkt->user_data;
assert(exdata_rt);
return exdata_get(exdata_rt, idx);
}
void packet_tag_set(struct packet *pkt, uint64_t key_bits, uint64_t val_bits)
{
pkt->tag_key_bits |= key_bits;
pkt->tag_val_bits |= val_bits;
}
void packet_tag_get(const struct packet *pkt, uint64_t *key_bits, uint64_t *val_bits)
{
*key_bits = pkt->tag_key_bits;
*val_bits = pkt->tag_val_bits;
}
void packet_set_user_data(struct packet *pkt, void *data)
{
pkt->user_data = data;