mirror of
https://github.com/rtbrick/bngblaster.git
synced 2024-05-06 15:54:57 +00:00
update github pages
This commit is contained in:
@@ -57,32 +57,33 @@ for session traffic.
|
||||
.. code-block:: none
|
||||
|
||||
Session Traffic (Global):
|
||||
--------------------------------------------------------------
|
||||
Config:
|
||||
IPv4 PPS: 1
|
||||
IPv6 PPS: 1
|
||||
IPv6PD PPS: 1
|
||||
Verified Traffic Flows: 6/6
|
||||
Downstream IPv4: 1
|
||||
Downstream IPv6: 1
|
||||
Downstream IPv6PD: 1
|
||||
Upstream IPv4: 1
|
||||
Upstream IPv6: 1
|
||||
Upstream IPv6PD: 1
|
||||
Violations (>1s): 0
|
||||
Downstream IPv4: 0
|
||||
Downstream IPv6: 0
|
||||
Downstream IPv6PD: 0
|
||||
Upstream IPv4: 0
|
||||
Upstream IPv6: 0
|
||||
Upstream IPv6PD: 0
|
||||
First Sequence Number Received:
|
||||
Downstream IPv4 MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Downstream IPv6 MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Downstream IPv6PD MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Upstream IPv4 MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Upstream IPv6 MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Upstream IPv6PD MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
------------------------------------------------------------------------------
|
||||
Config:
|
||||
PPS IPv4: 1
|
||||
PPS IPv6: 1
|
||||
PPS IPv6PD: 1
|
||||
Verified Traffic Flows: 96000/96000 (100.00%)
|
||||
Downstream IPv4: 16000
|
||||
Downstream IPv6: 16000
|
||||
Downstream IPv6PD: 16000
|
||||
Upstream IPv4: 16000
|
||||
Upstream IPv6: 16000
|
||||
Upstream IPv6PD: 16000
|
||||
Violations: >1s >1s-2s >2s-3s >3s
|
||||
Downstream IPv4: 12278 ( 12.79%) 3071 3040 6167
|
||||
Downstream IPv6: 12252 ( 12.76%) 3185 2900 6167
|
||||
Downstream IPv6PD: 12306 ( 12.82%) 3123 2978 6205
|
||||
Upstream IPv4: 12314 ( 12.83%) 3104 3033 6177
|
||||
Upstream IPv6: 12252 ( 12.76%) 3184 2891 6177
|
||||
Upstream IPv6PD: 12361 ( 12.88%) 3178 2957 6226
|
||||
Total: 73763 ( 76.84%) 18845 17799 37119
|
||||
First Sequence Received: MIN AVG MAX
|
||||
Downstream IPv4 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Downstream IPv6 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Downstream IPv6PD 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Upstream IPv4 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Upstream IPv6 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Upstream IPv6PD 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
|
||||
|
||||
The ``First Sequence Number Received`` is used to measure the forwarding
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
* - `lacp-system-id`
|
||||
- LACP system identifier
|
||||
- 02:ff:ff:ff:ff:00
|
||||
* - `lacp-min-active-links`
|
||||
- Define the minimum number of active links
|
||||
- 0
|
||||
* - `lacp-max-active-links`
|
||||
- Limit the maximum number of active links
|
||||
- 255
|
||||
|
||||
@@ -130,8 +130,8 @@ Link Aggregation (LAG)
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The BNG Blaster supports link aggregation (LAG) with and without
|
||||
LACP. The created LAG interface can be used as link for all kinds
|
||||
of interface functions.
|
||||
LACP. The created LAG interface can be used as the parent interface link
|
||||
for all kinds of interface functions.
|
||||
|
||||
.. include:: configuration/interfaces_lag.rst
|
||||
|
||||
@@ -171,16 +171,16 @@ of interface functions.
|
||||
Multithreaded Interfaces
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The BNG Blaster handles all traffic sent and received (IO) in the main thread per default.
|
||||
The BNG Blaster handles all traffic sent and received (I/O) in the main thread per default.
|
||||
With this default behavior, you can achieve between 100.000 and 200.000 PPS bidirectional
|
||||
traffic in most environments. Depending on the actual setup, this can be even less or much
|
||||
more, which is primarily driven by the single-thread performance of the given CPU.
|
||||
|
||||
Those numbers can be increased by splitting the workload over multiple IO worker threads.
|
||||
Every IO thread will handle only one interface and direction. It is also possible to start
|
||||
Those numbers can be increased by splitting the workload over multiple I/O worker threads.
|
||||
Every I/O thread will handle only one interface and direction. It is also possible to start
|
||||
multiple threads for the same interface and direction.
|
||||
|
||||
The number of IO threads can be configured globally for all interfaces or per interface link.
|
||||
The number of I/O threads can be configured globally for all interfaces or per interface link.
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
@@ -215,10 +215,10 @@ at least 4 TX threads to verify all prefixes of a BGP full table for example.
|
||||
The configured traffic streams are automatically balanced over all TX threads of the corresponding
|
||||
interfaces but a single stream can't be split over multiple threads to prevent re-ordering issues.
|
||||
|
||||
Enabling multithreaded IO causes some limitations. First of all, it works only on systems with
|
||||
Enabling multithreaded I/O causes some limitations. First of all, it works only on systems with
|
||||
CPU cache coherence, which should apply to all modern CPU architectures. It is also not possible
|
||||
to bundle (Link Aggregation) multithreaded interfaces. It is also not possible to capture traffic
|
||||
streams send or received on threaded interfaces. All other traffic is still captured even on threaded
|
||||
streams send or received on threaded interfaces. All other traffic is still captured on threaded
|
||||
interfaces.
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -217,7 +217,7 @@ working. After the first packet is received for a given flow, for every further
|
||||
if there is a gap between the last and new sequence number which is then reported as a loss.
|
||||
|
||||
The ``rx/tx-accounting-packets`` are all packets that should be counted in the session volume
|
||||
accounting of the BNG, meaning session rx/tx packets excluding control traffic.
|
||||
accounting of the BNG, meaning session RX/TX packets excluding control traffic.
|
||||
|
||||
Each flow can be queried separately using jsonpath expression with name and direction or flow-id.
|
||||
|
||||
@@ -302,11 +302,11 @@ Alternatively, all the session and stream traffic (including RAW streams)
|
||||
can be started or stopped globally using the ``traffic-start`` and
|
||||
``traffic-stop`` commands.
|
||||
|
||||
.. _bbl_header:
|
||||
|
||||
BNG Blaster Traffic
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. _bbl_header:
|
||||
|
||||
*Blaster Header and Fast Decode Signature*
|
||||
|
||||
The 48 Byte fixed size BNG Blaster Header is added to all data packets
|
||||
@@ -319,7 +319,7 @@ IPv4 multicast traffic.
|
||||
Unicast Session Traffic
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The 64 bit session key is used for all traffic from access (upstream)
|
||||
The 64-bit session key is used for all traffic from access (upstream)
|
||||
and to access (downstream) interfaces to identify the corresponding
|
||||
session which has sent or should receive the packet.
|
||||
|
||||
@@ -387,7 +387,7 @@ Multicast Traffic
|
||||
BNG Blaster Magic Sequence
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The 64 bit magic sequence is the word ``RtBrick!`` decoded as ASCII:
|
||||
The 64-bit magic sequence is the word ``RtBrick!`` decoded as ASCII:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
@@ -399,13 +399,13 @@ of blaster traffic.
|
||||
Flow Identifier
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
The 64 bit flow identifier is a globally unique number that identifies
|
||||
The 64-bit flow identifier is a globally unique number that identifies
|
||||
the flow.
|
||||
|
||||
Flow Sequence Number
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The 64 bit flow sequence number is a sequential number starting with 1
|
||||
The 64-bit flow sequence number is a sequential number starting with 1
|
||||
and incremented per packet primary used to identify packet loss.
|
||||
|
||||
This number 0 means that sequencing is disabled.
|
||||
@@ -413,7 +413,7 @@ This number 0 means that sequencing is disabled.
|
||||
Nanosecond Send Timestamps
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The 64 bit nanoseconds send timestamp is used for optional latency and
|
||||
The 64-bit nanoseconds send timestamp is used for optional latency and
|
||||
jitter calculations.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
@@ -6,18 +6,18 @@ Logging
|
||||
|
||||
The BNG Blaster can log events to the standard output
|
||||
or the logging window of the interactive courses interface.
|
||||
Those events could be also logged to files using the argument
|
||||
Those events could be also logged into files using the argument
|
||||
``-L <file>``.
|
||||
|
||||
Per default, only events classified as `info` or `error` are logged.
|
||||
The following list shows all supported logging options.
|
||||
|
||||
* ``debug``: debug events
|
||||
* ``info``: informational events
|
||||
* ``error``: error events
|
||||
* ``igmp``: igmp events with join and leave time
|
||||
* ``io``: interface input/output events
|
||||
* ``pppoe``: pppoe events
|
||||
* ``info``: informational events (enabled per default)
|
||||
* ``pcap``: PCAP related events
|
||||
* ``ip``: log learned IP addresses
|
||||
* ``loss``: log traffic loss with sequence number
|
||||
@@ -26,6 +26,8 @@ The following list shows all supported logging options.
|
||||
* ``isis``: log ISIS events
|
||||
* ``bgp``: log BGP events
|
||||
* ``tcp``: log TCP events
|
||||
* ``lag``: log link aggregation (LAG) events
|
||||
* ``dpdk``: log DPDK events
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
@@ -56,6 +58,10 @@ include (default behavior) or exclude traffic streams from capture.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Traffic streams send or received on threaded interfaces will be also not captured.
|
||||
All other traffic is still captured on threaded interfaces.
|
||||
|
||||
Wireshark Plugin
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
+27
-26
@@ -182,32 +182,33 @@ option in the corresponding access configuration.</p>
|
||||
<p>The final report includes detailed information
|
||||
for session traffic.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Session Traffic (Global):
|
||||
--------------------------------------------------------------
|
||||
Config:
|
||||
IPv4 PPS: 1
|
||||
IPv6 PPS: 1
|
||||
IPv6PD PPS: 1
|
||||
Verified Traffic Flows: 6/6
|
||||
Downstream IPv4: 1
|
||||
Downstream IPv6: 1
|
||||
Downstream IPv6PD: 1
|
||||
Upstream IPv4: 1
|
||||
Upstream IPv6: 1
|
||||
Upstream IPv6PD: 1
|
||||
Violations (>1s): 0
|
||||
Downstream IPv4: 0
|
||||
Downstream IPv6: 0
|
||||
Downstream IPv6PD: 0
|
||||
Upstream IPv4: 0
|
||||
Upstream IPv6: 0
|
||||
Upstream IPv6PD: 0
|
||||
First Sequence Number Received:
|
||||
Downstream IPv4 MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Downstream IPv6 MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Downstream IPv6PD MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Upstream IPv4 MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Upstream IPv6 MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
Upstream IPv6PD MIN: 1 ( 1.00s) AVG: 1 ( 1.00s) MAX: 1 ( 1.00s)
|
||||
------------------------------------------------------------------------------
|
||||
Config:
|
||||
PPS IPv4: 1
|
||||
PPS IPv6: 1
|
||||
PPS IPv6PD: 1
|
||||
Verified Traffic Flows: 96000/96000 (100.00%)
|
||||
Downstream IPv4: 16000
|
||||
Downstream IPv6: 16000
|
||||
Downstream IPv6PD: 16000
|
||||
Upstream IPv4: 16000
|
||||
Upstream IPv6: 16000
|
||||
Upstream IPv6PD: 16000
|
||||
Violations: >1s >1s-2s >2s-3s >3s
|
||||
Downstream IPv4: 12278 ( 12.79%) 3071 3040 6167
|
||||
Downstream IPv6: 12252 ( 12.76%) 3185 2900 6167
|
||||
Downstream IPv6PD: 12306 ( 12.82%) 3123 2978 6205
|
||||
Upstream IPv4: 12314 ( 12.83%) 3104 3033 6177
|
||||
Upstream IPv6: 12252 ( 12.76%) 3184 2891 6177
|
||||
Upstream IPv6PD: 12361 ( 12.88%) 3178 2957 6226
|
||||
Total: 73763 ( 76.84%) 18845 17799 37119
|
||||
First Sequence Received: MIN AVG MAX
|
||||
Downstream IPv4 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Downstream IPv6 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Downstream IPv6PD 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Upstream IPv4 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Upstream IPv6 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
Upstream IPv6PD 1 ( 1.00s) 9 ( 9.00s) 64 (64.00s)
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">First</span> <span class="pre">Sequence</span> <span class="pre">Number</span> <span class="pre">Received</span></code> is used to measure the forwarding
|
||||
|
||||
@@ -310,11 +310,15 @@ for interface links referenced by interface functions.</p>
|
||||
<td><p>LACP system identifier</p></td>
|
||||
<td><p>02:ff:ff:ff:ff:00</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><cite>lacp-max-active-links</cite></p></td>
|
||||
<tr class="row-odd"><td><p><cite>lacp-min-active-links</cite></p></td>
|
||||
<td><p>Define the minimum number of active links</p></td>
|
||||
<td><p>0</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><cite>lacp-max-active-links</cite></p></td>
|
||||
<td><p>Limit the maximum number of active links</p></td>
|
||||
<td><p>255</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><cite>mac</cite></p></td>
|
||||
<tr class="row-odd"><td><p><cite>mac</cite></p></td>
|
||||
<td><p>LAG interface MAC address</p></td>
|
||||
<td><p>02:ff:ff:ff:ff:<id></p></td>
|
||||
</tr>
|
||||
|
||||
@@ -112,11 +112,15 @@
|
||||
<td><p>LACP system identifier</p></td>
|
||||
<td><p>02:ff:ff:ff:ff:00</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><cite>lacp-max-active-links</cite></p></td>
|
||||
<tr class="row-odd"><td><p><cite>lacp-min-active-links</cite></p></td>
|
||||
<td><p>Define the minimum number of active links</p></td>
|
||||
<td><p>0</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><cite>lacp-max-active-links</cite></p></td>
|
||||
<td><p>Limit the maximum number of active links</p></td>
|
||||
<td><p>255</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><cite>mac</cite></p></td>
|
||||
<tr class="row-odd"><td><p><cite>mac</cite></p></td>
|
||||
<td><p>LAG interface MAC address</p></td>
|
||||
<td><p>02:ff:ff:ff:ff:<id></p></td>
|
||||
</tr>
|
||||
|
||||
+14
-10
@@ -354,8 +354,8 @@ for interface links referenced by interface functions.</p>
|
||||
<section id="link-aggregation-lag">
|
||||
<span id="lag-interface"></span><h3>Link Aggregation (LAG)<a class="headerlink" href="#link-aggregation-lag" title="Permalink to this headline"></a></h3>
|
||||
<p>The BNG Blaster supports link aggregation (LAG) with and without
|
||||
LACP. The created LAG interface can be used as link for all kinds
|
||||
of interface functions.</p>
|
||||
LACP. The created LAG interface can be used as the parent interface link
|
||||
for all kinds of interface functions.</p>
|
||||
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"> </span><span class="nt">"interfaces"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"lag"</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><span class="p">}</span><span class="w"></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@@ -392,11 +392,15 @@ of interface functions.</p>
|
||||
<td><p>LACP system identifier</p></td>
|
||||
<td><p>02:ff:ff:ff:ff:00</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><cite>lacp-max-active-links</cite></p></td>
|
||||
<tr class="row-odd"><td><p><cite>lacp-min-active-links</cite></p></td>
|
||||
<td><p>Define the minimum number of active links</p></td>
|
||||
<td><p>0</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><cite>lacp-max-active-links</cite></p></td>
|
||||
<td><p>Limit the maximum number of active links</p></td>
|
||||
<td><p>255</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><cite>mac</cite></p></td>
|
||||
<tr class="row-odd"><td><p><cite>mac</cite></p></td>
|
||||
<td><p>LAG interface MAC address</p></td>
|
||||
<td><p>02:ff:ff:ff:ff:<id></p></td>
|
||||
</tr>
|
||||
@@ -439,14 +443,14 @@ of interface functions.</p>
|
||||
</section>
|
||||
<section id="multithreaded-interfaces">
|
||||
<span id="io-modes"></span><h3>Multithreaded Interfaces<a class="headerlink" href="#multithreaded-interfaces" title="Permalink to this headline"></a></h3>
|
||||
<p>The BNG Blaster handles all traffic sent and received (IO) in the main thread per default.
|
||||
<p>The BNG Blaster handles all traffic sent and received (I/O) in the main thread per default.
|
||||
With this default behavior, you can achieve between 100.000 and 200.000 PPS bidirectional
|
||||
traffic in most environments. Depending on the actual setup, this can be even less or much
|
||||
more, which is primarily driven by the single-thread performance of the given CPU.</p>
|
||||
<p>Those numbers can be increased by splitting the workload over multiple IO worker threads.
|
||||
Every IO thread will handle only one interface and direction. It is also possible to start
|
||||
<p>Those numbers can be increased by splitting the workload over multiple I/O worker threads.
|
||||
Every I/O thread will handle only one interface and direction. It is also possible to start
|
||||
multiple threads for the same interface and direction.</p>
|
||||
<p>The number of IO threads can be configured globally for all interfaces or per interface link.</p>
|
||||
<p>The number of I/O threads can be configured globally for all interfaces or per interface link.</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">"interfaces"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"rx-threads"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
|
||||
@@ -475,10 +479,10 @@ the actual configuration and setup. This allows starting 1 million flows with 1
|
||||
at least 4 TX threads to verify all prefixes of a BGP full table for example.</p>
|
||||
<p>The configured traffic streams are automatically balanced over all TX threads of the corresponding
|
||||
interfaces but a single stream can’t be split over multiple threads to prevent re-ordering issues.</p>
|
||||
<p>Enabling multithreaded IO causes some limitations. First of all, it works only on systems with
|
||||
<p>Enabling multithreaded I/O causes some limitations. First of all, it works only on systems with
|
||||
CPU cache coherence, which should apply to all modern CPU architectures. It is also not possible
|
||||
to bundle (Link Aggregation) multithreaded interfaces. It is also not possible to capture traffic
|
||||
streams send or received on threaded interfaces. All other traffic is still captured even on threaded
|
||||
streams send or received on threaded interfaces. All other traffic is still captured on threaded
|
||||
interfaces.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
|
||||
Binary file not shown.
+1
-1
File diff suppressed because one or more lines are too long
+8
-8
@@ -446,7 +446,7 @@ combined with a rate of 1000 PPS would mean that it took around 1 second until f
|
||||
working. After the first packet is received for a given flow, for every further packet it checks
|
||||
if there is a gap between the last and new sequence number which is then reported as a loss.</p>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">rx/tx-accounting-packets</span></code> are all packets that should be counted in the session volume
|
||||
accounting of the BNG, meaning session rx/tx packets excluding control traffic.</p>
|
||||
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 '."session-streams".streams[] | select(.name == "BE" and .direction == "downstream" )'
|
||||
</pre></div>
|
||||
@@ -519,8 +519,8 @@ can be started or stopped globally using the <code class="docutils literal notra
|
||||
<code class="docutils literal notranslate"><span class="pre">traffic-stop</span></code> commands.</p>
|
||||
</section>
|
||||
<section id="bng-blaster-traffic">
|
||||
<h2>BNG Blaster Traffic<a class="headerlink" href="#bng-blaster-traffic" title="Permalink to this headline"></a></h2>
|
||||
<p id="bbl-header"><em>Blaster Header and Fast Decode Signature</em></p>
|
||||
<span id="bbl-header"></span><h2>BNG Blaster Traffic<a class="headerlink" href="#bng-blaster-traffic" title="Permalink to this headline"></a></h2>
|
||||
<p><em>Blaster Header and Fast Decode Signature</em></p>
|
||||
<p>The 48 Byte fixed size BNG Blaster Header is added to all data packets
|
||||
for traffic validation and fast decoding. The header is expected on the
|
||||
last 48 bytes of the packet.</p>
|
||||
@@ -528,7 +528,7 @@ last 48 bytes of the packet.</p>
|
||||
IPv4 multicast traffic.</p>
|
||||
<section id="unicast-session-traffic">
|
||||
<h3>Unicast Session Traffic<a class="headerlink" href="#unicast-session-traffic" title="Permalink to this headline"></a></h3>
|
||||
<p>The 64 bit session key is used for all traffic from access (upstream)
|
||||
<p>The 64-bit session key is used for all traffic from access (upstream)
|
||||
and to access (downstream) interfaces to identify the corresponding
|
||||
session which has sent or should receive the packet.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
||||
@@ -592,7 +592,7 @@ stored in host byte order for faster processing
|
||||
</section>
|
||||
<section id="bng-blaster-magic-sequence">
|
||||
<h3>BNG Blaster Magic Sequence<a class="headerlink" href="#bng-blaster-magic-sequence" title="Permalink to this headline"></a></h3>
|
||||
<p>The 64 bit magic sequence is the word <code class="docutils literal notranslate"><span class="pre">RtBrick!</span></code> decoded as ASCII:</p>
|
||||
<p>The 64-bit magic sequence is the word <code class="docutils literal notranslate"><span class="pre">RtBrick!</span></code> decoded as ASCII:</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>0x5274427269636b21
|
||||
</pre></div>
|
||||
</div>
|
||||
@@ -601,18 +601,18 @@ of blaster traffic.</p>
|
||||
</section>
|
||||
<section id="flow-identifier">
|
||||
<h3>Flow Identifier<a class="headerlink" href="#flow-identifier" title="Permalink to this headline"></a></h3>
|
||||
<p>The 64 bit flow identifier is a globally unique number that identifies
|
||||
<p>The 64-bit flow identifier is a globally unique number that identifies
|
||||
the flow.</p>
|
||||
</section>
|
||||
<section id="flow-sequence-number">
|
||||
<h3>Flow Sequence Number<a class="headerlink" href="#flow-sequence-number" title="Permalink to this headline"></a></h3>
|
||||
<p>The 64 bit flow sequence number is a sequential number starting with 1
|
||||
<p>The 64-bit flow sequence number is a sequential number starting with 1
|
||||
and incremented per packet primary used to identify packet loss.</p>
|
||||
<p>This number 0 means that sequencing is disabled.</p>
|
||||
</section>
|
||||
<section id="nanosecond-send-timestamps">
|
||||
<h3>Nanosecond Send Timestamps<a class="headerlink" href="#nanosecond-send-timestamps" title="Permalink to this headline"></a></h3>
|
||||
<p>The 64 bit nanoseconds send timestamp is used for optional latency and
|
||||
<p>The 64-bit nanoseconds send timestamp is used for optional latency and
|
||||
jitter calculations.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
|
||||
@@ -91,17 +91,17 @@
|
||||
<h2>Logging<a class="headerlink" href="#logging" title="Permalink to this headline"></a></h2>
|
||||
<p>The BNG Blaster can log events to the standard output
|
||||
or the logging window of the interactive courses interface.
|
||||
Those events could be also logged to files using the argument
|
||||
Those events could be also logged into files using the argument
|
||||
<code class="docutils literal notranslate"><span class="pre">-L</span> <span class="pre"><file></span></code>.</p>
|
||||
<p>Per default, only events classified as <cite>info</cite> or <cite>error</cite> are logged.
|
||||
The following list shows all supported logging options.</p>
|
||||
<ul class="simple">
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">debug</span></code>: debug events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">info</span></code>: informational events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">error</span></code>: error events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">igmp</span></code>: igmp events with join and leave time</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">io</span></code>: interface input/output events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">pppoe</span></code>: pppoe events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">info</span></code>: informational events (enabled per default)</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">pcap</span></code>: PCAP related events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">ip</span></code>: log learned IP addresses</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">loss</span></code>: log traffic loss with sequence number</p></li>
|
||||
@@ -110,6 +110,8 @@ The following list shows all supported logging options.</p>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">isis</span></code>: log ISIS events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">bgp</span></code>: log BGP events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">tcp</span></code>: log TCP events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">lag</span></code>: log link aggregation (LAG) events</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">dpdk</span></code>: log DPDK events</p></li>
|
||||
</ul>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ sudo bngblaster -C test.json -L test.log -l ip -l isis -l bgp
|
||||
</pre></div>
|
||||
@@ -134,6 +136,8 @@ include (default behavior) or exclude traffic streams from capture.</p>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Traffic streams send or received on threaded interfaces will be also not captured.
|
||||
All other traffic is still captured on threaded interfaces.</p>
|
||||
<section id="wireshark-plugin">
|
||||
<h3>Wireshark Plugin<a class="headerlink" href="#wireshark-plugin" title="Permalink to this headline"></a></h3>
|
||||
<p>Traffic streams generated with the BNG Blaster include the
|
||||
|
||||
Reference in New Issue
Block a user