<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
span.o
        {mso-style-name:o;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:407927824;
        mso-list-type:hybrid;
        mso-list-template-ids:113411046 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Good morning…<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve installed Jool kernel modules and userspace application on Ubuntu. jool_siit is running in a network namespace and I’m using veth pairs for network I/O. Please find attached details of my test environment.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>However, while running the TCP throughput test, I was able to achieve only 6Mbps of throughput. I’ve tested it by doing both <b>GRO on and off</b> on all the relevant interfaces with no performance improvements.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We are evaluating Jool for carrier grade NAT64 in our network infrastructure. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I was wondering if you can help me to improve performance results. Is there any tweaks or workarounds to overcome the performance limitation by Jool.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Below are the details of my environment. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Any help would be greatly appreciated.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks<o:p></o:p></p><p class=MsoNormal>Muhammad Ali<o:p></o:p></p><div style='mso-element:para-border-div;border:none;border-bottom:dotted windowtext 3.0pt;padding:0in 0in 1.0pt 0in'><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p style='mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;background:white'><span style='font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#091E42'>#Install the dependencies:<br>#Your kernel headers (version 3.2.0+)<o:p></o:p></span></p><pre style='margin-top:7.5pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;color:#091E42'>$ apt-get install linux-headers-$(uname -r)<o:p></o:p></span></pre><pre style='margin-top:7.5pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;color:#091E42'>$ apt-get install libnl-genl-3-dev unzip pkg-config<o:p></o:p></span></pre><p style='mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#091E42'># Installing the modules using Dynamic Kernel Module Support (DKMS):<br># Ensure the DKMS framework is installed:<o:p></o:p></span></p><pre style='margin-top:7.5pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;color:#091E42'>$ apt-get install dkms<o:p></o:p></span></pre><p style='mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#091E42'># Download Jool zip file<o:p></o:p></span></p><pre style='margin-top:7.5pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;color:#091E42'>$ wget <a href="https://github.com/NICMx/releases/raw/master/Jool/Jool-3.5.7.zip"><span style='color:#3572B0'>https://github.com/NICMx/releases/raw/master/Jool/Jool-3.5.7.zip</span></a><br><br>$ unzip Jool-3.5.7.zip<o:p></o:p></span></pre><p style='mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#091E42'>#Install using DKMS<o:p></o:p></span></p><pre style='margin-top:7.5pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;color:#091E42'>$ dkms install /path/to/Jool<o:p></o:p></span></pre><p style='mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#091E42'>#Install user space application<o:p></o:p></span></p><pre style='margin-top:7.5pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;color:#091E42'><br>$ ./configure<br>$ make<br>$ make install<o:p></o:p></span></pre><p style='mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#091E42'># Go to the network nasmespace and load kernel modules<o:p></o:p></span></p><pre style='margin-top:7.5pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;color:#091E42'>$ ip netns exec nsJool bash<br><br>$ </span><span style='font-size:10.5pt;color:#595959'>sysctl -w net.ipv4.conf.all.forwarding<span class=o>=</span>1</span><span style='font-size:10.5pt;color:#091E42'><br>$ </span><span style='font-size:10.5pt;color:#595959'>sysctl -w net.ipv6.conf.all.forwarding<span class=o>=</span>1</span><span style='font-size:10.5pt;color:#091E42'><br><br>$ modprobe jool<br>$ modprobe jool_siit<o:p></o:p></span></pre><pre style='margin-top:7.5pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;color:#091E42'><br>$ jool_siit --eamt --add 172.17.1.2 2001:db8::c60a:a03<br>$ jool_siit --eamt --add 198.10.10.2 2001:db8::c60a:a02<o:p></o:p></span></pre><p style='mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#091E42'>iperf -V -B 2001:db8::c60a:a02 -s (IPv6 NS)<o:p></o:p></span></p><p style='mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;background:white;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#091E42'>iperf -B 172.17.1.2 -c 198.10.10.2 -i 1 -t 30 (IPv4 NS)<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>