ve flows.
Part of that investigation may be to enquire as to whether DCTCP is in fact in
use. If so, the TCP Prague people should be brought into the loop, as this
would constitute evidence that Codel can’t control DCTCP via ECN under
practical Internet conditions.
-
he backlogs of parents failed." then it's not an 'obvious to solve'
> problem :-)
It appears my code already handles it correctly. This is most likely because
it inherited the analogous handling from the old function called here.
- Jonathan Morton
_
ouldn’t be
segmented).
For the time being, I have changed my development branch of Cake to always
signal case 1 except for the error case.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
and accepted as far as I’m concerned; the worst corner cases are with very
small packets, which frankly matter less. If you don’t want overcompensation,
figure out what the real overhead is and set that.
- Jonathan Morton
___
Cake maili
exceeds its fair
share of the link, which is unlikely for a well-designed, lightweight protocol.
We really should make an effort to put a more intuitive GUI interface on this.
These questions indicate a user overwhelmed by many options without guidance.
- Jonathan Morton
red a second such mechanism,
though a much blunter one; it is significantly superior to tail-drop for two
major reasons, but can easily result in burst loss.
It is also this overflow which acts as the up-trigger for BLUE; the longest
queue not only gets the instant head-drop but a notification t
as here, when I
get it to actually work.
As for who these servers are: Valve Software’s Steam platform. I did say they
were large and popular.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
> On 4 Jun, 2016, at 17:01, moeller0 wrote:
>
> Maybe cake should allow to switch from the default mark by ECN policy to mark
> by drop per command line argument? At least that would allow much easier in
> the field testing… As is there is only the option of disabling ECN at
on if we can’t get anything else to work.
I’m also thinking of cleaner ways to do this by means of adding code, rather
than masses of configuration. It really shouldn’t be this hard to produce a
working setup.
- Jonathan Morton
___
Cake
of the window. I propose retaining the
standard “target” parameter on Tin 2 to avoid triggering AQM with a single
large packet, but reducing “interval” to make Codel’s behaviour more suitable
for UDP and DCTCP traffic.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
UTING -o ppp0 -s $CACHE_IP -j IMQ —todev 0
That reminds me - we need to update the documentation to properly describe the
overhead and triple-isolation keywords. You might need a different overhead
setting than “pppoe-vcmux” depending on the details
the
point where the router is fitted, or is it within the router, or off to the
side on a separate port?
Also, the command shown will apply a limit to *egress* traffic on the given
port. If you need to do *ingress* shaping, there’s a different sequence of
commands.
- Jonathan Morton
__
doing the right thing - simply because iptables is that much more flexible
than the u32 filter.
But maybe u32, in the hashing configuration, scales better.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
both in a position to examine packet
traces associated with each test.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
are no spurious drop events.
The code is in the sch_cake repo if you want to examine the details. I promise
it’s a lot easier to read than the original Codel code.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
ust in case it was a mixed ECT/Not-ECT stream; strenuous efforts to
get the congestion signal heard as early as possible. This is more likely when
flow isolation isn’t in use, or when it is per-host instead of per-flow.
That’s also why the first attempt to set CE
> On 6 May, 2016, at 22:14, David Lang <da...@lang.hm> wrote:
>
> On Fri, 6 May 2016, Jonathan Morton wrote:
>
>>> On 6 May, 2016, at 21:50, David Lang <da...@lang.hm> wrote:
>>>
>>> what IP id are you referring to? I don't remember an
on my PowerBook’s screen.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
,
or is actually triggered by the query rather than passing to some specific
stage of processing.
I have other work to do on the host and flow processing, but I think that’ll be
independent of the hash function, which is where you want to be looking.
- Jonathan Morton
_
e, that should not be difficult. For the moment however, I’ve got
my hands full with writing a report on performance tests I’ve been running, and
then getting reacquainted with some code changes that happened while I was
looking elsewhere.
- Jonathan Morton
___
ic leaves throu canke tin#x, the conntrack entry will get a
> fwmark and return traffic is put in the corresponding tin/bin on the ingress
> cake.
That’s an interesting idea. At this point I don’t know how easy it is to
implement, though.
Certainly we need to clean up some other
l tins with bulk data, which means the
Voice tin in particular is running in deprioritised mode.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
c.
It looks like you still aren’t using the latest version of tc, as that
identifies the three tins as “Bulk”, “Best Effort”, and “Voice”, rather than
numerically.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.buf
o other qdiscs.
I gather this time you’re comparing it against the mac80211 fq_codel, rather
than a conventional qdisc stack?
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
> On 10 Feb, 2017, at 11:21, Pete Heist <petehe...@gmail.com> wrote:
>
> Here are the results at various bitrates (all half-duplex rate limiting on
> this CPU).
Hold on a minute. What does “half-duplex rate limiting” mean exactly?
uce it here.
Does the problem go away if you use a wired link with the same setup otherwise?
Or is that inconvenient to try? I have some ath9k equipped machines, but they
would need to be set up.
- Jonathan Morton
___
Cake mailing list
Cake@lists.buf
e “besteffort” and “diffserv3” cases, the DSCP may be
interpreted independently by the NIC as well as Cake. In the case of wifi,
this affects the medium grant latency and priority. If the link isn’t
saturated, this shouldn’t affect Cake’s prioritisation strategy much if at all,
but it does have im
get a little more throughput. However, this significantly reduces the latency
control in ingress mode, because every slow-start is then uncontrolled for a
full second.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
interval, which
makes the AQM less aggressive in general.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
doesn't, icmp goes to best effort.
I suspect packets are queuing in cake first and only then going through dsmark.
What happens if you reverse the nesting?
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
ly useful information - that a qdisc filter action can
set DSCPs (albeit in this case by circuitous means). An action module which
does that more directly would undoubtedly be easier to use and more efficient,
but one doesn’t seem to exist yet.
- Jonathan Morton
___
t in throughput, FQ keeps them from impacting other
flows, and BLUE starts dropping if their window growth is unbounded.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
> On 6 Oct, 2016, at 07:19, Dave Taht <dave.t...@gmail.com> wrote:
>
> master
Right - that’s stable code. I’m doing experimental stuff in the cobalt branch.
- Jonathan Morton
___
Cake mailing list
Cake@lists.buffer
one of my boxes froze the very
first time I loaded it, but it’s been running fine ever since. Another machine
is currently refusing to insert the module, claiming a wrong exec format. It’s
all a bit bizarre.
I do have a few more avenues of enquiry to explore, though
_swap() can probably go away completely - they were there
to make sure the heap algorithms were working correctly. They never did
trigger, as it happens.
The other two are genuine serious bugs (array overflow) if they ever trigger.
It’s safer to leave them as-is.
- Jonathan Morton
_
a CPU profile on real hardware - then I will reconsider.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
> On 7 Oct, 2016, at 16:27, Kevin Darbyshire-Bryant
> <ke...@darbyshire-bryant.me.uk> wrote:
>
> It's now ok...so far :-)
Okay. I think I’ve found a couple of other things to improve, so stand by…
- Jonathan Morton
___
Cake
h I’m using as the count of flows
attached to that host. It seems likely that it isn’t being maintained
correctly in all cases, so it can wrap around past zero very soon after being
attached, without needing much traffic.
I’ll try to fix that, and put a sanity check in as well t
ith plenty of traffic over here - but it did
crash the very first time I loaded it, just not the second. I will need to
exercise it some more, preferably on a non-critical machine.
- Jonathan Morton
___
Cake mailing list
Cake@lists.
etion. Might help under sustained overload, but not in the common case.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
while some CPUs do not execute large numbers of
conditional moves very efficiently.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
the configuration interface for the feature to a flag,
which I’ll call “nat”.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
adding the footer?
On the upside, I was able to add a filter specifically saying “never send to
Spam folder”, and it appears to be working so far. But everyone probably needs
to do that; it’s not a scalable solution, only a workaround.
- Jonathan Morton
__
e for non-BBR traffic.
In these cases, I think you have to relax and let the FQ action take care of it.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
> On 27 Sep, 2016, at 22:29, Dave Taht wrote:
>
> OK, at some point, but I have to abandon the lab, it looks like:
Yet another reason to be glad I live in a cold and slightly damp country.
> https://groups.google.com/forum/#!topic/bbr-dev/VNUBKAeJSdc
If BBR is not
ly true for all modes except
“flowblind” and “flows”.
Also long overdue are the more subtle overhead compensation factor for PTM, and
the two extra keywords for DOCSIS’ asymmetric overhead.
- Jonathan Morton
___
Cake mailing list
Cake@lists.
the host deficits expire, and host deficit expiry
should no longer be explicitly synchronised.
See if, between you, you can break it before I get back from shopping. :-)
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https
That looks normal to me. If you really want a 1:1 mapping from CS to tin,
you should use "precedence". But that's an obsolete interpretation of the
TOS field.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat
should
loop the inbound traffic through a common IFB device (and attach Cake to that
instead of the physical interfaces) to simplify configuration.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
> On 4 Oct, 2016, at 19:28, Jonathan Morton <chromati...@gmail.com> wrote:
>
>> Ha ha! I don't know if you're back from shopping yet...and I'm not sure
>> that I've broken it (cobalt branch)...but it has broken my router!
>
> Hmm. It’s been running all day wi
and will self-recover to peak performance after anomalous load spikes. This
assumption is however likely to break down on backbones and major backhaul
networks. Cake does support treating entire IP addresses as single flows,
which may extend its appl
to use a popcnt instruction where present, and this
algorithm otherwise.
Obviously this will only be of any use if the resulting hash is of good
quality. An obvious problem with popcnt is that inputs of 1, 2, 4, 8, etc have
the same popcnt (1), and it is trivial for an attacker to exploit this propert
ith a packet due soonest.
This should have the same type of “soft priority” behaviour as the previous WRR
version, but I was hoping it could reduce the latency for processing sparse
low-latency tins while under steady bulk load.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
e
typical token-bucket shaper that fq_codel is used with.
There’s also some difference in the Codel implementation which might or might
not be relevant, specifically in the calculation of “count” after a relatively
brief exit from dropping state.
- Jonathan Morton
__
could be implemented.
One option would be to use HTB with FLOWER filters to sort out the subscribers
into classes, and use Cake or fq_codel as a child qdisc per class. Remember
that Cake can be used in “unlimited” mode to rely on an external shaping source
to run in 'ingress' mode.
The latter. The fundamental limitation has not been removed (and is not in
Cake itself); this is just a modification to how dropped packets are accounted
for when the bottleneck is upstream of Cake.
- Jonathan Morton
__
at should give you correct operation, and you can fine-tune from there.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
direction. Try setting it to 10Mbit and see if that
brings it under better control.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
too?
It’s possible, if you can figure out which traffic is Steam in the first place,
and write filters to match on it. This is complicated by the fact that Valve
runs a sophisticated CDN to handle their rather impressive bandwidth load.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
clearly need to fix.
To help remind me, please do open an issue on the Github project.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
rather have a good hash with maximal entropy.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
preserve.
True, but you incur the cost of a division, which is very much non-trivial on
ARM CPUs, which are increasingly common in CPE.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
?
It’s a power of two, yes. The actual number of buckets is 1024, but Cake uses
the full 32-bit hash as a “tag” for hash collision detection without having to
store and compare the entire 5-tuple.
- Jonathan Morton
___
Cake mailing list
Cake@
y,
even some of the existing options could reasonably be streamlined away.
With that said, a related qdisc *with* such support is eminently feasible, and
could easily be the focus of a project. I think it would be worth gathering
requirements for such a thing and cons
pped acks will tend to increase burstiness of sending on unpaced
senders.
You should also try to ensure ECN is fully enabled on your LAN hosts,
especially the ones running Steam. This will help to reduce retransmissions
and loss-recovery cycles.
- Jonathan Morton
don't ever expect encrypted tunnels to behave this way!
- Jonathan Morton
On 18 Jun 2017 21:13, "Cong Xu" <davidx...@gmail.com> wrote:
> Hi,
>
> I wonder if cake's flow isolation works with the ipip tunnel? I hope to
> guarantee the networking fair-share among cont
to
deal with sanely.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
Because 1514 is the normal maximum size of an Ethernet frame. This can
easily differ from the size actually used on the wire and from the size
used by the provisioning shaper.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https
On 01/10/17 06:10, Dave Taht wrote:
I was thinking about how I'd go about adding saner ack filtering [1]
to cake
I didn't see any obvious improvement in that reference over what Cake
does already. What are you thinking of?
--
- Jonathan Morton
worth opening an issue to remind me to look into that. I
still don't have a replacement for my MBP, which is complicating matters
here.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
There's a much better way to achieve what you want anyway - ECN.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
No, because acks are cumulative. Dropping an ack doesn't normally trigger
any retransmissions, and is actually difficult to detect reliably at the
sender.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net
to be a
reasonable default setting, though the "dual" modes will perform more
reliably if chosen correctly.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
It's not at all obvious how we'd detect that. Packets are staying in the
queue for less time than the codel target, which is exactly what you'd get
if you weren't saturated at all.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
Looking at the Cake stats for that run, it doesn't seem to have been
signalling congestion at all, when you'd expect it to with 13 bulk flows
running through it. Something odd is going on there.
- Jonathan Morton
___
Cake mailing list
Cake
cified, so
that we get a meaningful measurement that's hard to game.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
Not quite. The "dual" enums have more than one bit set, so you have to
test them for equality.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
have an up-to-date net-next tree on one of my
machines to build against.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
It won't link unless conntrack is in the kernel, and *that* is costly for
some.
What we could do is make NAT support optional in Kconfig and have that
option depend on conntrack. Would need a little fettling of cake itself to
make the NAT support properly optional at compile time.
- Jonathan
The stats are a little bit unwieldy, true. Is there an example of the TLV
style of operation that I could study?
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
, leaving little or no back-pressure for the fairness logic to work
against.
For this reason, you might have better luck with the next higher RTT
setting.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net
I'd like to see variations using Cake's "internet", "oceanic" and
"satellite" presets at this RTT.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
If you use netem to simulate the physical link, you could test Cake's
ingress mode downstream of it.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
It would need stdint.h and limits.h. It's possible one of those has been
left out of the code.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
Probably there should be one from me - but I need to have built and tried
it myself first, to be sure. There's still some new code I haven't gone
over in detail yet.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https
hard dropping hasn't been necessary for a while.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
I might try to implement a dynamic target adjustment later today.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
On 16/11/17 15:55, Bret Towe wrote:
I have a docsis setup atm that is 300/7
Obligatory: https://www.youtube.com/watch?v=XnFSb8xcmN4
--
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
not possible to guarantee both low latency and high
throughput when operating downstream of the bottleneck link. ECN gives you
better results, though.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo
for it being otherwise was
that it must be stranded.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
that it only exists on my MBP hard drive, which I
still don't have a working MBP to put in again. Due to HFS+
compression, I can't actually read the file by attaching it to a Linux
machine.
--
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
signalling frequency somehow.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
I think "mostly true but incomplete" is the best way to describe the
current pages.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
required are a direct reflection of what such hardware
requires, and are not at all user friendly.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
The name is certainly intriguing, but just look at all those parameters!
Cake's shaper doesn't need them.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
Just to note, deficiencies in host fairness are most likely directly linked
to less-than-full throughput. One host is able to use bandwidth left
unused by the other.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https
, while retaining reasonable inter-flow latency as measured
by using other applications and/or hosts.
I'd like to see a more controlled test of this, to compare with the
previous behaviour.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
Ah, the push didn't actually complete. It's there now.
- Jonathan Morton
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake
Smells like the NAS and OneDrive are using nonstandard, and at least
partially noncompliant TCP stacks. Did the ack stream carry ECE flags?
But yes, that is exactly the sort of abuse that the BLUE portion of COBALT
is meant to cope with.
- Jonathan Morton
These ideas have all been considered at great length in the past, and
resulted in the Codel algorithm in the first place. You might want to read
some of the original literature on it to understand my reasoning.
- Jonathan Morton
___
Cake mailing list
1 - 100 of 324 matches
Mail list logo