Re: [PATCH net-next] pppoe: new ioctl to extract per-channel stats
From: Arnd Bergmann <arnd@arndb.de>
Date: 2020-03-31 15:06:43
On Tue, Mar 31, 2020 at 12:03 PM Simon Chopin [off-list ref] wrote:
Le 26/03/2020 à 15:31, Arnd Bergmann a écrit :quoted
On Thu, Mar 26, 2020 at 2:48 PM Simon Chopin [off-list ref] wrote:quoted
+_Static_assert(sizeof(struct pppol2tp_ioc_stats) == sizeof(struct pppchan_ioc_stats), "same size"); +_Static_assert((size_t)&((struct pppol2tp_ioc_stats *)0)->tx_packets == (size_t)&((struct pppchan_ioc_stats *)0)->tx_packets, "same offset");Conceptually this is what I had in mind, but implementation-wise, I'd suggest only having a single structure definition, possibly with a #define like #define pppoe_ioc_stats pppchan_ioc_statsI'm assuming that'd be #define pppol2tp_stats pppchan_ioc_stats ?
Right.
quoted
#define PPPIOCGCHANSTATS _IOR('t', 54, struct pppchan_ioc_stats) #define PPPIOCGL2TPSTATS PPPIOCGCHANSTATSThank you for your feedback. I'm probably going to implement a more generic version at the generic PPP channel instead, though, as, as noted by Guillaume, those statistics are not for the PPP channel but for the layer underneath. However, I'd like to be sure I understand your proposal here : we'd use a generic pppchan_ioc_stats struct that would be identical to the current pppol2tp_ioc_stats, including the 3 L2TP-specific fields, so that we'd retain ABI and API compatibility, and we would simply #define the current API to the new one?
Yes, that's the idea.
Arnd