Subject: [iccrg] ECN support for PIE AQM in Linux

From: Naeem Khademi <[email-masked]>
Date: Wed, 14 Aug 2013 16:05:04 +0200

Hi

The already-existing PIE Linux code maintained at
ftp://ftpeng.cisco.com/pie/ does not support ECN. Studying the interaction
of ECN and AQM algos is probably of interest of some of us. I have added
ECN support to PIE Linux code and have given it some basic sanity tests.

The modified code is available at
http://heim.ifi.uio.no/naeemk/research/PIE/

I would appreciate any feedback.

Regards,
Naeem

---

From: Vijay Subramanian <[email-masked]>
Date: Wed, 14 Aug 2013 11:27:40 -0700

Naeem,

Thanks for testing and the contribution! We have ECN support in our current
code-under-development thanks to earlier help from Dave Taht but I will
merge your changes as appropriate and
submit it back for review.

I will take a look at your code soon. Do you also have any test results
which you can share?

Thanks again,
Vijay

On 14 August 2013 07:05, Naeem Khademi <[email-masked]> wrote:

> ftp://ftpeng.cisco.com/pie/ does not support ECN. Studying the
> interaction of ECN and AQM algos is probably of interest of some of us. I
> have added ECN support to PIE Linux code and have given it some basic
> sanity tests.
>
> _______________________________________________
> iccrg mailing list
> [email-masked]
> https://www.irtf.org/mailman/listinfo/iccrg
>
>

---

From: Naeem Khademi <[email-masked]>
Date: Wed, 14 Aug 2013 23:17:21 +0200

Hi Vijay

This code implements basic ECN capability for PIE meaning that it
would CE-mark packets that would be early-dropped otherwise. I have
sanity-checked the code (e.g. successful ECN marking and
receiver/sender reaction). We're now in process of conducting larger
set of experiments with PIE w/wo ECN that will eventually be published
as we move forward.

Cheers,
Naeem

On Wed, Aug 14, 2013 at 8:27 PM, Vijay Subramanian
<[email-masked]> wrote:
>> of ECN and AQM algos is probably of interest of some of us. I have added ECN
>> support to PIE Linux code and have given it some basic sanity tests.
>>

---

From: Dave Taht <[email-masked]>
Date: Wed, 14 Aug 2013 17:41:59 -0700

The pie patches that I was using until recently are here:

http://snapon.lab.bufferbloat.net/~cero2/deb/patches/

Stephen hemminger and I cleaned up the original pie drop according to
KernelStyle in multiple ways. There is a rounding error problem in setting
the target value
(we'd recomended they switch to ktime rather than jiffies) that I either
added or was in there in the first place.... and we fixed a couple generic
bugs...

In addition to adding ecn support, we also added congestion notification to
(a la the linux red and fq_codel algorithms) to provide lossless feedback
into the host tcp stack. (this is, incidentally, 1 line of code) This
optimization made it possible to do comparisons on host <-> host tests
between these qdiscs, with no router in-between.

Syntactically the iproute2 patches could use identical syntax for time
based values as the codel iproute2 patches. Haven't got around to that.
(not my job, really, to improve cisco's code)

Now, I only now - today! - just noticed that the new pie code at cisco's
site seems *substantially* different from the older pie code the above was
based on, in that it no longer has an optimization for not dropping smaller
packets. (bytemode) This is going to invalidate most previous benchmarks of
pie that I know of, including all of mine, and most, if not all, of
cablelabs'. Sigh.

I will try to refresh my patches and update the lab over the next week or
so.

On Wed, Aug 14, 2013 at 2:17 PM, Naeem Khademi <[email-masked]>wrote:

> interaction

-- 
Dave Täht

Fixing bufferbloat with cerowrt:
http://www.teklibre.com/cerowrt/subscribe.html

---

From: "Eggert, Lars" <[email-masked]>
Date: Thu, 15 Aug 2013 01:25:14 +0000

On Aug 15, 2013, at 8:41, Dave Taht <[email-masked]> wrote:
> based on

I guess the lesson is that these code drops need version numbers, and we need to REPORT the versions whenever we present results.

Lars

---

From: Vijay Subramanian <[email-masked]>
Date: Wed, 14 Aug 2013 22:05:20 -0700

On 14 August 2013 17:41, Dave Taht <[email-masked]> wrote:

> Dave,
Thanks to you and Stephen for this cleanup. I have these changes in my
queue. I had also promised Stephen that I would upstream the code to the
linux networking list for review and inclusion and this is what I
intend to do in the coming days. The idea was that once bufferbloat
community has vetted the algorithm, we can make the needed implementation
and style changes for kernel submission.
I believe it is now time to submit it to the netdev list.  i will merge the
collective feedback received so far and send it out.

Thanks,
Vijay