X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fena%2Fena_ethdev.h;h=7bb74a1d0605dd04af94d1db059f1745a46244d9;hb=ac61aa646322dc100689e03dbffdc9c5536cc23d;hp=6e24a4e5825d2e24ac15c5daa41b9bbfa650c311;hpb=c0006061fbe8df61a1caed0d578a0b416ab2166a;p=dpdk.git diff --git a/drivers/net/ena/ena_ethdev.h b/drivers/net/ena/ena_ethdev.h index 6e24a4e582..7bb74a1d06 100644 --- a/drivers/net/ena/ena_ethdev.h +++ b/drivers/net/ena/ena_ethdev.h @@ -171,6 +171,32 @@ struct ena_stats_dev { u64 tx_drops; }; +struct ena_stats_eni { + /* + * The number of packets shaped due to inbound aggregate BW + * allowance being exceeded + */ + uint64_t bw_in_allowance_exceeded; + /* + * The number of packets shaped due to outbound aggregate BW + * allowance being exceeded + */ + uint64_t bw_out_allowance_exceeded; + /* The number of packets shaped due to PPS allowance being exceeded */ + uint64_t pps_allowance_exceeded; + /* + * The number of packets shaped due to connection tracking + * allowance being exceeded and leading to failure in establishment + * of new connections + */ + uint64_t conntrack_allowance_exceeded; + /* + * The number of packets shaped due to linklocal packet rate + * allowance being exceeded + */ + uint64_t linklocal_allowance_exceeded; +}; + struct ena_offloads { bool tso4_supported; bool tx_csum_supported; @@ -200,6 +226,13 @@ struct ena_adapter { u16 max_mtu; struct ena_offloads offloads; + /* The admin queue isn't protected by the lock and is used to + * retrieve statistics from the device. As there is no guarantee that + * application won't try to get statistics from multiple threads, it is + * safer to lock the queue to avoid admin queue failure. + */ + rte_spinlock_t admin_lock; + int id_number; char name[ENA_NAME_MAX_LEN]; u8 mac_addr[RTE_ETHER_ADDR_LEN]; @@ -224,6 +257,7 @@ struct ena_adapter { uint64_t keep_alive_timeout; struct ena_stats_dev dev_stats; + struct ena_stats_eni eni_stats; bool trigger_reset;