From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3on0064.outbound.protection.outlook.com [157.55.234.64]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id B8A0C21F7F0 for ; Thu, 5 Nov 2015 05:56:23 -0800 (PST) Received: from HE1PR07MB0940.eurprd07.prod.outlook.com (10.162.27.146) by HE1PR07MB0825.eurprd07.prod.outlook.com (10.162.24.151) with Microsoft SMTP Server (TLS) id 15.1.312.18; Thu, 5 Nov 2015 13:56:19 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kevin@darbyshire-bryant.me.uk; Received: from [IPv6:2001:470:183f:da2b::632f:a7da] (2001:470:183f:da2b::632f:a7da) by HE1PR07MB0940.eurprd07.prod.outlook.com (10.162.27.146) with Microsoft SMTP Server (TLS) id 15.1.312.18; Thu, 5 Nov 2015 13:56:17 +0000 To: Sebastian Moeller References: <563B5093.1030807@darbyshire-bryant.me.uk> From: Kevin Darbyshire-Bryant Message-ID: <563B5FFC.9080302@darbyshire-bryant.me.uk> Date: Thu, 5 Nov 2015 13:56:12 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms040805070301000007030302" X-Originating-IP: [2001:470:183f:da2b::632f:a7da] X-ClientProxiedBy: AM3PR08CA0049.eurprd08.prod.outlook.com (25.163.23.145) To HE1PR07MB0940.eurprd07.prod.outlook.com (25.162.27.146) X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0940; 2:jNHBlv/YinzcYSSgUGUrB+Fmsr1Pv5dfACpIYCfhfYrZSTnl0jGuzhjFaB39Pr7YIMOa+iVP+0eUOV7hh6xwDrMjDzy/aZDNiarhWh+YvxPd3Q0jA0HMJTE/lKhtphIxxSkFkzOJWmefw1O2Gc1tLgDpDVXc/44S2rUwW0zDlH4=; 3:a/cmOrVKO4GAvtpulb9LelVSqnQA5K/jTzFgcDw2o0b9htilFlGlVQECLoyNea+Yo3yKCK5OTSfR03sjejA+D8YlEuAfNtYMb69Ih2ILLwFp52jD216SyWsR59USnUoa39MrurVMu8bHbg0RvxyBiQ==; 25:jrTP7qC3WAhklyg+/xnzU8YthmgFHBnT6gadiGu+duod+tTrvmNe1X0nhWYPcZNLcZO0HwdZRABmJX39C2gOia95VzN3N/baK37aXo+J57iat8ib8UoTU5Pq2KzXppAWaGlBbDqJtsW75t/1lp5HgSQ/qT6nuf/cbhIUtPi8zGQ07COMCzvvY1njgTZ9No+0lSU2nI66lq6iZUthbTEdqi59pxHzV7WGTmg+L7nRXA2bcl9tDUshMFlS7+QFAAB+Yhpww0g/IdNZ/vMW41lJzg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR07MB0940; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(159216200783502); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(10201501046)(3002001); SRVR:HE1PR07MB0940; BCL:0; PCL:0; RULEID:; SRVR:HE1PR07MB0940; X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0940; 4:ZNrISw+BhMD4V0uH1NEu/+Q5bVV+qyrnwODdCEg2I8mL240fmBml+rHJ9sOU9msKwjtFBPcQHIkaV8WilKwnGI9OvTiPmlD13RUjgoB4/Rx8KpOMoTjA0T//6f1EK0QfmXRhhT4DFZy8GW5YeQxPdJf587hRp83lm+MUjoL39Ska+0ht6pPltpN19Rh3k/+VuV8vXt3Jib9iP8WOFvM6hsy/icVBcPzRISzm88cjwKKUyqWzcwYv7rWwFgEJsz1ei3Ok1oTzS/dDS0tSgxYtLaAar8Aef6zDnIq030pHbHIBN/K91+bQ9alF09my89TAFMAKWwLL/v0xyH4wSz7EKFFCdjM2H35wrjNWrGqf4OCmjEZNpCdTO99bNhDugiqE X-Forefront-PRVS: 0751474A44 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(24454002)(189002)(479174004)(199003)(5890100001)(54356999)(65956001)(83506001)(101416001)(4001350100001)(64126003)(87976001)(5004730100002)(4810100001)(19580405001)(5007970100001)(122386002)(81156007)(80316001)(84326002)(97736004)(189998001)(77096005)(5001960100002)(40100003)(65806001)(110136002)(42186005)(105586002)(36756003)(87266999)(21490400002)(512944002)(59896002)(86362001)(2950100001)(76176999)(50986999)(65816999)(19580395003)(92566002)(74482002)(568964002)(33656002)(5008740100001)(512874002)(106356001)(7059030)(3826002)(5001840100002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB0940; H:[IPv6:2001:470:183f:da2b::632f:a7da]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: darbyshire-bryant.me.uk does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR07MB0940; 23:5Hb7oKGgRUZelBptZW5O46R1DG0S8wWA3xPorD5L2?= =?us-ascii?Q?Q40Cc4q+GzXGyVy7eDV7dXdmPmBn7KYLHpXHNVrFghq7KKyiW8zBq3n/5lgC?= =?us-ascii?Q?3LsFlQe/9LE0zpqN4AXhwV4ffwScmW2rNnlv6uuZitRbSmtt+NvVNKbxVr+v?= =?us-ascii?Q?5tKmjjiNroV1nOxPSnGSRcTagZjEgRFnTLAs5ZCX+YnZqmBU2zG4u+cSedrA?= =?us-ascii?Q?cCFeV0fbmBTNAaoWUS3rkB8C9POs6P6aDaZ/jNvSWJajWgXP6oRXJmSz5tkm?= =?us-ascii?Q?5/80DfK5XbMuk1ZS6kN8tbj4mcZJfnHZNjMahX7b+xsOIa3vxsjHXLSZfZtm?= =?us-ascii?Q?6KieWrz4Y8zb8qXfmafEpJ58MsT4ho/GsSm4BpSr+dSeiEl6Ll7qqDgN4/sn?= =?us-ascii?Q?R0uTFTDWlGGmaGQv/95j6pYIkboyvOYj2UtHGdaAOBMx+zTU046q5oTjYoft?= =?us-ascii?Q?BOsl78w9vf22irgHPUVY2KcXZKaPRUtZSrve5AV6LqJF2bxCrZhwLzdwnDmD?= =?us-ascii?Q?Bgp8kABh7eAfnHyw9ZdcpLKZP6pQpNSsOopQ1l1Ozcc7NnJR1h77EsR/C4Bo?= =?us-ascii?Q?+lyMm6dq6FUh1M8fsQnkomqThAp/7bJIbaiKvZy5RdvIyCYL8NJ/PDjAeR6j?= =?us-ascii?Q?L1ZcGSFCDSMyAcOnW1ClmVl8nY8VOsmoV14HF3ufwF+ivl6feCUklXAkaBor?= =?us-ascii?Q?to5WPGLrHnAgUrSfXrOacJ93GMhkx8dJrAk6nx6Q3EGm03666HopqF5CGDih?= =?us-ascii?Q?LELQV0bJ0QE0bZQ4USZduEG5r8Pl5qFfb3kZVj4LteeY3b0cZ4TI8LDpglbY?= =?us-ascii?Q?FZDvv2RdUc3rysVIg1XGxldC7lhpgnUENmQjB43Qw+4paOfLtQtPU7DPP+5J?= =?us-ascii?Q?TuGHh+k5B2cdpFaZB9uqVRqmcIav2C+zXp21ylVi/gTdnCYGh0Ixb45DGvau?= =?us-ascii?Q?unS8ywBuU4r/scrM//rDTdC5A3m8+YR31GQtp7c66E3uXkGrbYvGkwSgJF/p?= =?us-ascii?Q?0bJ1DpLlBrBqhUNdSC4ddo96CVq4mMi12fzjtFc3KMvq7tiRniyUFEhGFNrC?= =?us-ascii?Q?UFf0f0SnlV21YfU8CiGSv7wRNHsO1/rLYK+my+4zcyMlVIzEhMd8ZUAsn8ql?= =?us-ascii?Q?RtDGWB/vrcxyCOzFbTglw27dCVqErlGKcM6hYoCgcxRU3kcl3pGHFKZXfPtx?= =?us-ascii?Q?RrIiDnYNdW4FipPz19FHQkYPh8qKP6DQurXITl/MACB0BHx3KbLskd7q/Vhw?= =?us-ascii?Q?JWo6+EoJGiQFGMZBHuTtDoc+1bbi1+YC53JTu6Dr3Lj3ZAzT8RXLXSURjajA?= =?us-ascii?Q?zP1CutcVeXlv/tjFQ7Tuo7Zkvj8GXQ6pLoiTQqFnbWf6Le/HC903gDCzYliC?= =?us-ascii?Q?lqtCw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0940; 5:dQvRq3J8+8OByob8i7Dpbskrc8/5aVKmaw7J8TvWzCaNDhkC7pX+zOn2qr2K7BP55Rjd1+Y0ILBOecBOp2dS7r0h1tGlXdh6isW7480ST0EEnBWgiCifQkfxVxPxVFtjvYUs2TiOXhPLclRyc/zc6g==; 24:9+/FlpK1XMDQb5QDxFPXaebELA3BB/te+7w0IId7Oa6GRMlWv3e6tB+7zc1bWqhfMiSsiSD67TYJZTWPLXzm5oULx0TqMze557QaVy20tB0=; 20:ecXhseKCgKafHlJLpAJlLwIC0Pn5J1EVNRv48uwuvtMM0oolIaQ6BALkz8AIvkylTFNMKV9FmzepoobrnDr0Pw== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Nov 2015 13:56:17.2593 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB0940 X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0825; 2:5/eQ0Iqm4Ef5ISiicFADDYhcpIFMTpYvylTlypTZ3M2YGcunFvuRpI6RnEaE140EIg2sr/jEQtH2Gjf/C21Zqo4T+dnrFy53Hc08wNPeSHwArn3NR7925wREI73D6eOJxyyjrJ9mYuQ/l3HXXzmBnjEWd8BGiSC4yGLadUudf0Y=; 23:pSZNBemQafENMNiOKmwREis84fAnMJZhNWQG/++AlZdQ2RESWEvwwhVUIJsXtE1+GMG7pTcg5tEZisxfXGlEQBi7IOaKBd1/qyvKP7Cw3itMiq8TpccGEj9Ctagj4pAwW4ZpnTFFuPqYyEUvtZ0PEO0NTEiLL5BQJVgWI9xFDuaMbq20aYBSxf6sLYADiL5r X-OriginatorOrg: darbyshire-bryant.me.uk Cc: cake@lists.bufferbloat.net Subject: Re: [Cake] Flent - EF & CS5 classes X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Nov 2015 13:56:46 -0000 --------------ms040805070301000007030302 Content-Type: multipart/mixed; boundary="------------000309000405040706000609" This is a multi-part message in MIME format. --------------000309000405040706000609 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 05/11/15 12:55, Sebastian Moeller wrote: > Hi Kevin, > > On Nov 5, 2015, at 13:50 , Kevin Darbyshire-Bryant wrote: > >> Afternoon list :-) >> >> I've just been playing a little with 'flent' and noticed that the >> default 'rrul' test maybe doesn't exercise cake's tin segments as much= >> as it could. Flent graphs EF & CS5 traffic but in both diffserv4 & >> diffserv8 cake puts that traffic into the same tin. With a diffserv4 >> config, flent rrul tests tins 0,1 & 3 (Bk, be & voice) but nothing get= s >> put in tin 2 ('streaming video') >> >> What am I doing wrong? :-) Again! > I believe nothing; I always considered this to be on purpose to have o= ne shared tier (but I note that simple.qos only has three tiers to begin = with ;)). Maybe it is time for rrul8 spawning one stream per CS? Then we = would see how the different classes behave as well as the effect of coinh= ibitation of a band by multiple flows=85 > > Best Regards > Sebastian > Ok, well I fiddled around and messed about which is the sort of thing I do and modified the existing rrul to exercise cake diffserv4 tins.=20 Attached :-) --------------000309000405040706000609 Content-Type: text/plain; charset=UTF-8; name="rrul_splittin.conf" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="rrul_splittin.conf" ## -*- mode: python; coding: utf-8 -*- ## rrul test specification include("netperf_definitions.inc") DESCRIPTION=3D"Realtime Response Under Load 4-way cake split-tin bake" DEFAULTS=3D{'PLOT': "all_scaled"} DATA_SETS =3D o([ ('TCP upload BE', {'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking=3D"CS0,= CS0"), 'delay': DELAY, 'units': 'Mbits/s', 'runner': 'netperf_demo',}), ('TCP upload BK', {'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking=3D"CS1,= CS1"), 'delay': DELAY, 'units': 'Mbits/s', 'runner': 'netperf_demo',}), ('TCP upload CS3', {'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking=3D"CS3,= CS3"), 'delay': DELAY, 'units': 'Mbits/s', 'runner': 'netperf_demo',}), ('TCP upload EF', {'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking=3D"EF,E= F"), 'delay': DELAY, 'units': 'Mbits/s', 'runner': 'netperf_demo',}), ('TCP upload avg', {'apply_to': [glob("TCP upload*", exclude=3D["TCP upload sum"])], 'units': 'Mbits/s', 'runner': 'average',}), ('TCP upload sum', {'apply_to': [glob("TCP upload*", exclude=3D["TCP upload avg"])], 'units': 'Mbits/s', 'runner': 'sum',}), ('TCP download BE', {'command': find_netperf("TCP_MAERTS", LENGTH, HOST, marking=3D"CS0,= CS0"), 'delay': DELAY, 'units': 'Mbits/s', 'runner': 'netperf_demo',}), ('TCP download BK', {'command': find_netperf("TCP_MAERTS", LENGTH, HOST, marking=3D"CS1,= CS1"), 'delay': DELAY, 'units': 'Mbits/s', 'runner': 'netperf_demo',}), ('TCP download CS3', {'command': find_netperf("TCP_MAERTS", LENGTH, HOST, marking=3D"CS3,= CS3"), 'delay': DELAY, 'units': 'Mbits/s', 'runner': 'netperf_demo',}), ('TCP download EF', {'command': find_netperf("TCP_MAERTS", LENGTH, HOST, marking=3D"EF,E= F"), 'delay': DELAY, 'units': 'Mbits/s', 'runner': 'netperf_demo',}), ('TCP download avg', {'apply_to': [glob("TCP download*", exclude=3D["TCP download sum"])]= , 'units': 'Mbits/s', 'runner': 'average',}), ('TCP download sum', {'apply_to': [glob("TCP download*", exclude=3D["TCP download avg"])]= , 'units': 'Mbits/s', 'runner': 'sum',}), ('TCP totals', {'apply_to': [glob("TCP*", exclude=3D["TCP download avg", "TCP downl= oad sum", "TCP upload avg", "TCP upload sum"])], 'units': 'Mbits/s', 'runner': 'sum',}), ('Ping (ms) UDP EF', {'command': find_netperf("UDP_RR", TOTAL_LENGTH, HOST, marking=3D"EF= ,EF"), 'data_transform': 'rr_to_ms', 'units': 'ms', 'runner': 'netperf_demo',}), ('Ping (ms) UDP BK', {'command': find_netperf("UDP_RR", TOTAL_LENGTH, HOST, marking=3D"CS= 1,CS1"), 'data_transform': 'rr_to_ms', 'units': 'ms', 'runner': 'netperf_demo',}), ('Ping (ms) UDP BE', {'command': find_netperf("UDP_RR", TOTAL_LENGTH, HOST), 'data_transform': 'rr_to_ms', 'units': 'ms', 'runner': 'netperf_demo',}), ('Ping (ms) ICMP', {'command': find_ping(IP_VERSION, STEP_SIZE, TOTAL_LENGTH, HOST), 'units': 'ms', 'runner': 'ping',}), ('Ping (ms) avg', {'apply_to': [glob("Ping (ms)*")], 'units': 'ms', 'runner': 'average',}), ]) PLOTS =3D o([ ('download', {'description': 'Download bandwidth plot', 'type': 'timeseries', 'legend_title': 'TCP download', 'series': [{'data': 'TCP download BE', 'label': 'BE'}, {'data': 'TCP download BK', 'label': 'BK'}, {'data': 'TCP download CS3', 'label': 'CS3'}, {'data': 'TCP download EF', 'label': 'EF'}, {'data': 'TCP download avg', 'label': 'Avg', 'smoothing': 10, 'color': 'black', 'linewidth': 2}]}), ('download_scaled', {'description': 'Download bandwidth w/axes scaled to remove outliers= ', 'parent': 'download', 'scaling': (5,95)}), ('upload', {'description': 'Upload bandwidth plot', 'type': 'timeseries', 'legend_title': 'TCP upload', 'series': [{'data': 'TCP upload BE', 'label': 'BE'}, {'data': 'TCP upload BK', 'label': 'BK'}, {'data': 'TCP upload CS3', 'label': 'CS3'}, {'data': 'TCP upload EF', 'label': 'EF'}, {'data': 'TCP upload avg', 'label': 'Avg', 'smoothing': 10, 'color': 'black', 'linewidth': 2}]}), ('upload_scaled', {'description': 'Upload bandwidth w/axes scaled to remove outliers',= 'parent': 'upload', 'scaling': (5,95)}), ('ping', {'description': 'Ping plot', 'type': 'timeseries', 'legend_title': 'Ping (ms)', 'axis_labels': ['Latency (ms)'], 'series': [ {'data': 'Ping (ms) UDP BE', 'label': 'UDP BE'}, {'data': 'Ping (ms) UDP BK', 'label': 'UDP BK'}, {'data': 'Ping (ms) ICMP', 'label': 'ICMP'}, {'data': 'Ping (ms) UDP EF', 'label': 'UDP EF'}, {'data': 'Ping (ms) avg', 'label': 'Avg', 'smoothing': 10, 'color': 'black', 'linewidth': 2}]}), ('ping_scaled', {'description': 'Ping w/axes scaled to remove outliers', 'parent': 'ping', 'scaling': (5,95)}), ('ping_cdf', {'description': 'Ping CDF plot', 'type': 'cdf', 'axis_labels': ['Latency (ms)'], 'parent': 'ping', 'cutoff': (DELAY,DELAY)}), ('icmp_cdf', {'description': 'ICMP CDF plot', 'type': 'cdf', 'axis_labels': ['Latency (ms)'], 'series': [{'data': 'Ping (ms) ICMP', 'label': 'Ping (ms)'}, ], 'cutoff': (DELAY,DELAY)}), ('totals_bandwidth', {'description': 'Total bandwidth', 'type': 'timeseries', 'series': [{'data': 'TCP download sum', 'label': 'Download', 'smoothing': 10}, {'data': 'TCP upload sum', 'label': 'Upload', 'smoothing': 10}]}), ('totals', {'description': 'Total bandwidth and average ping plot', 'type': 'timeseries', 'dual_axes': True, 'axis_labels': [None, 'Latency (ms)'], 'series': [{'data': 'TCP download sum', 'label': 'Download', 'smoothing': 10}, {'data': 'TCP upload sum', 'label': 'Upload', 'smoothing': 10}, {'data': 'Ping (ms) avg', 'label': 'Ping (ms)', 'smoothing': 10, 'color': 'red', 'axis': 2}]}), ('totals_scaled', {'description': 'Total bandwidth and average ping plot (scaled)', 'parent': 'totals', 'scaling': (5,95)}), ('all_scaled', {'description': 'Download, upload, ping (scaled versions)', 'type': 'meta', 'subplots': ('download_scaled', 'upload_scaled', 'ping_scaled')}), ('all', {'description': 'Download, upload, ping (unscaled versions)', 'type': 'meta', 'subplots': ('download', 'upload', 'ping')}), ('box_download', {'description': 'Download bandwidth box plot', 'parent': 'download', 'type': 'box'}), ('box_upload', {'description': 'Upload bandwidth box plot', 'parent': 'upload', 'type': 'box'}), ('box_ping', {'description': 'Ping box plot', 'parent': 'ping', 'type': 'box'}), ('box_totals', {'description': 'Box plot of totals', 'parent': 'totals', 'type': 'box',}), ('icmp_combine', {'description': 'Combined ICMP ping plot', 'parent': 'icmp_cdf', 'type': 'timeseries_combine', 'group_by': 'groups_points', 'cutoff': None}), ('box_combine', {'description': 'Box plot of averages of several data files.', 'type': 'box_combine', 'dual_axes': True, 'axis_labels': ['Mean TCP goodput (Mbit/s)', 'Mean induced latency = (ms)'], 'cutoff': (DELAY,DELAY), 'series': [{'data': 'TCP download sum', 'label': 'Download', 'combine_mode': 'meta:MEAN_VALUE'}, {'data': 'TCP upload sum', 'label': 'Upload', 'combine_mode': 'meta:MEAN_VALUE'}, {'data': 'Ping (ms) avg', 'label': 'Induced latency (ms)', 'combine_mode': 'mean_span', 'axis': 2}]}), ('qq_icmp', {'description': 'Q-Q plot of ICMP pings', 'type': 'qq', 'series': [{'data': 'Ping (ms) ICMP', 'label': 'Latency (ms)'}, ]}), ('qq_download', {'description': 'Q-Q plot of total download bandwidth', 'type': 'qq', 'series': [{'data': 'TCP download sum', 'label': 'Download (Mbps)'}, ]}), ('qq_upload', {'description': 'Q-Q plot of total upload bandwidth', 'type': 'qq', 'series': [{'data': 'TCP upload sum', 'label': 'Upload (Mbps)'}, ]}), ('ellipsis', {'description': 'Ellipsis plot', 'type': 'ellipsis', 'series': [{'data': 'Ping (ms) avg', 'label': 'Latency (avg)'}, {'data': 'TCP upload sum', 'label': 'Upload (Mbps)'} ]}), ('ellipsis_down', {'description': 'Ellipsis plot', 'type': 'ellipsis', 'series': [{'data': 'Ping (ms) avg', 'label': 'Latency (avg)'}, {'data': 'TCP download sum', 'label': 'Download (Mbps)'}, ]}), ('ellipsis_sum', {'description': 'Ellipsis plot', 'type': 'ellipsis', 'series': [{'data': 'Ping (ms) avg', 'label': 'Latency (avg)'}, {'data': 'TCP totals', 'label': 'Throughput (Mbps)'} ]}), ]) --------------000309000405040706000609-- --------------ms040805070301000007030302 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC DYEwggY0MIIEHKADAgECAgEeMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0 ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe Fw0wNzEwMjQyMTAxNTVaFw0xNzEwMjQyMTAxNTVaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UE ChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUg U2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0 ZSBDbGllbnQgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHCYPMzi3YGrEp pC4Tq5a+ijKDjKaIQZZVR63UbxIP6uq/I0fhCu+cQhoUfE6ERKKnu8zPf1Jwuk0tsvVCk6U9 b+0UjM0dLep3ZdE1gblK/1FwYT5Pipsu2yOMluLqwvsuz9/9f1+1PKHG/FaR/wpbfuIqu54q zHDYeqiUfsYzoVflR80DAC7hmJ+SmZnNTWyUGHJbBpA8Q89lGxahNvuryGaC/o2/ceD2uYDX 9U8Eg5DpIpGQdcbQeGarV04WgAUjjXX5r/2dabmtxWMZwhZna//jdiSyrrSMTGKkDiXm6/3/ 4ebfeZuCYKzN2P8O2F/Xe2AC/Y7zeEsnR7FOp+uXAgMBAAGjggGtMIIBqTAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUU3Ltkpzg2ssBXHx+ljVO8tS4UYIw HwYDVR0jBBgwFoAUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwZgYIKwYBBQUHAQEEWjBYMCcGCCsG AQUFBzABhhtodHRwOi8vb2NzcC5zdGFydHNzbC5jb20vY2EwLQYIKwYBBQUHMAKGIWh0dHA6 Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNydDBbBgNVHR8EVDBSMCegJaAjhiFodHRwOi8v d3d3LnN0YXJ0c3NsLmNvbS9zZnNjYS5jcmwwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wu Y29tL3Nmc2NhLmNybDCBgAYDVR0gBHkwdzB1BgsrBgEEAYG1NwECATBmMC4GCCsGAQUFBwIB FiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQGCCsGAQUFBwIBFihodHRw Oi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMA0GCSqGSIb3DQEBBQUAA4IC AQAKgwh9eKssBly4Y4xerhy5I3dNoXHYfYa8PlVLL/qtXnkFgdtY1o95CfegFJTwqBBmf8py TUnFsukDFUI22zF5bVHzuJ+GxhnSqN2sD1qetbYwBYK2iyYA5Pg7Er1A+hKMIzEzcduRkIMm CeUTyMyikfbUFvIBivtvkR8ZFAk22BZy+pJfAoedO61HTz4qSfQoCRcLN5A0t4DkuVhTMXIz uQ8CnykhExD6x4e6ebIbrjZLb7L+ocR0y4YjCl/Pd4MXU91y0vTipgr/O75CDUHDRHCCKBVm z/Rzkc/b970MEeHt5LC3NiWTgBSvrLEuVzBKM586YoRD9Dy3OHQgWI270g+5MYA8GfgI/EPT 5G7xPbCDz+zjdH89PeR3U4So4lSXur6H6vp+m9TQXPF3a0LwZrp8MQ+Z77U1uL7TelWO5lAp sbAonrqASfTpaprFVkL4nyGH+NHST2ZJPWIBk81i6Vw0ny0qZW2Niy/QvVNKbb43A43ny076 khXO7cNbBIRdJ/6qQNq9Bqb5C0Q5nEsFcj75oxQRqlKf6TcvGbjxkJh8BYtv9ePsXklAxtm8 J7GCUBthHSQgepbkOexhJ0wP8imUkyiPHQ0GvEnd83129fZjoEhdGwXV27ioRKbj/cIq7JRX un0NbeY+UdMYu9jGfIpDLtUUGSgsg2zMGs5R4jCCB0UwggYtoAMCAQICAw5ySjANBgkqhkiG 9w0BAQsFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNV BAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0 Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBMB4XDTE1MDYyMDIw MzA1MloXDTE2MDYyMDE0MjY0N1owVjEmMCQGA1UEAwwda2V2aW5AZGFyYnlzaGlyZS1icnlh bnQubWUudWsxLDAqBgkqhkiG9w0BCQEWHWtldmluQGRhcmJ5c2hpcmUtYnJ5YW50Lm1lLnVr MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAugCNtDhytCJ9HOfenUHr/vUGUECv PL1IJXgHMl4cIJmwgLOkXhIcTMxHnX+kFweqvT+eDWv1hzA9yMWhvjLFC4eLoFaV0xiAat8O XQ7t3MwKY5DW0mB1dOnjiFIcc/XMwyYI4KfEGnFMJQkzon0rDVpkl/Q1f/hu1sELO7Zc6TFL wuuDuiP7S73zrz50TRoq0+Ob3x0uOMW2uVwVzf6NLwHgBE2LFleMXblyUMx0IlIcLan2nWiI Vsa3XYd+C6KAGGwlmO4VAZ25KuX7hkj8f82lSapvtKTtvrSoDghXlHH2JXiIQX+Sn0UgOmbX 1KyOe9vN7WzQ+tpPRzpFRffnnnp1VQye3wVRPBumjDxQSFTOhUtslnvbefUQSPw6p5w9ZiXI GJICLkX/MkYN/TwGCvuUG2PxBybSR1A2I5ap+VI/zGSG3XGVEA69SOZQyD+8YjJZfaY2nCu+ DuM64JrJUi2CvX6fwcdHNschJNrrfetpnrx3JrGnG9o+pWuUG1phBg+KKN2bhrdzY79qm7ha 86EMKSUOn5nBdGY3YxdXq/naoUQeOCUV2JMFGOulu7sKpiWcz7HVFacXjd9ebisVLv+jOwll z14BWRb87s1+LBEJn/Ybn3ekhtgyEAhB4kgj0scl4hI8xCU6zrZyDnbXmxSvDXbClZA0PACt f/jhGvUCAwEAAaOCAuMwggLfMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQG CCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQULkW2CpDiQpRNumQ7wdspjFfgX+AwHwYD VR0jBBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4UYIwKAYDVR0RBCEwH4Eda2V2aW5AZGFyYnlz aGlyZS1icnlhbnQubWUudWswggFMBgNVHSAEggFDMIIBPzCCATsGCysGAQQBgbU3AQIDMIIB KjAuBggrBgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjCB9wYI KwYBBQUHAgIwgeowJxYgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwAwIBARqB vlRoaXMgY2VydGlmaWNhdGUgd2FzIGlzc3VlZCBhY2NvcmRpbmcgdG8gdGhlIENsYXNzIDEg VmFsaWRhdGlvbiByZXF1aXJlbWVudHMgb2YgdGhlIFN0YXJ0Q29tIENBIHBvbGljeSwgcmVs aWFuY2Ugb25seSBmb3IgdGhlIGludGVuZGVkIHB1cnBvc2UgaW4gY29tcGxpYW5jZSBvZiB0 aGUgcmVseWluZyBwYXJ0eSBvYmxpZ2F0aW9ucy4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDov L2NybC5zdGFydHNzbC5jb20vY3J0dTEtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5Bggr BgEFBQcwAYYtaHR0cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczEvY2xpZW50L2Nh MEIGCCsGAQUFBzAChjZodHRwOi8vYWlhLnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3Mx LmNsaWVudC5jYS5jcnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0G CSqGSIb3DQEBCwUAA4IBAQBicQWe98eF/o09TXFsExc+WSyYjt3oSnXyocLzXQp82CQhIg21 5RqNZ1e+hsO7tq8S6hdItUDbKpecpIV59+57ke1zVl2slTRIT19fhYINHH78rVVRPzuHoiDt MXnGrp9hbq3Cz8P4mm8INKDiYK46kyplRAQ3ZMouPG1lsnDzgQAvbCj74H8yAp7fK8if6cxs 28BCUmdP8D3c6M1ffdNNaqNT+4Z3mtOujXXg7zOfmXN0Zg/mEtZ0NrWE2uICGdWjTv9KZiI7 fi4hk2CRpCL63qzmu6BwtcgtwhgYYtuAk2N43+SiyDkyLKGAcjEor3t5f9HivN29E0F0MXTH 1OdgMYIFDTCCBQkCAQEwgZQwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBM dGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYD VQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQQID DnJKMA0GCWCGSAFlAwQCAwUAoIICSTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqG SIb3DQEJBTEPFw0xNTExMDUxMzU2MTJaME8GCSqGSIb3DQEJBDFCBEBfpfZC2TlE0Ar4Cp4C wsUOrIZbm1/h9uNLK71cL3qkwEV2GZ9Km4/1FELVQoTW8yNgxybPNU290RVnSeBubTF4MGwG CSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAO BggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgw gaUGCSsGAQQBgjcQBDGBlzCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2 BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB AgMOckowgacGCyqGSIb3DQEJEAILMYGXoIGUMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2ln bmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBD bGllbnQgQ0ECAw5ySjANBgkqhkiG9w0BAQEFAASCAgBg+p8Xp5/+GcLIHhwcX3YWn7TiyGsA WUhrwphAjczA9ay9tffvcf6M8J67FKlisrPR3Rl39c2/Zzhtqot802fvQnOzo7E2fSm5BMPx DIelgWA4jDonnKhdn+0HalEBdRv+2TH8Khz6YYfLc2yqCt3V0rVXIYsRlYNBlo06bmUv/yEl czVQveStrOYUKO+ThMDj1o+InlBHZLgDrsJiGvutRjpkUYoa4vS2n4g/EawJWSdQzr0a7ODC scIyhGUXss/bk6i80EsH36oSdcbF7EmfMiB6OtoZgfqL/s/hgyv4E55basyH3i5HHEA9ycih oTsglQDMTQyimR3ZtnBt4Z8sXQVDRNeMNayxjr3BpytLGyU0W+5QBjP7VWzREt9QrqOyKqlh rLGI2QWFcS7vy5HjYPabjT3Qx2/UNgE9kFhifb4dEfHdKn5a1iVXzzDewe31/gQT6y9pvej9 UBRGRMGWLb/mbNSunr/hyVJYPcH55+wF8oENf6L1veq91foLBHXIxL4qvYXbtOMMohXsP1s4 cg4fJeuJesjRsaImrlEKdbTvxxcJ58TARtvfovAmdDq26HzDTagfulQ5qXCQq9/B8sL/VBSJ YwVRrBrZp8TP68+Dk44lfAThjryfQaTd8I3XlAF4dopGG/v3x2NFw/WMRfvmizEx8kNxv5B6 BEIc7gAAAAAAAA== --------------ms040805070301000007030302--