[Cerowrt-devel] BBR congestion control algorithm for TCP in net-next

Aaron Wood woody77 at gmail.com
Mon Sep 26 15:45:15 EDT 2016


Thanks! And sorry that I missed the sample code in the patch.
On Mon, Sep 26, 2016 at 12:30 Neal Cardwell <ncardwell at google.com> wrote:

> On Mon, Sep 26, 2016 at 2:47 PM, Aaron Wood <woody77 at gmail.com> wrote:
> > Dumb question on this:  The tcp_bbr_info struct for a socket can be
> > inspected at runtime through the ss utility or through a get socket opts
> > call, right?
>
> Yes, you can use either approach:
>
> (1) from code you can use TCP_CC_INFO socket option; there is sample
> code in the original kernel patch for TCP_CC_INFO:
>    https://patchwork.ozlabs.org/patch/465806/
>
> (2) from ss: if you download and build the net-next branch of the
> iproute2 package:
>
> http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/log/?h=net-next
>   then you will get support to print out the main parameters for a BBR
> connection, eg:
>
>   The patch with BBR support for ss is here:
>
> http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/commit/?h=net-next&id=2f0f9aef94129643133363b4503468cdccc481cc
>
>   As the commit notes, the BBR output looks like:
>     bbr:(bw:1.2Mbps,mrtt:18.965,pacing_gain:2.88672,cwnd_gain:2.88672)
>
> Hope that helps,
> neal
>
> >
> > -Aaron
> >
> > On Sat, Sep 17, 2016 at 11:34 AM, Maciej Soltysiak <maciej at soltysiak.com
> >
> > wrote:
> >>
> >> Hi,
> >>
> >> Just saw this: https://patchwork.ozlabs.org/patch/671069/
> >>
> >> Interested to see how BBR would play out with things like fq_codel or
> >> cake.
> >>
> >> "loss-based congestion control is unfortunately out-dated in today's
> >> networks. On
> >> today's Internet, loss-based congestion control causes the infamous
> >> bufferbloat problem"
> >>
> >> So, instead of waiting for packet loss they probe and measure, e.g. when
> >> doing slow start (here called STARTUP) they don't speed up until packet
> >> loss, but slow down before reaching estimated bandwidth level.
> >>
> >> Cake and fq_codel work on all packets and aim to signal packet loss
> early
> >> to network stacks by dropping; BBR works on TCP and aims to prevent
> packet
> >> loss.
> >>
> >>
> >> Best regards,
> >> Maciej
> >>
> >>
> >> _______________________________________________
> >> Cerowrt-devel mailing list
> >> Cerowrt-devel at lists.bufferbloat.net
> >> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> >>
> >
> >
> > _______________________________________________
> > Cerowrt-devel mailing list
> > Cerowrt-devel at lists.bufferbloat.net
> > https://lists.bufferbloat.net/listinfo/cerowrt-devel
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cerowrt-devel/attachments/20160926/57a51491/attachment.html>


More information about the Cerowrt-devel mailing list