<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span style="font-family: monospace; ">There is progress. netem is recently patched. Now it works as expected.</span><br style="font-family: monospace; "><a href="http://www.spinics.net/lists/netdev/msg247265.html" style="font-family: monospace; ">http://www.spinics.net/lists/netdev/msg247265.html</a><br style="font-family: monospace; "><br style="font-family: monospace; "><span style="font-family: monospace; ">Teco</span><div><font face="monospace"><br></font><div><div>Op 14 aug. 2013, om 13:12 heeft Teco Boot &lt;<a href="mailto:teco@inf-net.nl">teco@inf-net.nl</a>&gt; het volgende geschreven:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">OK, I tested with 1s 500m. Doesn't work.<div>Has to do with my packet rate. Inter-packet spacing is less than jitter. This is my real world behavior I want emulate.</div><div><br></div><div><div>I know I can reorder with delay and jitter. My requirement is not to reorder and have large jitter.</div><div><br></div><div>There is a change reported in older kernels, where stacked pfifo and netem didn't work anymore. I'm afraid this is still the case today and people like me are less motivated to bring old days kernels back to life. I still hope I do something terribly wrong with my chain of tc commands.</div><div><br></div><div>Teco</div><div><br></div><div><br><div><div>Op 14 aug. 2013, om 13:01 heeft Sebastian Małyska &lt;<a href="mailto:sebastian.malyska@gmail.com">sebastian.malyska@gmail.com</a>&gt; het volgende geschreven:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div><div><div>I meant rather first number should be big enough that 1st - 2nd &gt; 0. So if you need the eg. netem delay 250ms 50ms.<br><br></div>As far I remember, when I was playing w/ netem I wasn't able to reorder outgoing traffic via 'delay' only. For reordering there was separated option 'reorder'. But since them there was a few modification maybe somebody changed it.<br>

<br></div>Best regards<br></div>Seba<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/8/14 Teco Boot <span dir="ltr">&lt;<a href="mailto:teco@inf-net.nl" target="_blank">teco@inf-net.nl</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "><div style="word-wrap:break-word">No. The test script emphasis the problem a little bit, I know.<div>Satcom, 2G, 3G and even 4G have larger delay than the 10ms. It is in the order of 100ms to &gt; 700ms (2-hop satcom).</div>

<div>Jitter due to congestion could be terrible or worse. The 500ms is realistic.</div><div><br></div><div>Even with your suggested 10ms 5ms and rate &gt; 200pps, there is out of order.</div><div>That is why I am looking for a more fundamental solution. The calculated send time for each packet should not be earlier than any previous packet. Maybe maintaining a single time variable can do the job.</div>

<div><br></div><div>Teco<br><div><br></div><div><br><div><div>Op 14 aug. 2013, om 12:01 heeft Sebastian Małyska &lt;<a href="mailto:sebastian.malyska@gmail.com" target="_blank">sebastian.malyska@gmail.com</a>&gt; het volgende geschreven:</div>

<div><div class="h5"><br><blockquote type="cite"><div dir="ltr"><div><div>Shouldn't be eg.:<br>tc qdisc add &nbsp; dev eth0 handle 2 parent 1:0 netem delay 10ms 5ms<br></div>instead of:<br>tc qdisc add &nbsp; dev eth0 handle 2 parent 1:0 netem delay 10ms 500ms<br>

<br></div>Regards<br>

Seba<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/8/14 Teco Boot <span dir="ltr">&lt;<a href="mailto:teco@inf-net.nl" target="_blank">teco@inf-net.nl</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



X-posting, because the root course is netem.<br>
<br>
Anyone use jitter without reordering on recent kernel?<br>
If so, what terrible mistake do I make?<br>
<br>
Teco<br>
<br>
<br>
Begin doorgestuurd bericht:<br>
<br>
&gt; Van: Teco Boot &lt;<a href="mailto:teco@inf-net.nl" target="_blank">teco@inf-net.nl</a>&gt;<br>
&gt; Onderwerp: Jitter without packet reordering<br>
&gt; Datum: 13 augustus 2013 17:57:08 CEST<br>
&gt; Aan: "<a href="mailto:core-users@pf.itd.nrl.navy.mil" target="_blank">core-users@pf.itd.nrl.navy.mil</a>" &lt;<a href="mailto:core-users@pf.itd.nrl.navy.mil" target="_blank">core-users@pf.itd.nrl.navy.mil</a>&gt;<br>


