net: sched: gred: provide a better structured dump and expose stats
Currently all GRED's virtual queue data is dumped in a single array in a single attribute. This makes it pretty much impossible to add new fields. In order to expose more detailed stats add a new set of attributes. We can now expose the 64 bit value of bytesin and all the mark stats which were not part of the original design. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: John Hurley <john.hurley@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
9f5cd0c806
commit
80e22e961d
@@ -291,11 +291,37 @@ enum {
|
||||
TCA_GRED_DPS,
|
||||
TCA_GRED_MAX_P,
|
||||
TCA_GRED_LIMIT,
|
||||
TCA_GRED_VQ_LIST, /* nested TCA_GRED_VQ_ENTRY */
|
||||
__TCA_GRED_MAX,
|
||||
};
|
||||
|
||||
#define TCA_GRED_MAX (__TCA_GRED_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_GRED_VQ_ENTRY_UNSPEC,
|
||||
TCA_GRED_VQ_ENTRY, /* nested TCA_GRED_VQ_* */
|
||||
__TCA_GRED_VQ_ENTRY_MAX,
|
||||
};
|
||||
#define TCA_GRED_VQ_ENTRY_MAX (__TCA_GRED_VQ_ENTRY_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_GRED_VQ_UNSPEC,
|
||||
TCA_GRED_VQ_PAD,
|
||||
TCA_GRED_VQ_DP, /* u32 */
|
||||
TCA_GRED_VQ_STAT_BYTES, /* u64 */
|
||||
TCA_GRED_VQ_STAT_PACKETS, /* u32 */
|
||||
TCA_GRED_VQ_STAT_BACKLOG, /* u32 */
|
||||
TCA_GRED_VQ_STAT_PROB_DROP, /* u32 */
|
||||
TCA_GRED_VQ_STAT_PROB_MARK, /* u32 */
|
||||
TCA_GRED_VQ_STAT_FORCED_DROP, /* u32 */
|
||||
TCA_GRED_VQ_STAT_FORCED_MARK, /* u32 */
|
||||
TCA_GRED_VQ_STAT_PDROP, /* u32 */
|
||||
TCA_GRED_VQ_STAT_OTHER, /* u32 */
|
||||
__TCA_GRED_VQ_MAX
|
||||
};
|
||||
|
||||
#define TCA_GRED_VQ_MAX (__TCA_GRED_VQ_MAX - 1)
|
||||
|
||||
struct tc_gred_qopt {
|
||||
__u32 limit; /* HARD maximal queue length (bytes) */
|
||||
__u32 qth_min; /* Min average length threshold (bytes) */
|
||||
|
Reference in New Issue
Block a user