Added segmentation and head-/tailroom information to packet
print out.
Signed-off-by: Petri Savolainen <[email protected]>
---
platform/linux-generic/odp_packet.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/platform/linux-generic/odp_packet.c
b/platform/linux-generic/odp_packet.c
index 10fbded..2d9e3e6 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -1395,6 +1395,7 @@ int odp_packet_move_data(odp_packet_t pkt, uint32_t
dst_offset,
void odp_packet_print(odp_packet_t pkt)
{
+ odp_packet_seg_t seg;
int max_len = 512;
char str[max_len];
int len = 0;
@@ -1421,6 +1422,25 @@ void odp_packet_print(odp_packet_t pkt)
len += snprintf(&str[len], n - len,
" input %" PRIu64 "\n",
odp_pktio_to_u64(hdr->input));
+ len += snprintf(&str[len], n - len,
+ " headroom %" PRIu32 "\n",
+ odp_packet_headroom(pkt));
+ len += snprintf(&str[len], n - len,
+ " tailroom %" PRIu32 "\n",
+ odp_packet_tailroom(pkt));
+ len += snprintf(&str[len], n - len,
+ " num_segs %i\n", odp_packet_num_segs(pkt));
+
+ seg = odp_packet_first_seg(pkt);
+
+ while (seg != ODP_PACKET_SEG_INVALID) {
+ len += snprintf(&str[len], n - len,
+ " seg_len %" PRIu32 "\n",
+ odp_packet_seg_data_len(pkt, seg));
+
+ seg = odp_packet_next_seg(pkt, seg);
+ }
+
str[len] = '\0';
ODP_PRINT("\n%s\n", str);
--
2.8.1