From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-x22f.google.com (mail-ie0-x22f.google.com [IPv6:2607:f8b0:4001:c03::22f]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 32551201253 for ; Fri, 7 Jun 2013 10:13:41 -0700 (PDT) Received: by mail-ie0-f175.google.com with SMTP id a14so880765iee.34 for ; Fri, 07 Jun 2013 10:13:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=na+P7uoS+yziTIIygOz5lmh1f55lAGM8PyfQ+s+NEFg=; b=Q+6QENFm+C9izLosOGQ3nPRfnBt7emsMsx+fP8BluAaE2X1I61uZj3/e6sumsovYFj h0/g6rgHfdyZD2b9z5vzkpfJE4Lu9XmAeru6jlnKHAz/RsB4qz4z9eVknb55A11KMo/V aSzSe5dsr3Wg/qBLrdyZapgWq2ZpVjxK6ZVvMOyusdNm4kHOGDB3c1SR5RrRe35DJ6US e1fXq0VBswQ7SGeiFP1865DZyCvNKE6veQM1QlWeC2kaki9cKcPJUMPWpvYq/THw0n77 8p0VbxNcMXiKwWmdMTszTkfvIXNbX0B0QTaCOoOmDFqVycGDhR9e0ndp+i7MTRwsyKrT 6WKA== MIME-Version: 1.0 X-Received: by 10.50.141.161 with SMTP id rp1mr1917619igb.11.1370625220682; Fri, 07 Jun 2013 10:13:40 -0700 (PDT) Received: by 10.64.35.44 with HTTP; Fri, 7 Jun 2013 10:13:40 -0700 (PDT) Date: Fri, 7 Jun 2013 10:13:40 -0700 Message-ID: From: Dave Taht To: cerowrt-devel@lists.bufferbloat.net Content-Type: multipart/alternative; boundary=089e013cbdca662e3604de938d81 Subject: [Cerowrt-devel] trivial 6in4 fix(?) X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Jun 2013 17:13:41 -0000 --089e013cbdca662e3604de938d81 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable The 3.8.13-6 dev non-release has a trivial patch in it that I hoped would improve 6in4 and 6to4 tunneling performance. I'm not in a position to test at the moment. I am curious: Is there a current user of cero using simplest.qos, tunneling ipv6 via hurricane or 6to4, that can hammer it with multiple ipv6 streams (as in the rrul test)? (If you have rrul and ipv6, you can force it to do pure ipv6 testing with the -6 option.) During that test, the output, on 3.8.13-5 and earlier, of tc -s class show dev ge00 I *think*, will show only a few fq_codel classes in use, rather than one per stream. (you may need to run the command a few times to identify all the streams in use) It looked to me that the following patch would de-encapsulate the 6in4 stuff for purposes of the fq_codel flow hash calculation, and fix it... (I put this patch into -6 but haven't tested) --- net/core/flow_dissector.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 00ee068..25ebce7 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c @@ -138,6 +138,8 @@ ipv6: } break; } + case IPPROTO_IPV6: + proto =3D __constant_htons(ETH_P_IPV6); case IPPROTO_IPIP: goto again; default: -- 1.8.1.2 --=20 Dave T=E4ht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html --089e013cbdca662e3604de938d81 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable The 3.8.13-6 dev non-release has a trivial patch in it that I hoped would i= mprove 6in4 and 6to4 tunneling performance. I'm not in a position to te= st at the moment.

I am curious: Is there a current user of cero usin= g simplest.qos, tunneling ipv6 via hurricane or 6to4, that can hammer it wi= th multiple ipv6 streams (as in the rrul test)? (If you=20 have rrul and ipv6, you can force it to do pure ipv6 testing with the -6 option.)

During that test, the output, on 3.8.13-5 and earlier, of=

tc -s class show dev ge00

I *think*, will show only a few f= q_codel classes in use, rather than one per stream. (you may need to run th= e command a few times to identify all the streams in use)

It looked to me that the following patch would de-encapsulate the 6in4 = stuff for purposes of the fq_codel flow hash calculation, and fix it... (I = put this patch into -6 but haven't tested)

---
=A0net/core/flow_dissector.c | 2 ++
=A01 file changed, 2 insertions(+)
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.cindex 00ee068..25ebce7 100644
--- a/net/core/flow_dissector.c
+++ b/= net/core/flow_dissector.c
@@ -138,6 +138,8 @@ ipv6:
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = }
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 break;
=A0=A0=A0=A0= =A0=A0=A0 }
+=A0=A0=A0=A0=A0=A0 case IPPROTO_IPV6:
+=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 proto =3D __constant_htons(ETH_P_IPV6);
=A0= =A0=A0=A0=A0=A0=A0 case IPPROTO_IPIP:
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 goto again;
=A0=A0=A0=A0=A0=A0=A0 default:
--
1.8.1.2

--
Dave T=E4ht
Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/su= bscribe.html=20 --089e013cbdca662e3604de938d81--