[Cake] cake srchost/dsthost stopped working?

Pete Heist pete at heistp.net
Thu Aug 5 04:55:39 EDT 2021


As for triple-isolate, I added a test Jon suggested:

"I would recommend a W configuration of flows

one of the three hosts sends to or from both of the two hosts, while
the other two send to or from only one each

this should result in the two hosts getting equal throughput each, and
equal throughput in each of their two flows"

This is the last test in the output, and I think the behavior looks
correct for both the unpatched and patched versions:

https://www.heistp.net/downloads/cake-hostfair/cake-hostfair-unpatched.txt

https://www.heistp.net/downloads/cake-hostfair/cake-hostfair-patched.txt

Thanks guys, and that, I believe, is finally it for now... :)

Pete

On Thu, 2021-08-05 at 00:52 +0200, Pete Heist wrote:
> I ended up testing each of the keywords, with two src IPs then two dst
> IPs, and I think everything makes sense:
> 
> https://www.heistp.net/downloads/cake-hostfair/cake-hostfair-patched.txt
> 
> I'm only not sure if we can tell from this test if triple-isolate is
> doing what it should...
> 
> Pete
> 
> On Wed, 2021-08-04 at 22:49 +0200, Pete Heist wrote:
> > Great, that seems to fix it. :) For sanity, I confirmed that I can
> > apply/unapply the patch to fix/break it, so all seems well.
> > 
> > Is there anything that you'd want to make sure still works after the
> > patch? I don't have any official regression tests to run, but with
> > this
> > setup ready I should be able to test something easily if needed...
> > 
> > Pete
> > 
> > On Wed, 2021-08-04 at 13:14 +0200, Toke Høiland-Jørgensen wrote:
> > > Pete Heist <pete at heistp.net> writes:
> > > 
> > > > One more tip, reverting this commit seems to fix it:
> > > > 
> > > > https://github.com/torvalds/linux/commit/b0c19ed6088ab41dd2a727b60594b7297c15d6ce
> > > 
> > > Ah, I think I see what the problem is; could you please try the
> > > patch
> > > below?
> > > 
> > > -Toke
> > > 
> > > diff --git a/net/sched/sch_cake.c b/net/sched/sch_cake.c
> > > index 951542843cab..a83c4d4326da 100644
> > > --- a/net/sched/sch_cake.c
> > > +++ b/net/sched/sch_cake.c
> > > @@ -720,7 +720,7 @@ static u32 cake_hash(struct cake_tin_data *q,
> > > const struct sk_buff *skb,
> > >  skip_hash:
> > >         if (flow_override)
> > >                 flow_hash = flow_override - 1;
> > > -       else if (use_skbhash)
> > > +       else if (use_skbhash && flow_mode & CAKE_FLOW_FLOWS)
> > >                 flow_hash = skb->hash;
> > >         if (host_override) {
> > >                 dsthost_hash = host_override - 1;
> > 
> > 
> 
> 




More information about the Cake mailing list