summaryrefslogtreecommitdiffstats
path: root/src/plugins/dpdk/device/format.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/dpdk/device/format.c')
-rw-r--r--src/plugins/dpdk/device/format.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c
index d43ab6b348f..1baf314acc9 100644
--- a/src/plugins/dpdk/device/format.c
+++ b/src/plugins/dpdk/device/format.c
@@ -56,8 +56,7 @@
_ (PKT_RX_L4_CKSUM_GOOD, "L4 cksum of RX pkt. is valid") \
_ (PKT_RX_IEEE1588_PTP, "RX IEEE1588 L2 Ethernet PT Packet") \
_ (PKT_RX_IEEE1588_TMST, "RX IEEE1588 L2/L4 timestamped packet") \
- _ (PKT_RX_QINQ_STRIPPED, "RX packet QinQ tags stripped") \
- _ (PKT_RX_TIMESTAMP, "Timestamp field is valid")
+ _ (PKT_RX_QINQ_STRIPPED, "RX packet QinQ tags stripped")
#define foreach_dpdk_pkt_type \
_ (L2, ETHER, "Ethernet packet") \
@@ -110,6 +109,9 @@
foreach_dpdk_pkt_rx_offload_flag \
foreach_dpdk_pkt_tx_offload_flag
+#define foreach_dpdk_pkt_dyn_rx_offload_flag \
+ _ (RX_TIMESTAMP, 0, "Timestamp field is valid")
+
u8 *
format_dpdk_device_name (u8 * s, va_list * args)
{
@@ -838,6 +840,8 @@ format_dpdk_pkt_offload_flags (u8 * s, va_list * va)
{
u64 *ol_flags = va_arg (*va, u64 *);
u32 indent = format_get_indent (s) + 2;
+ u64 rx_dynflag;
+ int rx_dynflag_offset;
if (!*ol_flags)
return s;
@@ -853,6 +857,22 @@ format_dpdk_pkt_offload_flags (u8 * s, va_list * va)
foreach_dpdk_pkt_offload_flag
#undef _
+#define _(F, P, S) \
+ { \
+ rx_dynflag_offset = rte_mbuf_dynflag_lookup(RTE_MBUF_DYNFLAG_##F##_NAME, \
+ P); \
+ if (rx_dynflag_offset >= 0) \
+ { \
+ rx_dynflag = (u64) 1 << rx_dynflag_offset; \
+ if (*ol_flags & rx_dynflag) \
+ { \
+ s = format (s, "\n%U%s %s", format_white_space, indent, \
+ #F, S); \
+ } \
+ } \
+ }
+ foreach_dpdk_pkt_dyn_rx_offload_flag
+#undef _
return s;
}
@@ -891,7 +911,7 @@ format_dpdk_rte_mbuf (u8 * s, va_list * va)
mb->port, mb->nb_segs, mb->pkt_len,
format_white_space, indent,
mb->buf_len, mb->data_len, mb->ol_flags, mb->data_off,
- mb->buf_physaddr, format_white_space, indent, mb->packet_type,
+ mb->buf_iova, format_white_space, indent, mb->packet_type,
mb->l2_len, mb->l3_len, mb->outer_l2_len, mb->outer_l3_len,
format_white_space, indent, mb->hash.rss, mb->hash.fdir.hi,
mb->hash.fdir.lo);