diff options
Diffstat (limited to 'service/include/sc_node_common.h')
| -rw-r--r-- | service/include/sc_node_common.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/service/include/sc_node_common.h b/service/include/sc_node_common.h index 53432dc..70f7de4 100644 --- a/service/include/sc_node_common.h +++ b/service/include/sc_node_common.h @@ -117,3 +117,29 @@ static inline int mr_is_local_addr(struct mr_dev_desc * dev_desc, struct mr_gene #define MR_IS_IPV6_SOLICITED_NODE_MCAST(x) \ (x[0] == 0xFF && x[1] == 0x02 && x[2] == 0x00 && x[3] == 0x00 && x[4] == 0x00 && x[5] == 0x00 && x[6] == 0x00 && \ x[7] == 0x00 && x[8] == 0x00 && x[9] == 0x00 && x[10] == 0x00 && x[11] == 0x01 && x[12] == 0xFF) + +#define METADATA_INFO \ + "dir:%u, nf_create:%u, is_ctrlbuf:%u, adapter_type:%u, adapter_id:%u, payload_offset:%u, " \ + "user_0:%u, ef_link_id:%u, traffic_link_id:%u, ef_peer_index:%u, port_ingress:%u, port_egress:%u, " \ + "session_id:%lu, cur_sid:%u, sids:%u,%u,%u,%u,%u,%u,%u,%u .\n" + +static inline void mrb_metadata_pktmbuf_dump(const struct rte_mbuf * m) +{ + char str_metadata[1024] = {}; + + struct mrb_metadata * mrb_meta = (struct mrb_metadata *)mrbuf_cz_data(m, MR_NODE_CTRLZONE_ID); + + snprintf(str_metadata, sizeof(str_metadata), METADATA_INFO, mrb_meta->dir, mrb_meta->packet_create_from_nf, + mrb_meta->is_ctrlbuf, mrb_meta->adapter_type, mrb_meta->adapter_id, mrb_meta->payload_offset, + mrb_meta->user_0, mrb_meta->ef_link_id, mrb_meta->traffic_link_id, mrb_meta->ef_peer_index, + mrb_meta->port_ingress, mrb_meta->port_egress, mrb_meta->session_id, mrb_meta->cur_sid, + mrb_meta->sid_list.sids[0], mrb_meta->sid_list.sids[1], mrb_meta->sid_list.sids[2], + mrb_meta->sid_list.sids[3], mrb_meta->sid_list.sids[4], mrb_meta->sid_list.sids[5], + mrb_meta->sid_list.sids[6], mrb_meta->sid_list.sids[7]); + + MR_ERROR("The pkt metadata: %s", str_metadata); + + rte_pktmbuf_dump(stderr, m, rte_pktmbuf_data_len(m)); + + return; +} |
