1
0
mirror of https://github.com/rtbrick/bngblaster.git synced 2024-05-06 15:54:57 +00:00
rtbrick-bngblaster/docs/streams.html
2022-06-15 08:35:51 +00:00

590 lines
58 KiB
HTML

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Traffic Streams &mdash; BNG Blaster 0.7 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/tabs.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Reports" href="reports.html" />
<link rel="prev" title="MPLS" href="routing/mpls.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> BNG Blaster
<img src="_static/rtbrick_logo.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="install.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Interfaces</a></li>
<li class="toctree-l1"><a class="reference internal" href="access/index.html">Access Protocols</a></li>
<li class="toctree-l1"><a class="reference internal" href="routing/index.html">Routing Protocols</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Traffic Streams</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#configuration">Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="#stream-configuration-file">Stream Configuration File</a></li>
<li class="toctree-l2"><a class="reference internal" href="#stream-commands">Stream Commands</a></li>
<li class="toctree-l2"><a class="reference internal" href="#raw-streams">RAW Streams</a></li>
<li class="toctree-l2"><a class="reference internal" href="#threaded-streams">Threaded Streams</a></li>
<li class="toctree-l2"><a class="reference internal" href="#start-stop-session-stream-traffic">Start/Stop Session Stream Traffic</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reports.html">Reports</a></li>
<li class="toctree-l1"><a class="reference internal" href="configuration/index.html">Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API/CLI</a></li>
<li class="toctree-l1"><a class="reference internal" href="controller.html">Controller</a></li>
<li class="toctree-l1"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">Frequently Asked Questions</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">BNG Blaster</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>Traffic Streams</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/streams.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="traffic-streams">
<span id="streams"></span><h1>Traffic Streams<a class="headerlink" href="#traffic-streams" title="Permalink to this headline"></a></h1>
<p>Traffic streams allow doing various forwarding verification
and QoS tests using BNG Blaster.</p>
<img alt="Interactive Streams" src="_images/bbl_streams.png" />
<p>Traffic streams are be divided in bounded and raw streams.
The first one is bound to an access configuration and derives
addresses dynamically from the sessions.</p>
<p>A raw stream is supported on <a class="reference internal" href="interfaces.html#interfaces"><span class="std std-ref">network interfaces</span></a> only.</p>
<section id="configuration">
<h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline"></a></h2>
<p>Following a simple PPPoE example with streams.</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;interfaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;network&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;interface&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;eth2&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.0.1/24&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;gateway&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.0.2&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;address-ipv6&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;fc66:1337:7331::1/64&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;gateway-ipv6&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;fc66:1337:7331::2&quot;</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;access&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;interface&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;eth1&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;outer-vlan-min&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1001</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;outer-vlan-max&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;inner-vlan-min&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;inner-vlan-max&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;pppoe&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;stream-group-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;interface&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;eth1&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;outer-vlan-min&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2001</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;outer-vlan-max&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">4000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;inner-vlan&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;pppoe&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;stream-group-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w"></span>
<span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w"> </span><span class="p">]</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;streams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BestEffort&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;stream-group-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipv4&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;both&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Voice&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;stream-group-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipv4&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;downstream&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;priority&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;vlan-priority&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;network-ipv4-address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.0.10&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BestEffort&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;stream-group-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipv4&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;both&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w"></span>
<span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w"> </span><span class="p">]</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"> </span><span class="nt">&quot;streams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
</pre></div>
</div>
<table class="colwidths-given docutils align-default">
<colgroup>
<col style="width: 25%" />
<col style="width: 50%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Attribute</p></th>
<th class="head"><p>Description</p></th>
<th class="head"><p>Default</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><cite>name</cite></p></td>
<td><p>Mandatory stream name</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><cite>stream-group-id</cite></p></td>
<td><p>Stream group identifier</p></td>
<td><p>0 (raw)</p></td>
</tr>
<tr class="row-even"><td><p><cite>type</cite></p></td>
<td><p>Mandatory stream type (<cite>ipv4</cite>, <cite>ipv6</cite> or <cite>ipv6pd</cite>)</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><cite>direction</cite></p></td>
<td><p>Mandatory stream direction (<cite>upstream</cite>, <cite>downstream</cite> or <cite>both</cite>)</p></td>
<td><p><cite>both</cite></p></td>
</tr>
<tr class="row-even"><td><p><cite>source-port</cite></p></td>
<td><p>Overwrite the default source port</p></td>
<td><p>65056</p></td>
</tr>
<tr class="row-odd"><td><p><cite>destination-port</cite></p></td>
<td><p>Overwrite the default destination port</p></td>
<td><p>65056</p></td>
</tr>
<tr class="row-even"><td><p><cite>ipv4-df</cite></p></td>
<td><p>Set IPv4 DF bit</p></td>
<td><p>true</p></td>
</tr>
<tr class="row-odd"><td><p><cite>priority</cite></p></td>
<td><p>IPv4 TOS / IPv6 TC</p></td>
<td><p>0</p></td>
</tr>
<tr class="row-even"><td><p><cite>vlan-priority</cite></p></td>
<td><p>VLAN priority</p></td>
<td><p>0</p></td>
</tr>
<tr class="row-odd"><td><p><cite>length</cite></p></td>
<td><p>Layer 3 (IP header + payload) traffic length (76 - 9000)</p></td>
<td><p>128</p></td>
</tr>
<tr class="row-even"><td><p><cite>pps</cite></p></td>
<td><p>Stream traffic rate in packets per second</p></td>
<td><p>1</p></td>
</tr>
<tr class="row-odd"><td><p><cite>bps</cite></p></td>
<td><p>Stream traffic rate in bits per second (layer 3)</p></td>
<td></td>
</tr>
<tr class="row-even"><td><p><cite>a10nsp-interface</cite></p></td>
<td><p>Select the corresponding A10NSP interface for this stream</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><cite>network-interface</cite></p></td>
<td><p>Select the corresponding network interface for this stream</p></td>
<td></td>
</tr>
<tr class="row-even"><td><p><cite>network-ipv4-address</cite></p></td>
<td><p>Overwrite network interface IPv4 address</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><cite>network-ipv6-address</cite></p></td>
<td><p>Overwrite network interface IPv6 address</p></td>
<td></td>
</tr>
<tr class="row-even"><td><p><cite>destination-ipv4-address</cite></p></td>
<td><p>Overwrite the IPv4 destination address</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><cite>destination-ipv6-address</cite></p></td>
<td><p>Overwrite the IPv6 destination address</p></td>
<td></td>
</tr>
<tr class="row-even"><td><p><cite>access-ipv4-source-address</cite></p></td>
<td><p>Overwrite the access IPv4 source address (client)</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><cite>access-ipv6-source-address</cite></p></td>
<td><p>Overwrite the access IPv6 source address (client)</p></td>
<td></td>
</tr>
<tr class="row-even"><td><p><cite>threaded</cite></p></td>
<td><p>Run those streams in separate threads</p></td>
<td><p>false</p></td>
</tr>
<tr class="row-odd"><td><p><cite>thread-group</cite></p></td>
<td><p>Assign this stream to thread group (1-255)</p></td>
<td><p>0 (thread per stream)</p></td>
</tr>
<tr class="row-even"><td><p><cite>max-packets</cite></p></td>
<td><p>Send a burst of N packets and stop</p></td>
<td><p>0 (infinity)</p></td>
</tr>
<tr class="row-odd"><td><p><cite>start-delay</cite></p></td>
<td><p>Wait N seconds after session is established before start</p></td>
<td><p>0</p></td>
</tr>
<tr class="row-even"><td><p><cite>tx-label1</cite></p></td>
<td><p>MPLS send (TX) label (outer label)</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><cite>tx-label1-exp</cite></p></td>
<td><p>EXP bits of first label (outer label)</p></td>
<td><p>0</p></td>
</tr>
<tr class="row-even"><td><p><cite>tx-label1-ttl</cite></p></td>
<td><p>TTL of first label (outer label)</p></td>
<td><p>255</p></td>
</tr>
<tr class="row-odd"><td><p><cite>tx-label2</cite></p></td>
<td><p>MPLS send (TX) label (inner label)</p></td>
<td></td>
</tr>
<tr class="row-even"><td><p><cite>tx-label2-exp</cite></p></td>
<td><p>EXP bits of first label (inner label)</p></td>
<td><p>0</p></td>
</tr>
<tr class="row-odd"><td><p><cite>tx-label2-ttl</cite></p></td>
<td><p>TTL of first label (inner label)</p></td>
<td><p>255</p></td>
</tr>
<tr class="row-even"><td><p><cite>rx-label1</cite></p></td>
<td><p>Expected receive MPLS label (outer label)</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><cite>rx-label2</cite></p></td>
<td><p>Expected receive MPLS label (inner label)</p></td>
<td></td>
</tr>
</tbody>
</table>
<p>For L2TP downstream traffic the IPv4 TOS is applied to the outer IPv4
and inner IPv4 header.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">pps</span></code> option supports also float numbers like 0.1, or 2.5 PPS and has
priority over <code class="docutils literal notranslate"><span class="pre">bps</span></code> where second is only a helper to calculate the <code class="docutils literal notranslate"><span class="pre">pps</span></code>
based on given <code class="docutils literal notranslate"><span class="pre">bps</span></code> and <code class="docutils literal notranslate"><span class="pre">length</span></code>.</p>
<p>The options <code class="docutils literal notranslate"><span class="pre">access-ipv4-source-address</span></code> and <code class="docutils literal notranslate"><span class="pre">access-ipv6-source-address</span></code>
are used to test the BNG RPF functionality with traffic send from source addresses
different to those assigned to the client.</p>
</section>
<section id="stream-configuration-file">
<h2>Stream Configuration File<a class="headerlink" href="#stream-configuration-file" title="Permalink to this headline"></a></h2>
<p>The command line argument <code class="docutils literal notranslate"><span class="pre">-T</span> <span class="pre">&lt;filename&gt;</span></code> allows to include
streams defined from a separate file. The format is equal to
streams defined in the actual configuration file. Such stream
configuration files could be generated by scripts and
easily merged with the base configuration.</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;streams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
</section>
<section id="stream-commands">
<h2>Stream Commands<a class="headerlink" href="#stream-commands" title="Permalink to this headline"></a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">session-streams</span></code> command returns detailed stream statistics per session.</p>
<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">sudo</span> <span class="pre">bngblaster-cli</span> <span class="pre">run.sock</span> <span class="pre">session-streams</span> <span class="pre">session-id</span> <span class="pre">1</span></code></p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ok&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;code&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">200</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;session-streams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;session-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">59670</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">54610</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-accounting-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">59655</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-accounting-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">54594</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1100</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">9028800</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">8240000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">9.0288</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">8.24</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;streams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BestEffort&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;upstream&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;flow-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-first-seq&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">362</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-last-seq&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">54593</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-tos-tc&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-outer-vlan-pbit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-inner-vlan-pbit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-len&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1014</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-len&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1030</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">54232</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">54594</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-loss&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-delay-nsec-min&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">37650</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-delay-nsec-max&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">98595049</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">8240000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">8112000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l3&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">8000000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">8.24</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">8.112</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l3&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">8.0</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BestEffort&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;downstream&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;flow-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-first-seq&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">362</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-last-seq&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">54593</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-tos-tc&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-outer-vlan-pbit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-inner-vlan-pbit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-len&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1026</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-len&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1014</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">54232</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">54594</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-loss&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-delay-nsec-min&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">43550</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-delay-nsec-max&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">98903960</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">8112000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">8208000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l3&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">8000000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">8.112</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">8.208</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l3&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">8.0</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Voice&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;downstream&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;flow-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-first-seq&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">37</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-last-seq&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">5458</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-tos-tc&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-outer-vlan-pbit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-inner-vlan-pbit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-len&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1026</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-len&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1014</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">5422</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">5458</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-loss&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-delay-nsec-min&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">41700</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-delay-nsec-max&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">96548542</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">811200</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">820800</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l3&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">800000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.8112</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.8208</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l3&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.8</span><span class="w"></span>
<span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w"> </span><span class="p">]</span><span class="w"></span>
<span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
<p>The <code class="docutils literal notranslate"><span class="pre">rx-outer-vlan-pbit</span></code> might be wrong depending on network interface driver and
optional VLAN offloading.</p>
<p>The measured <code class="docutils literal notranslate"><span class="pre">rx-delay-nsec-min/max</span></code> shows the minimum and maximum calculated delay
in nanosecond. The delay is calculated by subtracting the send and receive timestamp.
The send timestamp is stored in the BBL header (see section Traffic). This calculated
result depends also on the actual test environment, configured rx-interval and host IO
delay.</p>
<p>Traffic streams will start as soon as the session is established using the rate as configured
starting with sequence number 1 for each flow. The attribute <code class="docutils literal notranslate"><span class="pre">rx-first-seq</span></code> stores the first
sequence number received. Assuming the first sequence number received for given flow is 1000
combined with a rate of 1000 PPS would mean that it took around 1 second until forwarding is
working. After first packet is received for a given flow, for every further packet it checks
if there is a gap between last and new sequence number which is than reported as loss.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">rx/tx-accounting-packets</span></code> are all packets which should be counted in the session volume
accounting of the BNG, meaning session rx/tx packets excluding control traffic.</p>
<p>Each flow can be queried separately using jsonpath expression with name and direction or flow-id.</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ sudo bngblaster-cli run.sock session-streams session-id 1 | jq &#39;.&quot;session-streams&quot;.streams[] | select(.name == &quot;BE&quot; and .direction == &quot;downstream&quot; )&#39;
</pre></div>
</div>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BE&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;downstream&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;flow-id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-first-seq&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">33</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-last-seq&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">27040</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-tos-tc&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">213</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-outer-vlan-pbit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-inner-vlan-pbit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-len&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">126</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-len&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">114</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">27008</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">27040</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-loss&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-delay-nsec-min&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">50450</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-delay-nsec-max&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">10561572</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">99</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">99</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">90288</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">99792</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-bps-l3&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">79200</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;tx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.090288</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.099792</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;rx-mbps-l3&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.0792</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
</section>
<section id="raw-streams">
<h2>RAW Streams<a class="headerlink" href="#raw-streams" title="Permalink to this headline"></a></h2>
<p>Streams with default <code class="docutils literal notranslate"><span class="pre">stream-group-id</span></code> set to zero are considered as raw streams not
bound to any session which is supported in downstream only. For those streams the
destination address must be explicitly set.</p>
<p>RAW streams can be used for traffic between two or network interfaces but also to send traffic
from network to access interfaces.</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;streams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;RAW&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipv4&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;downstream&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;priority&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;network-ipv4-address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.0.20&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;destination-ipv4-address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1.1.1.1&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;length&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">256</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w"></span>
<span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w"> </span><span class="p">]</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
<p>If <code class="docutils literal notranslate"><span class="pre">destination-ipv4-address</span></code> is set to a multicast IP address (224.0.0.0 - 239.255.255.255),
the BNG Blaster will set the the destination MAC address to the corresponding
multicast MAC address automatically. For unicast traffic the network gateway MAC address is used.</p>
</section>
<section id="threaded-streams">
<h2>Threaded Streams<a class="headerlink" href="#threaded-streams" title="Permalink to this headline"></a></h2>
<p>With threading enabled, those streams will be started per default in a dedicated thread per flow.
This means one thread per session and stream direction. A threaded, bidirectional stream assigned
to 10 sessions will therefore run in 20 threads. It is also possible to assign multiple
steams to a single thread using thread groups.</p>
<p>In most environments we see between 200.000 and 300.000 PPS single threaded is working. Depending
on actual setup this can be also much more. With threaded streams we are also able to scale up to
10 million PPS depending on actual configuration and setup. This allows to start 1 million flows
with 1 PPS per flow over 4 threads in example to verify all prefixes of a BGP full table.</p>
<p>The BNG Blaster is currently tested for up to 1 million flows which is not a hard limitation but
everything above should be considered as experimental.</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;streams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;RAW1&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipv4&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;downstream&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;priority&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;destination-ipv4-address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.0.1&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;length&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">256</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;network-interface&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;eth1&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;threaded&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;thread-group&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;RAW2&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipv4&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;downstream&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;priority&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;destination-ipv4-address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.0.1&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;length&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">256</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;pps&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100000</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;network-interface&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;etg1&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;threaded&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;thread-group&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w"></span>
<span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w"> </span><span class="p">]</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
</section>
<section id="start-stop-session-stream-traffic">
<h2>Start/Stop Session Stream Traffic<a class="headerlink" href="#start-stop-session-stream-traffic" title="Permalink to this headline"></a></h2>
<p>Session stream traffic can be started/stopped dynamically
using the commands <code class="docutils literal notranslate"><span class="pre">stream-traffic-enabled</span></code> and <code class="docutils literal notranslate"><span class="pre">stream-traffic-disabled</span></code>.</p>
<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">sudo</span> <span class="pre">bngblaster-cli</span> <span class="pre">run.sock</span> <span class="pre">stream-traffic-disabled</span> <span class="pre">session-id</span> <span class="pre">1</span></code></p>
<p>Those commands start/stop the traffic for all sessions if invoked without
session identifier.</p>
<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">sudo</span> <span class="pre">bngblaster-cli</span> <span class="pre">run.sock</span> <span class="pre">stream-traffic-disabled</span></code></p>
<p>Alternatively all session and stream traffic (including RAW streams)
can be started or stopped globally using the <code class="docutils literal notranslate"><span class="pre">traffic-start</span></code> and
<code class="docutils literal notranslate"><span class="pre">traffic-stop</span></code> commands.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="routing/mpls.html" class="btn btn-neutral float-left" title="MPLS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="reports.html" class="btn btn-neutral float-right" title="Reports" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2020-2022, RtBrick, Inc..</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>