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:
Binary file not shown.
|
After Width: | Height: | Size: 301 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
@@ -21,3 +21,7 @@
|
||||
- Disable stop traffic streams
|
||||
-
|
||||
- `session-id`
|
||||
* - `stream-reset`
|
||||
- Reset all traffic streams
|
||||
-
|
||||
-
|
||||
@@ -1,6 +1,12 @@
|
||||
Frequently Asked Questions
|
||||
==========================
|
||||
|
||||
**Outer VLAN header not captured in PCAP?**
|
||||
|
||||
Some interface drivers drop the outer VLAN header. The BNG Blaster tries to
|
||||
recover the VLAN from kernel headers but will not change the packets stored
|
||||
in the PCAP file.
|
||||
|
||||
**Some session established on BNG are not established on BNG Blaster?**
|
||||
|
||||
The BNG Blaster considers a session only as established if all configured
|
||||
|
||||
@@ -55,6 +55,8 @@ version with optimization and without debug symbols.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
git clone [email protected]:rtbrick/bngblaster.git
|
||||
cd bngblaster
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||
|
||||
@@ -24,6 +24,9 @@ client and server. On the first interface we use an
|
||||
lightweight PPPoE server by accepting every session. The other interface is
|
||||
configured as PPPoE client.
|
||||
|
||||
.. image:: images/quickstart_pppoe.png
|
||||
:alt: PPPoE Quickstart
|
||||
|
||||
The configured :ref:`session traffic <session-traffic>` generates
|
||||
bidirectional traffic between client and server. There is also
|
||||
one more :ref:`traffic stream <streams>` bound to the sessions.
|
||||
@@ -104,13 +107,16 @@ Let's advance the test by enabling some features explained below.
|
||||
* ``-S run.sock`` opens the JSON RPC API socket
|
||||
* ``-I`` start interactive courses user interface
|
||||
|
||||
.. image:: images/quickstart1.png
|
||||
.. image:: images/quickstart_interactive.png
|
||||
:alt: BNG Blaster Interactive
|
||||
|
||||
Now let's try to press ``F1`` to navigate through the different views. All supported
|
||||
keyboard inputs are listed in the top left corner. After pressing ``F9`` the test
|
||||
should be stopped.
|
||||
|
||||
.. image:: images/quickstart_streams.png
|
||||
:alt: BNG Blaster Interactive
|
||||
|
||||
If the test is still running, you can open a second terminal. Then go to the same
|
||||
directory from where you started the BNG Blaster and enter the following command.
|
||||
|
||||
@@ -193,6 +199,9 @@ ISIS
|
||||
In the following example, we create two :ref:`ISIS <isis>` nodes (R1 and R2) with an emulated
|
||||
ISIS topology attached to R1 (`test.mrt``).
|
||||
|
||||
.. image:: images/quickstart_isis.png
|
||||
:alt: ISIS Quickstart
|
||||
|
||||
**isis.json:**
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
@@ -123,17 +123,4 @@ jitter calculations.
|
||||
| Nano Seconds |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
|
||||
The timestamp 0 means that timestamps are disabled.
|
||||
|
||||
Wireshark Plugin
|
||||
~~~~~~~~~~~~~~~~
|
||||
**Wireshark BNG Blaster Header Dissector**
|
||||
|
||||
Download the LUA dissector script
|
||||
`bbl_header.lua <https://github.com/rtbrick/bngblaster/tree/main/wireshark>`_
|
||||
and start wireshark as shown below from the directory where the script is placed.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
$ wireshark -X lua_script:bbl_header.lua
|
||||
|
||||
The timestamp 0 means that timestamps are disabled.
|
||||
@@ -283,60 +283,6 @@ the ISIS common header starting with ``0x83``,
|
||||
}
|
||||
}
|
||||
|
||||
LSPGEN
|
||||
~~~~~~
|
||||
|
||||
The BNG Blaster includes a tool called ``lspgen`` which is able to generate
|
||||
link state packets and topologies for export as MRT and PCAP files. This tool
|
||||
is also able to inject LSP's directly using the ``isis-lsp-update``
|
||||
:ref:`command <api>`.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
$ lspgen --help
|
||||
|
||||
____ __ ____ _ __ ,/
|
||||
/ __ \ / /_ / __ ) _____ (_)_____ / /__ ,'/
|
||||
/ /_/ // __// __ |/ ___// // ___// //_/ ,' /
|
||||
/ _, _// /_ / /_/ // / / // /__ / ,< ,' /_____,
|
||||
/_/ |_| \__//_____//_/ /_/ \___//_/|_| .'____ ,'
|
||||
__ _____ ____ ______ / ,'
|
||||
/ / / ___// __ \/ ____/__ ____ / ,'
|
||||
/ / \__ \/ /_/ / / __/ _ \/ __ \ /,'
|
||||
/ /______/ / ____/ /_/ / __/ / / / /
|
||||
/_____/____/_/ \____/\___/_/ /_/
|
||||
|
||||
Usage: lspgen [OPTIONS]
|
||||
|
||||
-v --version
|
||||
-a --area <args>
|
||||
-K --authentication-key <args>
|
||||
-T --authentication-type none|simple|md5
|
||||
-r --read-config-file <args>
|
||||
-w --write-config-file <args>
|
||||
-C --connector <args>
|
||||
-S --control-socket <args>
|
||||
-l --ipv4-link-prefix <args>
|
||||
-L --ipv6-link-prefix <args>
|
||||
-n --ipv4-node-prefix <args>
|
||||
-N --ipv6-node-prefix <args>
|
||||
-x --ipv4-external-prefix <args>
|
||||
-X --ipv6-external-prefix <args>
|
||||
-M --lsp-lifetime <args>
|
||||
-z --no-ipv4
|
||||
-Z --no-ipv6
|
||||
-e --external-count <args>
|
||||
-g --graphviz-file <args>
|
||||
-h --help
|
||||
-m --mrt-file <args>
|
||||
-c --node-count <args>
|
||||
-p --pcap-file <args>
|
||||
-f --stream-file <args>
|
||||
-s --seed <args>
|
||||
-q --sequence <args>
|
||||
-V --level <args>
|
||||
-t --log normal|debug|lsp|lsdb|timer|timer-detail|ctrl|error
|
||||
|
||||
|
||||
LSP Update via Scapy
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -405,3 +351,216 @@ and inject them using the ``isis-lsp-update`` :ref:`command <api>`.
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
||||
LSPGEN
|
||||
~~~~~~
|
||||
|
||||
The BNG Blaster includes a tool called ``lspgen`` which is able to generate
|
||||
topologies and link state packets for export as MRT and PCAP files. This tool
|
||||
is also able to inject LSP's directly using the ``isis-lsp-update``
|
||||
:ref:`command <api>`.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
$ lspgen --help
|
||||
|
||||
____ __ ____ _ __ ,/
|
||||
/ __ \ / /_ / __ ) _____ (_)_____ / /__ ,'/
|
||||
/ /_/ // __// __ |/ ___// // ___// //_/ ,' /
|
||||
/ _, _// /_ / /_/ // / / // /__ / ,< ,' /_____,
|
||||
/_/ |_| \__//_____//_/ /_/ \___//_/|_| .'____ ,'
|
||||
__ _____ ____ ______ / ,'
|
||||
/ / / ___// __ \/ ____/__ ____ / ,'
|
||||
/ / \__ \/ /_/ / / __/ _ \/ __ \ /,'
|
||||
/ /______/ / ____/ /_/ / __/ / / / /
|
||||
/_____/____/_/ \____/\___/_/ /_/
|
||||
|
||||
Usage: lspgen [OPTIONS]
|
||||
|
||||
-v --version
|
||||
-a --area <args>
|
||||
-K --authentication-key <args>
|
||||
-T --authentication-type none|simple|md5
|
||||
-r --read-config-file <args>
|
||||
-w --write-config-file <args>
|
||||
-C --connector <args>
|
||||
-S --control-socket <args>
|
||||
-l --ipv4-link-prefix <args>
|
||||
-L --ipv6-link-prefix <args>
|
||||
-n --ipv4-node-prefix <args>
|
||||
-N --ipv6-node-prefix <args>
|
||||
-x --ipv4-external-prefix <args>
|
||||
-X --ipv6-external-prefix <args>
|
||||
-M --lsp-lifetime <args>
|
||||
-z --no-ipv4
|
||||
-Z --no-ipv6
|
||||
-e --external-count <args>
|
||||
-g --graphviz-file <args>
|
||||
-h --help
|
||||
-m --mrt-file <args>
|
||||
-c --node-count <args>
|
||||
-p --pcap-file <args>
|
||||
-f --stream-file <args>
|
||||
-s --seed <args>
|
||||
-q --sequence <args>
|
||||
-V --level <args>
|
||||
-t --log normal|debug|lsp|lsdb|timer|timer-detail|ctrl|error
|
||||
|
||||
|
||||
You can generate random topologies or define a topology manually
|
||||
using configuration files.
|
||||
|
||||
Random Topologies
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following example generates a random topology with 1000 nodes.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
lspgen -m isis.mrt -c 1000 -K <secret> -T md5
|
||||
|
||||
The arguments ``-K`` and ``-T`` add a valid authentication TLV
|
||||
to the generated LSP's in the MRT file.
|
||||
|
||||
Those topologies could be even exported as configuration file
|
||||
with the argument ``-w`` and later imported with the argument ``-r``.
|
||||
This allows to generate a large random topology which can be modified
|
||||
manually.
|
||||
|
||||
Topology from Configuration File
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following example shows the configuration for a topology
|
||||
with three nodes.
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"level1": [
|
||||
{
|
||||
"node_id": "1337.0000.0001",
|
||||
"hostname": "R1",
|
||||
"area_list": [
|
||||
"49.1337/24"
|
||||
],
|
||||
"protocol_list": [
|
||||
"ipv4"
|
||||
],
|
||||
"ipv4_address_list": [
|
||||
"10.13.37.1"
|
||||
],
|
||||
"ipv4_prefix_list": [
|
||||
{
|
||||
"ipv4_prefix": "10.13.37.1/32",
|
||||
"metric": 0,
|
||||
"segment_id": 30005,
|
||||
"node_flag": true
|
||||
},
|
||||
{
|
||||
"ipv4_prefix": "10.0.1.0/24",
|
||||
"metric": 1000
|
||||
},
|
||||
{
|
||||
"ipv4_prefix": "10.0.2.0/24",
|
||||
"metric": 1000
|
||||
}
|
||||
],
|
||||
"capability_list": [
|
||||
{
|
||||
"router_id": "10.13.37.1",
|
||||
"mpls_ipv4_flag": true,
|
||||
"mpls_ipv6_flag": false,
|
||||
"srgb_base": 100000,
|
||||
"srgb_range": 36000
|
||||
}
|
||||
],
|
||||
"neighbor_list": [
|
||||
{
|
||||
"remote_node_id": "1337.0000.0000.00",
|
||||
"metric": 10
|
||||
},
|
||||
{
|
||||
"remote_node_id": "1337.0000.0002.00",
|
||||
"metric": 10
|
||||
},
|
||||
{
|
||||
"remote_node_id": "0204.0000.0003.00",
|
||||
"metric": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"node_id": "1337.0000.0002",
|
||||
"hostname": "R2",
|
||||
"area_list": [
|
||||
"49.1337/24"
|
||||
],
|
||||
"protocol_list": [
|
||||
"ipv4"
|
||||
],
|
||||
"ipv4_address_list": [
|
||||
"10.13.37.2"
|
||||
],
|
||||
"ipv4_prefix_list": [
|
||||
{
|
||||
"ipv4_prefix": "10.13.37.2/32",
|
||||
"metric": 0,
|
||||
"segment_id": 30003,
|
||||
"node_flag": true
|
||||
}
|
||||
],
|
||||
"capability_list": [
|
||||
{
|
||||
"router_id": "10.13.37.2",
|
||||
"mpls_ipv4_flag": true,
|
||||
"mpls_ipv6_flag": false,
|
||||
"srgb_base": 100000,
|
||||
"srgb_range": 36000
|
||||
}
|
||||
],
|
||||
"neighbor_list": [
|
||||
{
|
||||
"remote_node_id": "1337.0000.0001.00",
|
||||
"metric": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"node_id": "1337.0000.3",
|
||||
"hostname": "R3",
|
||||
"area_list": [
|
||||
"49.1337/24"
|
||||
],
|
||||
"protocol_list": [
|
||||
"ipv4"
|
||||
],
|
||||
"ipv4_address_list": [
|
||||
"10.13.37.3"
|
||||
],
|
||||
"ipv4_prefix_list": [
|
||||
{
|
||||
"ipv4_prefix": "10.13.37.3/32",
|
||||
"metric": 0,
|
||||
"segment_id": 30003,
|
||||
"node_flag": true
|
||||
}
|
||||
],
|
||||
"capability_list": [
|
||||
{
|
||||
"router_id": "10.13.37.3",
|
||||
"mpls_ipv4_flag": true,
|
||||
"mpls_ipv6_flag": false,
|
||||
"srgb_base": 100000,
|
||||
"srgb_range": 36000
|
||||
}
|
||||
],
|
||||
"neighbor_list": [
|
||||
{
|
||||
"remote_node_id": "1337.0000.0001.00",
|
||||
"metric": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -45,4 +45,31 @@ names.
|
||||
|
||||
This helps to verify if traffic is received or how it has received.
|
||||
Some network interfaces drop the most outer VLAN which can be easily
|
||||
verified using the capture file.
|
||||
verified using the capture file.
|
||||
|
||||
The configuration option ``capture-include-streams`` allows to
|
||||
include (default behavior) or exclude traffic streams from capture.
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"interfaces": {
|
||||
"capture-include-streams": false
|
||||
}
|
||||
}
|
||||
|
||||
Wireshark Plugin
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Traffic streams generated with the BNG Blaster include the
|
||||
:ref:`BNG Blaster Header <bbl_header>` which can analyzed
|
||||
with the Wireshark BNG Blaster Header Dissector.
|
||||
|
||||
Download the LUA dissector script
|
||||
`bbl_header.lua <https://github.com/rtbrick/bngblaster/tree/main/wireshark>`_
|
||||
and start wireshark as shown below from the directory where the script is placed.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
$ wireshark -X lua_script:bbl_header.lua
|
||||
|
||||
|
||||
@@ -514,6 +514,11 @@ session-id for which a connect speed update is requested.</p>
|
||||
<td></td>
|
||||
<td><p><cite>session-id</cite></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><cite>stream-reset</cite></p></td>
|
||||
<td><p>Reset all traffic streams</p></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
@@ -111,6 +111,11 @@
|
||||
<td></td>
|
||||
<td><p><cite>session-id</cite></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><cite>stream-reset</cite></p></td>
|
||||
<td><p>Reset all traffic streams</p></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -79,6 +79,10 @@
|
||||
|
||||
<section id="frequently-asked-questions">
|
||||
<h1>Frequently Asked Questions<a class="headerlink" href="#frequently-asked-questions" title="Permalink to this headline"></a></h1>
|
||||
<p><strong>Outer VLAN header not captured in PCAP?</strong></p>
|
||||
<p>Some interface drivers drop the outer VLAN header. The BNG Blaster tries to
|
||||
recover the VLAN from kernel headers but will not change the packets stored
|
||||
in the PCAP file.</p>
|
||||
<p><strong>Some session established on BNG are not established on BNG Blaster?</strong></p>
|
||||
<p>The BNG Blaster considers a session only as established if all configured
|
||||
protocols are established. This could occur if the device under test (your BNG)
|
||||
|
||||
+3
-1
@@ -130,7 +130,9 @@ sudo apt install -y cmake \
|
||||
<h3>Build<a class="headerlink" href="#build" title="Permalink to this headline"></a></h3>
|
||||
<p>Per default cmake (<cite>cmake .</cite>) will build the BNG Blaster as release
|
||||
version with optimization and without debug symbols.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>mkdir build
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>git clone [email protected]:rtbrick/bngblaster.git
|
||||
cd bngblaster
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||
make all
|
||||
|
||||
@@ -101,6 +101,7 @@ client and server. On the first interface we use an
|
||||
<a class="reference internal" href="interfaces.html#a10nsp-interface"><span class="std std-ref">A10NSP interface</span></a>. Those interfaces emulate a
|
||||
lightweight PPPoE server by accepting every session. The other interface is
|
||||
configured as PPPoE client.</p>
|
||||
<img alt="PPPoE Quickstart" src="_images/quickstart_pppoe.png" />
|
||||
<p>The configured <a class="reference internal" href="access/traffic.html#session-traffic"><span class="std std-ref">session traffic</span></a> generates
|
||||
bidirectional traffic between client and server. There is also
|
||||
one more <a class="reference internal" href="streams.html#streams"><span class="std std-ref">traffic stream</span></a> bound to the sessions.</p>
|
||||
@@ -174,10 +175,11 @@ report printed.</p>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">-S</span> <span class="pre">run.sock</span></code> opens the JSON RPC API socket</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">-I</span></code> start interactive courses user interface</p></li>
|
||||
</ul>
|
||||
<img alt="BNG Blaster Interactive" src="_images/quickstart1.png" />
|
||||
<img alt="BNG Blaster Interactive" src="_images/quickstart_interactive.png" />
|
||||
<p>Now let’s try to press <code class="docutils literal notranslate"><span class="pre">F1</span></code> to navigate through the different views. All supported
|
||||
keyboard inputs are listed in the top left corner. After pressing <code class="docutils literal notranslate"><span class="pre">F9</span></code> the test
|
||||
should be stopped.</p>
|
||||
<img alt="BNG Blaster Interactive" src="_images/quickstart_streams.png" />
|
||||
<p>If the test is still running, you can open a second terminal. Then go to the same
|
||||
directory from where you started the BNG Blaster and enter the following command.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ sudo bngblaster-cli run.sock session-info session-id 1 | jq .
|
||||
@@ -254,6 +256,7 @@ log, and PCAP files.</p>
|
||||
<h2>ISIS<a class="headerlink" href="#isis" title="Permalink to this headline"></a></h2>
|
||||
<p>In the following example, we create two <a class="reference internal" href="routing/isis.html#isis"><span class="std std-ref">ISIS</span></a> nodes (R1 and R2) with an emulated
|
||||
ISIS topology attached to R1 (<cite>test.mrt`</cite>).</p>
|
||||
<img alt="ISIS Quickstart" src="_images/quickstart_isis.png" />
|
||||
<p><strong>isis.json:</strong></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>
|
||||
|
||||
@@ -62,7 +62,6 @@
|
||||
<li class="toctree-l4"><a class="reference internal" href="#nanosecond-send-timestamps">Nanosecond Send Timestamps</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#wireshark-plugin">Wireshark Plugin</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -204,16 +203,6 @@ jitter calculations.</p>
|
||||
<p>The timestamp 0 means that timestamps are disabled.</p>
|
||||
</section>
|
||||
</section>
|
||||
<section id="wireshark-plugin">
|
||||
<h2>Wireshark Plugin<a class="headerlink" href="#wireshark-plugin" title="Permalink to this headline"></a></h2>
|
||||
<p><strong>Wireshark BNG Blaster Header Dissector</strong></p>
|
||||
<p>Download the LUA dissector script
|
||||
<a class="reference external" href="https://github.com/rtbrick/bngblaster/tree/main/wireshark">bbl_header.lua</a>
|
||||
and start wireshark as shown below from the directory where the script is placed.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ wireshark -X lua_script:bbl_header.lua
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
+207
-53
@@ -53,8 +53,12 @@
|
||||
<li class="toctree-l3"><a class="reference internal" href="#limitations">Limitations</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#mrt-files">MRT Files</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#lsp-update-command">LSP Update Command</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#lspgen">LSPGEN</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#lsp-update-via-scapy">LSP Update via Scapy</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#lspgen">LSPGEN</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#random-topologies">Random Topologies</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#topology-from-configuration-file">Topology from Configuration File</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="bgp.html">BGP</a></li>
|
||||
@@ -513,58 +517,6 @@ the ISIS common header starting with <code class="docutils literal notranslate">
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="lspgen">
|
||||
<h2>LSPGEN<a class="headerlink" href="#lspgen" title="Permalink to this headline"></a></h2>
|
||||
<p>The BNG Blaster includes a tool called <code class="docutils literal notranslate"><span class="pre">lspgen</span></code> which is able to generate
|
||||
link state packets and topologies for export as MRT and PCAP files. This tool
|
||||
is also able to inject LSP’s directly using the <code class="docutils literal notranslate"><span class="pre">isis-lsp-update</span></code>
|
||||
<a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a>.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ lspgen --help
|
||||
|
||||
____ __ ____ _ __ ,/
|
||||
/ __ \ / /_ / __ ) _____ (_)_____ / /__ ,'/
|
||||
/ /_/ // __// __ |/ ___// // ___// //_/ ,' /
|
||||
/ _, _// /_ / /_/ // / / // /__ / ,< ,' /_____,
|
||||
/_/ |_| \__//_____//_/ /_/ \___//_/|_| .'____ ,'
|
||||
__ _____ ____ ______ / ,'
|
||||
/ / / ___// __ \/ ____/__ ____ / ,'
|
||||
/ / \__ \/ /_/ / / __/ _ \/ __ \ /,'
|
||||
/ /______/ / ____/ /_/ / __/ / / / /
|
||||
/_____/____/_/ \____/\___/_/ /_/
|
||||
|
||||
Usage: lspgen [OPTIONS]
|
||||
|
||||
-v --version
|
||||
-a --area <args>
|
||||
-K --authentication-key <args>
|
||||
-T --authentication-type none|simple|md5
|
||||
-r --read-config-file <args>
|
||||
-w --write-config-file <args>
|
||||
-C --connector <args>
|
||||
-S --control-socket <args>
|
||||
-l --ipv4-link-prefix <args>
|
||||
-L --ipv6-link-prefix <args>
|
||||
-n --ipv4-node-prefix <args>
|
||||
-N --ipv6-node-prefix <args>
|
||||
-x --ipv4-external-prefix <args>
|
||||
-X --ipv6-external-prefix <args>
|
||||
-M --lsp-lifetime <args>
|
||||
-z --no-ipv4
|
||||
-Z --no-ipv6
|
||||
-e --external-count <args>
|
||||
-g --graphviz-file <args>
|
||||
-h --help
|
||||
-m --mrt-file <args>
|
||||
-c --node-count <args>
|
||||
-p --pcap-file <args>
|
||||
-f --stream-file <args>
|
||||
-s --seed <args>
|
||||
-q --sequence <args>
|
||||
-V --level <args>
|
||||
-t --log normal|debug|lsp|lsdb|timer|timer-detail|ctrl|error
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="lsp-update-via-scapy">
|
||||
<h2>LSP Update via Scapy<a class="headerlink" href="#lsp-update-via-scapy" title="Permalink to this headline"></a></h2>
|
||||
<p>The following example shows how to generate LSP’s via Scapy
|
||||
@@ -631,6 +583,208 @@ and inject them using the <code class="docutils literal notranslate"><span class
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="lspgen">
|
||||
<h2>LSPGEN<a class="headerlink" href="#lspgen" title="Permalink to this headline"></a></h2>
|
||||
<p>The BNG Blaster includes a tool called <code class="docutils literal notranslate"><span class="pre">lspgen</span></code> which is able to generate
|
||||
topologies and link state packets for export as MRT and PCAP files. This tool
|
||||
is also able to inject LSP’s directly using the <code class="docutils literal notranslate"><span class="pre">isis-lsp-update</span></code>
|
||||
<a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a>.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ lspgen --help
|
||||
|
||||
____ __ ____ _ __ ,/
|
||||
/ __ \ / /_ / __ ) _____ (_)_____ / /__ ,'/
|
||||
/ /_/ // __// __ |/ ___// // ___// //_/ ,' /
|
||||
/ _, _// /_ / /_/ // / / // /__ / ,< ,' /_____,
|
||||
/_/ |_| \__//_____//_/ /_/ \___//_/|_| .'____ ,'
|
||||
__ _____ ____ ______ / ,'
|
||||
/ / / ___// __ \/ ____/__ ____ / ,'
|
||||
/ / \__ \/ /_/ / / __/ _ \/ __ \ /,'
|
||||
/ /______/ / ____/ /_/ / __/ / / / /
|
||||
/_____/____/_/ \____/\___/_/ /_/
|
||||
|
||||
Usage: lspgen [OPTIONS]
|
||||
|
||||
-v --version
|
||||
-a --area <args>
|
||||
-K --authentication-key <args>
|
||||
-T --authentication-type none|simple|md5
|
||||
-r --read-config-file <args>
|
||||
-w --write-config-file <args>
|
||||
-C --connector <args>
|
||||
-S --control-socket <args>
|
||||
-l --ipv4-link-prefix <args>
|
||||
-L --ipv6-link-prefix <args>
|
||||
-n --ipv4-node-prefix <args>
|
||||
-N --ipv6-node-prefix <args>
|
||||
-x --ipv4-external-prefix <args>
|
||||
-X --ipv6-external-prefix <args>
|
||||
-M --lsp-lifetime <args>
|
||||
-z --no-ipv4
|
||||
-Z --no-ipv6
|
||||
-e --external-count <args>
|
||||
-g --graphviz-file <args>
|
||||
-h --help
|
||||
-m --mrt-file <args>
|
||||
-c --node-count <args>
|
||||
-p --pcap-file <args>
|
||||
-f --stream-file <args>
|
||||
-s --seed <args>
|
||||
-q --sequence <args>
|
||||
-V --level <args>
|
||||
-t --log normal|debug|lsp|lsdb|timer|timer-detail|ctrl|error
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>You can generate random topologies or define a topology manually
|
||||
using configuration files.</p>
|
||||
<section id="random-topologies">
|
||||
<h3>Random Topologies<a class="headerlink" href="#random-topologies" title="Permalink to this headline"></a></h3>
|
||||
<p>The following example generates a random topology with 1000 nodes.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>lspgen -m isis.mrt -c 1000 -K <secret> -T md5
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The arguments <code class="docutils literal notranslate"><span class="pre">-K</span></code> and <code class="docutils literal notranslate"><span class="pre">-T</span></code> add a valid authentication TLV
|
||||
to the generated LSP’s in the MRT file.</p>
|
||||
<p>Those topologies could be even exported as configuration file
|
||||
with the argument <code class="docutils literal notranslate"><span class="pre">-w</span></code> and later imported with the argument <code class="docutils literal notranslate"><span class="pre">-r</span></code>.
|
||||
This allows to generate a large random topology which can be modified
|
||||
manually.</p>
|
||||
</section>
|
||||
<section id="topology-from-configuration-file">
|
||||
<h3>Topology from Configuration File<a class="headerlink" href="#topology-from-configuration-file" title="Permalink to this headline"></a></h3>
|
||||
<p>The following example shows the configuration for a topology
|
||||
with three nodes.</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">"level1"</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">"node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1337.0000.0001"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"hostname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"R1"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"area_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"49.1337/24"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"protocol_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"ipv4"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"ipv4_address_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"10.13.37.1"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"ipv4_prefix_list"</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">"ipv4_prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10.13.37.1/32"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</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">"segment_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">30005</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"node_flag"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</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">"ipv4_prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10.0.1.0/24"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</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">"ipv4_prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10.0.2.0/24"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</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">"capability_list"</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">"router_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10.13.37.1"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mpls_ipv4_flag"</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">"mpls_ipv6_flag"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"srgb_base"</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">"srgb_range"</span><span class="p">:</span><span class="w"> </span><span class="mi">36000</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">"neighbor_list"</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">"remote_node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1337.0000.0000.00"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</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">"remote_node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1337.0000.0002.00"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</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">"remote_node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0204.0000.0003.00"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</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="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1337.0000.0002"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"hostname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"R2"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"area_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"49.1337/24"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"protocol_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"ipv4"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"ipv4_address_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"10.13.37.2"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"ipv4_prefix_list"</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">"ipv4_prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10.13.37.2/32"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</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">"segment_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">30003</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"node_flag"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</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">"capability_list"</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">"router_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10.13.37.2"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mpls_ipv4_flag"</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">"mpls_ipv6_flag"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"srgb_base"</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">"srgb_range"</span><span class="p">:</span><span class="w"> </span><span class="mi">36000</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">"neighbor_list"</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">"remote_node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1337.0000.0001.00"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</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="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1337.0000.3"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"hostname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"R3"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"area_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"49.1337/24"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"protocol_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"ipv4"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"ipv4_address_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"10.13.37.3"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"ipv4_prefix_list"</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">"ipv4_prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10.13.37.3/32"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</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">"segment_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">30003</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"node_flag"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</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">"capability_list"</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">"router_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10.13.37.3"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mpls_ipv4_flag"</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">"mpls_ipv6_flag"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"srgb_base"</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">"srgb_range"</span><span class="p">:</span><span class="w"> </span><span class="mi">36000</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">"neighbor_list"</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">"remote_node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1337.0000.0001.00"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"metric"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</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="p">]</span><span class="w"></span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -51,7 +51,10 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API/CLI</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Troubleshooting</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#logging">Logging</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#pcap">PCAP</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#pcap">PCAP</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#wireshark-plugin">Wireshark Plugin</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
|
||||
@@ -124,6 +127,27 @@ names.</p>
|
||||
<p>This helps to verify if traffic is received or how it has received.
|
||||
Some network interfaces drop the most outer VLAN which can be easily
|
||||
verified using the capture file.</p>
|
||||
<p>The configuration option <code class="docutils literal notranslate"><span class="pre">capture-include-streams</span></code> allows to
|
||||
include (default behavior) or exclude traffic streams from capture.</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">"capture-include-streams"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</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 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
|
||||
<a class="reference internal" href="reference/traffic.html#bbl-header"><span class="std std-ref">BNG Blaster Header</span></a> which can analyzed
|
||||
with the Wireshark BNG Blaster Header Dissector.</p>
|
||||
<p>Download the LUA dissector script
|
||||
<a class="reference external" href="https://github.com/rtbrick/bngblaster/tree/main/wireshark">bbl_header.lua</a>
|
||||
and start wireshark as shown below from the directory where the script is placed.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ wireshark -X lua_script:bbl_header.lua
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user