uint16_t reserved;
};
+/** Input Queue statistics. Each input queue has four stats fields. */
+struct lio_iq_stats {
+ uint64_t instr_posted; /**< Instructions posted to this queue. */
+ uint64_t instr_processed; /**< Instructions processed in this queue. */
+ uint64_t instr_dropped; /**< Instructions that could not be processed */
+ uint64_t bytes_sent; /**< Bytes sent through this queue. */
+ uint64_t tx_done; /**< Num of packets sent to network. */
+ uint64_t tx_iq_busy; /**< Num of times this iq was found to be full. */
+ uint64_t tx_dropped; /**< Num of pkts dropped due to xmitpath errors. */
+ uint64_t tx_tot_bytes; /**< Total count of bytes sent to network. */
+};
+
/** Output Queue statistics. Each output queue has four stats fields. */
struct lio_droq_stats {
/** Number of packets received in this queue. */
/** Num of vxlan packets received; */
uint64_t rx_vxlan;
- /** Num of failures of lio_recv_buffer_alloc() */
+ /** Num of failures of rte_pktmbuf_alloc() */
uint64_t rx_alloc_failure;
};
/** Number of instructions pending to be posted to Octeon. */
uint32_t fill_cnt;
+ /** Statistics for this input queue. */
+ struct lio_iq_stats stats;
+
/** DMA mapped base address of the input descriptor ring. */
uint64_t base_addr_dma;
uint8_t nb_tx_queues;
uint8_t port_configured;
struct lio_rss_ctx rss_state;
- uint8_t port_id;
+ uint16_t port_id;
+ char firmware_version[LIO_FW_VERSION_LENGTH];
};
#endif /* _LIO_STRUCT_H_ */