Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: "Török Edwin" <edwin+ml-cerowrt@etorok.net>
To: Dave Taht <dave.taht@gmail.com>
Cc: "cerowrt-devel@lists.bufferbloat.net"
	<cerowrt-devel@lists.bufferbloat.net>
Subject: Re: [Cerowrt-devel] cerowrt-3.10.34-4 dev build released
Date: Mon, 07 Apr 2014 21:51:56 +0300	[thread overview]
Message-ID: <5342F3CC.3090208@etorok.net> (raw)
In-Reply-To: <CAA93jw4enhy5Ca+v+9ivmdwxhMwOTYp_XGtFAGSE3=RbtDvwgA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3097 bytes --]

On 04/07/2014 08:58 PM, Dave Taht wrote:
> On Mon, Apr 7, 2014 at 8:27 AM, Török Edwin <edwin+ml-cerowrt@etorok.net> wrote:
>> On 04/07/2014 05:45 PM, Toke Høiland-Jørgensen wrote:
>>> Török Edwin <edwin+ml-cerowrt@etorok.net> writes:
>>>
>>>> I hacked the script to set the interface name for iptables to pppoe-ge00 (not for uci, cause uci
>>>> doesn't have an enabled=1 for pppoe):
>>>>                 setup_ipset
>>>> +               interface=pppoe-ge00
>>>>                 setup_iptables "$interface"
>>>>
>>>> Any idea how to fix this properly without hardcoding the interface
>>>> name?
>>>
>>> Editing the config file by hand should be sufficient rather than having
>>> to edit the script (it's in /etc/config/bcp38).
>>
>> Thanks, that worked (both for /etc/config/bcp38 and /etc/config/sqm).
>> The netperf streams seem to be better separated with pppoe-ge00.png
> 
> Um, er, I actually found the differences between these two graphs
> quite puzzling, as the fq_codel tc filter is supposed to be able to
> decode ppp frames and access the 5 tuple including the diffserv bits,
> which seems to be happening in the sqm-over-ppp case but not the
> sqm-over-normal-ethernet-with-encap-traffic case.
> 
> It may be that the iptables rules don't work right on encapsulated
> traffic. :grump:
> 
> Did you use simple.qos in both cases?

Yes, and I've run this prior to running /usr/lib/sqm/run.sh to clear the old rules:

IFACE=pppoe-ge00 /usr/lib/sqm/stop.sh
IFACE=ge00 /usr/lib/sqm/stop.sh
vi /etc/config/sqm (change the interface line)
/usr/lib/sqm/run.sh
... run netperf-wrapper again

> 
> It might be easier to see a difference in performance if you use a
> closer server like demo.tohojo.dk.

Attached, the graphs are closer now, but so are the flows, is classification even working there?
Maybe I just have too much bandwidth there and not creating a bottleneck properly.

I tried using 1/10 of bandwidth, see _10th.png. The difference is much sharper, and pppoe-ge00_10th.png seems to be working, while ge00_!oth not.

> 
> This is the relevant bit from net/core/flow_dissector.c
> 
>         case __constant_htons(ETH_P_PPP_SES): {
>                 struct {
>                         struct pppoe_hdr hdr;
>                         __be16 proto;
>                 } *hdr, _hdr;
>                 hdr = skb_header_pointer(skb, nhoff, sizeof(_hdr), &_hdr);
>                 if (!hdr)
>                         return false;
>                 proto = hdr->proto;
>                 nhoff += PPPOE_SES_HLEN;
>                 switch (proto) {
>                 case __constant_htons(PPP_IP):
>                         goto ip;
>                 case __constant_htons(PPP_IPV6):
>                         goto ipv6;
>                 default:
>                         return false;
>                 }
>         }
> 

TBH I don't know how PPPoE is actually implemented, who does the encapsulation? The kernel or the user-space daemon?
Would a packet capture on ge00/pppoe-ge00 help while running something that sets QoS bits (I'm guessing SSH would be good for that)?

Thanks,
--Edwin

[-- Attachment #2: ge00.png --]
[-- Type: image/png, Size: 257302 bytes --]

[-- Attachment #3: pppoe-ge00.png --]
[-- Type: image/png, Size: 255549 bytes --]

[-- Attachment #4: ge00_10th.png --]
[-- Type: image/png, Size: 234196 bytes --]

[-- Attachment #5: pppoe-ge00_10th.png --]
[-- Type: image/png, Size: 216757 bytes --]

  reply	other threads:[~2014-04-07 18:52 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-03  1:17 Dave Taht
2014-04-03  1:48 ` Stephen Hemminger
2014-04-03  1:58   ` Dave Taht
2014-04-03  2:43   ` Dave Taht
2014-04-03 10:09     ` David Personette
2014-04-03 15:17   ` Jim Gettys
2014-04-03 18:20 ` Neil Shepperd
2014-04-03 22:36   ` Dave Taht
2014-04-03 22:51     ` Maxim Kharlamov
2014-04-03 22:54       ` Dave Taht
2014-04-03 22:56       ` Aaron Wood
2014-04-03 22:57         ` Aaron Wood
2014-04-03 22:58           ` Dave Taht
2014-04-03 23:01             ` Maxim Kharlamov
2014-04-04  1:26               ` David Personette
2014-04-04  7:04             ` Aaron Wood
2014-04-04  6:57     ` Toke Høiland-Jørgensen
2014-04-05 12:49     ` Neil Shepperd
2014-04-05 16:02       ` Dave Taht
2014-04-05 16:15         ` Dave Taht
2014-04-05  8:34 ` Török Edwin
2014-04-05 15:53   ` Dave Taht
2014-04-05 21:25     ` Török Edwin
2014-04-07 14:45   ` Toke Høiland-Jørgensen
2014-04-07 15:27     ` Török Edwin
2014-04-07 15:31       ` Toke Høiland-Jørgensen
2014-04-07 17:58       ` Dave Taht
2014-04-07 18:51         ` Török Edwin [this message]
2014-04-05 19:11 ` Jim Reisert AD1C
2014-04-05 19:26   ` Dave Taht
2014-04-06  0:15     ` Jim Reisert AD1C
2014-04-06 10:23       ` Robert Bradley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5342F3CC.3090208@etorok.net \
    --to=edwin+ml-cerowrt@etorok.net \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox