xref: /linux-6.15/include/net/libeth/types.h (revision 080d72f4)
1*080d72f4SAlexander Lobakin /* SPDX-License-Identifier: GPL-2.0-only */
2*080d72f4SAlexander Lobakin /* Copyright (C) 2024 Intel Corporation */
3*080d72f4SAlexander Lobakin 
4*080d72f4SAlexander Lobakin #ifndef __LIBETH_TYPES_H
5*080d72f4SAlexander Lobakin #define __LIBETH_TYPES_H
6*080d72f4SAlexander Lobakin 
7*080d72f4SAlexander Lobakin #include <linux/types.h>
8*080d72f4SAlexander Lobakin 
9*080d72f4SAlexander Lobakin /**
10*080d72f4SAlexander Lobakin  * struct libeth_sq_napi_stats - "hot" counters to update in Tx completion loop
11*080d72f4SAlexander Lobakin  * @packets: completed frames counter
12*080d72f4SAlexander Lobakin  * @bytes: sum of bytes of completed frames above
13*080d72f4SAlexander Lobakin  * @raw: alias to access all the fields as an array
14*080d72f4SAlexander Lobakin  */
15*080d72f4SAlexander Lobakin struct libeth_sq_napi_stats {
16*080d72f4SAlexander Lobakin 	union {
17*080d72f4SAlexander Lobakin 		struct {
18*080d72f4SAlexander Lobakin 							u32 packets;
19*080d72f4SAlexander Lobakin 							u32 bytes;
20*080d72f4SAlexander Lobakin 		};
21*080d72f4SAlexander Lobakin 		DECLARE_FLEX_ARRAY(u32, raw);
22*080d72f4SAlexander Lobakin 	};
23*080d72f4SAlexander Lobakin };
24*080d72f4SAlexander Lobakin 
25*080d72f4SAlexander Lobakin #endif /* __LIBETH_TYPES_H */
26