From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "rcdn-iport.cisco.com", Issuer "HydrantID SSL ICA G2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 2E7D121F56F for ; Thu, 4 Jun 2015 15:07:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=22975; q=dns/txt; s=iport; t=1433455650; x=1434665250; h=from:to:cc:subject:date:message-id:mime-version; bh=cuSgYAVSn5C5q7OcKCj0O5ZSXe2jwXP3v/5RwMkoyW0=; b=Dud3Ufl5XBfBjw8p4A7msOUZCn7dum6iGdLBpNXwazf41eHcsCkq5FPl Jl2x9FRYR5Orilnhc8iiKfVafxj5t8ZL9mGx0hh3isj4AzOWtrwrFDUsw KmABJWVbYUJltBgfDxbHmiHyEQqEVRPoUuWsTJpT37WwA3h/uEMP7PdET s=; X-Files: fq-pie_patch.tar.gz : 14391 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AmBACXy3BV/5hdJa1bgkVLVF4GhSG4QWYJgVuFd4E+OBQBAQEBAQEBgQqEJQR5EgEMAUMwJwQBDQUOiB8N22oBAQEBAQEBAQEBAQEBAQEBAQEBAQEXj2YRAU0EEIQkAQSTGoIVgUZhhmiBL4N1kiwkYXyCGm+BDDqBAQEBAQ X-IronPort-AV: E=Sophos;i="5.13,554,1427760000"; d="1'?gz'50?scan'50,208,217,50,49";a="4625929" Received: from rcdn-core-1.cisco.com ([173.37.93.152]) by rcdn-iport-3.cisco.com with ESMTP; 04 Jun 2015 22:07:01 +0000 Received: from xhc-rcd-x13.cisco.com (xhc-rcd-x13.cisco.com [173.37.183.87]) by rcdn-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id t54M70pX000679 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 4 Jun 2015 22:07:00 GMT Received: from xmb-aln-x02.cisco.com ([169.254.5.166]) by xhc-rcd-x13.cisco.com ([173.37.183.87]) with mapi id 14.03.0195.001; Thu, 4 Jun 2015 17:07:00 -0500 From: "Hironori Okano -X (hokano - AAP3 INC at Cisco)" To: "bloat@lists.bufferbloat.net" , "aqm@ietf.org" Thread-Topic: FQ-PIE kernel module implementation Thread-Index: AQHQnxLHo+U4nRH5VEqK1N9uhqwYKw== Date: Thu, 4 Jun 2015 22:06:59 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.155.33.130] Content-Type: multipart/mixed; boundary="_004_D1961A161087hokanociscocom_" MIME-Version: 1.0 Cc: "Rong Pan \(ropan\)" , "Preethi Natarajan \(prenatar\)" Subject: [Bloat] FQ-PIE kernel module implementation X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jun 2015 22:07:30 -0000 --_004_D1961A161087hokanociscocom_ Content-Type: multipart/alternative; boundary="_000_D1961A161087hokanociscocom_" --_000_D1961A161087hokanociscocom_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi all, I=92m Hironori Okano and Fred=92s intern. I=92d like to let you know that I have implemented FQ-PIE as a linux kernel= module =93fq-pie" and iproute2 for fq-pie. This was done in collaboration with others at Cisco including Fred Baker, R= ong Pan, Bill Ver Steeg, and Preethi Natarajan. The source codes are in my github repository. I attached patch file =93fq-p= ie_patch.tar.gz=94 to this email also. I=92m using the latest linux kernel (git.kernel.org/pub/scm/linux/kernel/gi= t/next/linux-next.git) fq-pie kernel module https://github.com/hironoriokano/fq-pie.git iproute2 for fq-pie https://github.com/hironoriokano/iproute2_fq-pie.git If you have any comments, please reach out to me. Best regards, Hironori Okano hokano@cisco.com --_000_D1961A161087hokanociscocom_ Content-Type: text/html; charset="Windows-1252" Content-ID: <7B38E61608330148A0D0F1C641236604@emea.cisco.com> Content-Transfer-Encoding: quoted-printable
Hi all,

I=92m Hironori Okano and Fred=92s intern. 
I=92d like to let you know that I have implemented FQ-PIE as a linux k= ernel module =93fq-pie" and iproute2 for fq-pie.
This was done in collaboration with others at Cisco including Fred Bak= er, Rong Pan, Bill Ver Steeg, and Preethi Natarajan.

The source codes are in my github repository. I attached patch file = =93fq-pie_patch.tar.gz=94 to this email also.
I=92m using the latest linux kernel (git.kernel.org/pub/scm/linux/kern= el/git/next/linux-next.git)

fq-pie kernel module

iproute2 for fq-pie

If you have any comments, please reach out to me.

Best regards,

Hironori Okano
hokano@cisco.com
--_000_D1961A161087hokanociscocom_-- --_004_D1961A161087hokanociscocom_ Content-Type: application/x-gzip; name="fq-pie_patch.tar.gz" Content-Description: fq-pie_patch.tar.gz Content-Disposition: attachment; filename="fq-pie_patch.tar.gz"; size=14391; creation-date="Thu, 04 Jun 2015 22:06:59 GMT"; modification-date="Thu, 04 Jun 2015 22:06:59 GMT" Content-ID: Content-Transfer-Encoding: base64 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 /bx+Xj+vn9fP6+f18/p5/uf/ALfEGRQA8AAA --_004_D1961A161087hokanociscocom_--