Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Cake - FQ_codel the next generation

    Scheduled Pinned Locked Moved Traffic Shaping
    6 Posts 4 Posters 2.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Nullity
      last edited by

      http://www.bufferbloat.net/projects/codel/wiki/Cake - Introduction/Summary

      https://lists.bufferbloat.net/listinfo/cake - Mailing List (less than a month old)

      Cake seems to be a more inclusive FQ_CoDel and it apparently includes a bit of a traffic-shaper, but it is included only to aid the Fair Queueing aspect, I think.
      Personally I will be happy to see it better support "low bandwidth" connections, like mine. :)

      If you have access to Linux, there is https://github.com/dtaht/sch_cake, which apparently compiles fine on kernels 3.12, 3.18, and 4.

      Please correct any obvious misinformation in my posts.
      -Not a professional; an arrogant ignoramous.

      1 Reply Last reply Reply Quote 0
      • N
        Nullity
        last edited by

        Using the link above, Cake compiles and presumably functions fine on ArchLinux. I am using the directions found here: https://lists.bufferbloat.net/pipermail/cake/2015-April/000073.html

        Please correct any obvious misinformation in my posts.
        -Not a professional; an arrogant ignoramous.

        1 Reply Last reply Reply Quote 0
        • H
          Harvy66
          last edited by

          I can't wait for buffer bloat to be "solved". If even regular codel was all over the place, the Internet would feel so much faster.

          Oh yeah. I was downloading some torrents the other day and my connection was getting maxed out. hehe. No ping spikes, just some packet-loss. Down with buffer bloat!

          From 8.8.4.4: bytes=60 seq=6289 TTL=53 ID=4887 time=14.140ms
          From 8.8.4.4: bytes=60 seq=628a TTL=53 ID=49c2 time=13.967ms
          From 8.8.4.4: bytes=60 seq=628b TTL=53 ID=4a3b time=13.393ms
          From 8.8.4.4: bytes=60 seq=628c TTL=53 ID=4af1 time=13.857ms
          Timeout waiting for seq=6287
          From 8.8.4.4: bytes=60 seq=628d TTL=53 ID=4c5d time=13.827ms
          From 8.8.4.4: bytes=60 seq=628e TTL=53 ID=4cb0 time=13.985ms
          From 8.8.4.4: bytes=60 seq=628f TTL=53 ID=4dcd time=13.741ms
          From 8.8.4.4: bytes=60 seq=6290 TTL=53 ID=4e6c time=13.889ms
          From 8.8.4.4: bytes=60 seq=6291 TTL=53 ID=4ef7 time=14.717ms
          From 8.8.4.4: bytes=60 seq=6289 TTL=53 ID=4887 time=14.140ms
          From 8.8.4.4: bytes=60 seq=628a TTL=53 ID=49c2 time=13.967ms
          From 8.8.4.4: bytes=60 seq=628b TTL=53 ID=4a3b time=13.393ms
          From 8.8.4.4: bytes=60 seq=628c TTL=53 ID=4af1 time=13.857ms
          Timeout waiting for seq=6287
          From 8.8.4.4: bytes=60 seq=628d TTL=53 ID=4c5d time=13.827ms
          From 8.8.4.4: bytes=60 seq=628e TTL=53 ID=4cb0 time=13.985ms
          From 8.8.4.4: bytes=60 seq=628f TTL=53 ID=4dcd time=13.741ms
          From 8.8.4.4: bytes=60 seq=6290 TTL=53 ID=4e6c time=13.889ms
          From 8.8.4.4: bytes=60 seq=6291 TTL=53 ID=4ef7 time=14.717ms
          From 8.8.4.4: bytes=60 SEQ=62d4 TTL=53 ID=9267 time=13.858ms
          From 8.8.4.4: bytes=60 seq=62d5 TTL=53 ID=927e time=13.840ms
          From 8.8.4.4: bytes=60 seq=62d6 TTL=53 ID=9307 time=13.802ms
          From 8.8.4.4: bytes=60 seq=62d7 TTL=53 ID=93ec time=14.816ms
          Timeout waiting for seq=62d3
          From 8.8.4.4: bytes=60 seq=62d8 TTL=53 ID=9552 time=15.040ms
          From 8.8.4.4: bytes=60 seq=62d9 TTL=53 ID=96b3 time=14.688ms
          From 8.8.4.4: bytes=60 seq=62da TTL=53 ID=9869 time=15.626ms
          From 8.8.4.4: bytes=60 seq=62db TTL=53 ID=991d time=13.664ms

          1 Reply Last reply Reply Quote 0
          • D
            dtaht
            last edited by

            @Nullity:

            Using the link above, Cake compiles and presumably functions fine on ArchLinux. I am using the directions found here: https://lists.bufferbloat.net/pipermail/cake/2015-April/000073.html

            We have quite a bit of work left to do to finalize cake, (there are many experimental features like a newer codel model and 8 way set associative hashing) but among other things, the shaper is smart enough to do the right things at very low bandwidths, for which htb + fq_codel required a bit of scripting.

            We are expressly dual licensing BSD/GPL the code in the hope that a BSD like pfsense will take the code and run with it. We have heard someone will be trying a dpdk (userspace) version also.

            Please join us on the cake mailing list to discuss your results and requirements!

            1 Reply Last reply Reply Quote 0
            • H
              Harvy66
              last edited by

              I have a basic understanding of N-way associative caching on CPUs, but what does N-way associative hashing mean? What benefits does this give over just hashing the tuples, then dropping the packet in the corresponding bucket?

              1 Reply Last reply Reply Quote 0
              • N
                Nonsense
                last edited by

                I'll we glad when we can have our Cake and delete it too.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post
                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.