On 04/29/2015 01:07 PM, Eric Dumazet wrote:
On Wed, 2015-04-29 at 10:17 +0200, Daniel Borkmann wrote:
On 04/29/2015 01:23 AM, Eric Dumazet wrote:
Some Congestion Control modules can provide per flow information,
but current way to get this information is to use netlink.
Like TCP_INFO, let's add TCP_CC_INFO so that applications can
issue a getsockopt() if they have a socket file descriptor,
instead of playing complex netlink games.
Sample usage would be :
union tcp_cc_info info;
socklen_t len = sizeof(info);
if (getsockopt(fd, SOL_TCP, TCP_CC_INFO, &info, &len) == -1)
Signed-off-by: Eric Dumazet <eduma...@google.com>
Cc: Yuchung Cheng <ych...@google.com>
Cc: Neal Cardwell <ncardw...@google.com>
Presuming other cc algorithms would in future also export
internal information through this interface, would it make
sense to put tcp_cc_info into a container structure so we
don't miss out attr (vegas, dctcp, ...), like:
struct tcp_cc_exp {
u32 kind;
union tcp_cc_info info;
};
Otherwise looks good:
Acked-by: Daniel Borkmann <dan...@iogearbox.net>
I thought of this, but I really believe this is not needed, as the
application can already fetch CC name (if really its does not know yet)
And I also wanted to get same layout for info provided by netlink and
getsockopt()
Ok, I'm fine with that. Presumably, applications making use of
this facility would most likely set the cc op themselves from
the application, so they know exactly what to expect here. Or,
might have fetched it via the cc name albeit a bit inconvenient,
but not impossible.
Thanks,
Daniel
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html