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
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
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
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
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
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