&gt;<br>
&gt; I want to verify applications and transport protocols on emulated heavily congested links. With coresendmsg or netem, I can configure delay and jitter. But this has as side effect an unrealistic out of order. I cannot use this in my tests.<br>




&gt;<br>
&gt; The netem info page provides some old information on how to circumvent this.<br>
&gt; <a href="http://www.linuxfoundation.org/collaborate/workgroups/networking/netem#How_to_reorder_packets_based_on_jitter.3F" target="_blank">http://www.linuxfoundation.org/collaborate/workgroups/networking/netem#How_to_reorder_packets_based_on_jitter.3F</a><br>




&gt; I tested on 3.8 kernel, I cannot get the desired results. I could have made a stupid mistake.<br>
&gt;<br>
&gt; Anyone use something that works, on recent kernel?<br>
&gt;<br>
&gt; Teco<br>
&gt;<br>
&gt;<br>
&gt; My test script:<br>
&gt; ===============<br>
&gt; root@ubuntu:~# cat tc<br>
&gt;<br>
&gt; tc qdisc del dev eth0 root<br>
&gt;<br>
&gt; tc qdisc add &nbsp; dev eth0 handle 1 root tbf limit 2000 burst 1000 rate 4000<br>
&gt; tc qdisc add &nbsp; dev eth0 handle 2 parent 1:0 netem delay 10ms 500ms<br>
&gt; tc qdisc add &nbsp; dev eth0 handle 3 parent 2:0 pfifo limit 10<br>
&gt; tc qdisc show<br>
&gt; echo<br>
&gt; ping -c 10 -i 0.01 -w 3 192.168.222.1<br>
&gt; echo<br>
&gt; tc -s qdisc show<br>
&gt; root@ubuntu:~#<br>
&gt;<br>
&gt;<br>
&gt; Outcome:<br>
&gt; ========<br>
&gt; root@ubuntu:~# ./tc<br>
&gt; RTNETLINK answers: No such file or directory<br>
&gt; qdisc tbf 1: dev eth0 root refcnt 2 rate 4000bit burst 1000b lat 2.0s<br>
&gt; qdisc netem 2: dev eth0 parent 1: limit 1000 delay 10.0ms &nbsp;500.0ms<br>
&gt; qdisc pfifo 3: dev eth0 parent 2: limit 10p<br>
&gt;<br>
&gt; PING 192.168.222.1 (192.168.222.1) 56(84) bytes of data.<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=13 ttl=64 time=149 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=2 ttl=64 time=270 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=15 ttl=64 time=127 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=14 ttl=64 time=138 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=10 ttl=64 time=183 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=7 ttl=64 time=215 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=18 ttl=64 time=96.1 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=24 ttl=64 time=31.3 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=22 ttl=64 time=52.9 ms<br>
&gt; 64 bytes from <a href="http://192.168.222.1/" target="_blank">192.168.222.1</a>: icmp_req=4 ttl=64 time=328 ms<br>
&gt;<br>
&gt; --- 192.168.222.1 ping statistics ---<br>
&gt; 34 packets transmitted, 10 received, 70% packet loss, time 359ms<br>
&gt; rtt min/avg/max/mdev = 31.338/159.334/328.344/88.216 ms, pipe 31<br>
&gt;<br>
&gt; qdisc tbf 1: dev eth0 root refcnt 2 rate 4000bit burst 1000b lat 2.0s<br>
&gt; Sent 1022 bytes 11 pkt (dropped 0, overlimits 10 requeues 0)<br>
&gt; backlog 784b 13p requeues 0<br>
&gt; qdisc netem 2: dev eth0 parent 1: limit 1000 delay 10.0ms &nbsp;500.0ms<br>
&gt; Sent 1120 bytes 12 pkt (dropped 11, overlimits 0 requeues 0)<br>
&gt; backlog 784b 9p requeues 0<br>
&gt; qdisc pfifo 3: dev eth0 parent 2: limit 10p<br>
&gt; Sent 1120 bytes 12 pkt (dropped 11, overlimits 0 requeues 0)<br>
&gt; backlog 392b 4p requeues 0<br>
&gt; root@ubuntu:~#<br>
&gt;<br>
<br>
_______________________________________________<br>
Netem mailing list<br>
<a href="mailto:Netem@lists.linux-foundation.org" target="_blank">Netem@lists.linux-foundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/netem" target="_blank">https://lists.linuxfoundation.org/mailman/listinfo/netem</a><br>
</blockquote></div><br></div>
</blockquote></div></div></div><br></div></div></div></blockquote></div><br></div>
</blockquote></div><br></div></div></div></blockquote></div><br></div></body></html>