aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Savolainen <petri.savolainen@linaro.org>2017-08-24 16:21:51 +0300
committerMaxim Uvarov <maxim.uvarov@linaro.org>2017-09-14 17:01:38 +0300
commit6efe7d971a3a4b8f7eaa42660b48eee31493924c (patch)
tree8f36929edf2bd2c62904ef6499a6b9f63ec6b64d
parentef4e4d4c4ef1f9f569c236494cb178feb7c90343 (diff)
linux-gen: packet: enhance segment prints
Print segment addresses and reference counts in addition to segment lengths. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
-rw-r--r--platform/linux-generic/odp_packet.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c
index 1a21ab0c6..5990f878d 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -1579,11 +1579,13 @@ int _odp_packet_cmp_data(odp_packet_t pkt, uint32_t offset,
* ********************************************************
*
*/
-
void odp_packet_print(odp_packet_t pkt)
{
odp_packet_seg_t seg;
- int max_len = 512;
+ seg_entry_t *seg_entry;
+ odp_packet_hdr_t *seg_hdr;
+ uint8_t idx;
+ int max_len = 1024;
char str[max_len];
int len = 0;
int n = max_len - 1;
@@ -1619,12 +1621,22 @@ void odp_packet_print(odp_packet_t pkt)
len += snprintf(&str[len], n - len,
" num_segs %i\n", odp_packet_num_segs(pkt));
+ seg_hdr = hdr;
+ idx = 0;
seg = odp_packet_first_seg(pkt);
while (seg != ODP_PACKET_SEG_INVALID) {
+ odp_buffer_hdr_t *buf_hdr;
+
+ seg_entry = seg_entry_next(&seg_hdr, &idx);
+ buf_hdr = seg_entry->hdr;
+
len += snprintf(&str[len], n - len,
- " seg_len %" PRIu32 "\n",
- odp_packet_seg_data_len(pkt, seg));
+ " seg_len %-4" PRIu32 " seg_data %p ",
+ odp_packet_seg_data_len(pkt, seg),
+ odp_packet_seg_data(pkt, seg));
+ len += snprintf(&str[len], n - len, "ref_cnt %u\n",
+ buffer_ref(buf_hdr));
seg = odp_packet_next_seg(pkt, seg);
}