RE: [RFC PATCH v1 5/5] wave: Added basic version of TCP Wave

2017-07-31 Thread David Laight
From: Natale Patriciello > Sent: 28 July 2017 20:59 .. > +static __always_inline bool test_flag(u8 value, const u8 *flags) > +{ > + return (*flags & value) == value; > +} ... > + if (!test_flag(FLAG_INIT, &ca->flags)) > + return; ... That is a completely unnecessary 'helper'. I

Re: [RFC PATCH v1 5/5] wave: Added basic version of TCP Wave

2017-07-29 Thread Stephen Hemminger
On Fri, 28 Jul 2017 21:59:19 +0200 Natale Patriciello wrote: > + > +#define WAVE_DEBUG 1 > + > +#ifdef WAVE_DEBUG > + #define DBG(msg ...) printk(KERN_DEBUG "WAVE_DEBUG: " msg) > +#else > + static inline void DBG(const char *msg, ...) { } > +#endif > + Don't reinvent your own debug macro

Re: [RFC PATCH v1 5/5] wave: Added basic version of TCP Wave

2017-07-28 Thread David Miller
From: Natale Patriciello Date: Fri, 28 Jul 2017 21:59:19 +0200 > +static __always_inline bool test_flag(u8 value, const u8 *flags) Never, ever, declare functions as inline in foo.c files. Always let the compiler decide. No matter how brilliant you think you are, it always knows better. And wh

Re: [RFC PATCH v1 5/5] wave: Added basic version of TCP Wave

2017-07-28 Thread David Miller
From: Natale Patriciello Date: Fri, 28 Jul 2017 21:59:19 +0200 > +/* TCP Wave private struct */ > +struct wavetcp { > + /* The module flags */ > + u8 flags; > + /* The current transmission timer (us) */ > + u32 tx_timer; > + /* The current burst size (segments) */ > + u16

Re: [RFC PATCH v1 5/5] wave: Added basic version of TCP Wave

2017-07-28 Thread Neal Cardwell
On Fri, Jul 28, 2017 at 3:59 PM, Natale Patriciello wrote: > TCP Wave (TCPW) replaces the window-based transmission paradigm of the > standard TCP with a burst-based transmission, the ACK-clock scheduling > with a self-managed timer and the RTT-based congestion control loop > with an Ack-based Cap

[RFC PATCH v1 5/5] wave: Added basic version of TCP Wave

2017-07-28 Thread Natale Patriciello
TCP Wave (TCPW) replaces the window-based transmission paradigm of the standard TCP with a burst-based transmission, the ACK-clock scheduling with a self-managed timer and the RTT-based congestion control loop with an Ack-based Capacity and Congestion Estimation (ACCE) module. In non-technical word