github pages update

This commit is contained in:
Christian Giese
2022-04-01 16:40:47 +02:00
parent c685392d9f
commit 4d4516fd92
17 changed files with 222 additions and 42 deletions
+1 -1
View File
@@ -78,7 +78,7 @@ DHCPv6
IPoE Commands
~~~~~~~~~~~~~
The control socket command ``session-info session-id <id>`` provides
The :ref:`command <api>` ``session-info session-id <id>`` provides
detailed information for IPoE sessions.
``$ sudo bngblaster-cli run.sock session-info session-id 1 | jq .``
+2 -2
View File
@@ -325,7 +325,7 @@ is possible to send also CSURQ requests to the LAC.
L2TP Commands
~~~~~~~~~~~~~
The control socket command ``session-info l2tp-tunnels`` provides
The :ref:`command <api>` ``session-info l2tp-tunnels`` provides
detailed information about L2TP tunnels.
``$ sudo bngblaster-cli run.sock l2tp-tunnels``
@@ -357,7 +357,7 @@ detailed information about L2TP tunnels.
]
}
The ``l2tp-sessions`` command returns all L2TP sessions.
The ``l2tp-sessions`` :ref:`command <api>` returns all L2TP sessions.
``$ sudo bngblaster-cli run.sock l2tp-sessions``
+5 -6
View File
@@ -101,8 +101,8 @@ allows to search for the missing packets in the corresponding capture files.
Manual Join/Leave Testing
~~~~~~~~~~~~~~~~~~~~~~~~~
It is possible to join and leave multicast groups manually using the <<Control Socket>> as
shown in the example below.
It is possible to join and leave multicast groups manually using the :ref:`command <api>`
``igmp-join``.
``$ sudo bngblaster-cli run.sock igmp-join session-id 1 group 232.1.1.1 source1 202.11.23.101 source2 202.11.23.102 source3 202.11.23.103``
@@ -183,7 +183,7 @@ sending leave and the last multicast packet received for this group. Multicast p
received for the leaved group after first packet of joined group is received are counted
as overlap.
The following configuration shows an example of the `igmp` section
The following configuration shows an example of the ``igmp`` section
for a typical zapping test.
.. code-block:: json
@@ -205,13 +205,12 @@ for a typical zapping test.
}
}
.. include:: ../configuration/igmp.rst
Multicast Limitations
~~~~~~~~~~~~~~~~~~~~~
The BNG Blaster IGMP implementation supports up to 3 sources per group record
and 8 group records per session.
The IGMP protocol stops working if IPCP has closed also if session IPCP renegotiates.
The whole session needs to be disconnected to restart IGMP.
The check for overlapping multicast traffic is supported for zapping tests only.
+1 -2
View File
@@ -125,7 +125,6 @@ PPP IP6CP (IPv6)
^^^^^^^^^^^^^^^^
.. include:: ../configuration/ppp_ip6cp.rst
LCP Vendor Extension
~~~~~~~~~~~~~~~~~~~~
@@ -144,7 +143,7 @@ The value from request is stored in the session as ``connection-status-message``
PPPoE Commands
~~~~~~~~~~~~~~
The control socket command ``session-info session-id <id>`` provides
The :ref:`command <api>` ``session-info session-id <id>`` provides
detailed information for PPPoE sessions.
``$ sudo bngblaster-cli run.sock session-info session-id 1 | jq .``
-2
View File
@@ -41,8 +41,6 @@ Verification
The final report includes detailed information
for session traffic.
*Example report output for 100 sessions:*
.. code-block:: none
Session Traffic:
+1 -1
View File
@@ -103,7 +103,7 @@ The configured ``raw-update-file`` under the BGP session is loaded
during Blaster startup phase and send as soon as the session is
established.
The ``bgp-raw-update`` command allows to send further updates during
The ``bgp-raw-update`` :ref:`command <api>` allows to send further updates during
the session lifetime.
``$ sudo bngblaster-cli run.sock bgp-raw-update file update1.bgp``
+56 -8
View File
@@ -168,7 +168,7 @@ LSP entries in the ISIS database.
The type ``self`` is used for the self originated LSP describing the own
BNG Blaster ISIS instance. LSP entries of type ``adjacency`` are learned
via ISIS adjacencies. The type ``external`` is used for those LSP entries
learned via MRT files or injected via ``isis-lsp-update`` command.
learned via MRT files or injected via ``isis-lsp-update`` :ref:`command <api>`.
``$ sudo bngblaster-cli run.sock isis-database instance 1 level 1``
@@ -255,7 +255,7 @@ the ISIS common header starting with ``0x83``.
Those files can be loaded at startup via configuration option
``"isis": { "external": { "mrt-file": "<file>" } }`` or alternative
via ``isis-load-mrt`` command.
via ``isis-load-mrt`` :ref:`command <api>`.
``$ sudo bngblaster-cli run.sock isis-load-mrt file test.mrt instance 1``
@@ -263,9 +263,9 @@ LSP Update Command
~~~~~~~~~~~~~~~~~~
It is also possible to inject external LSP's using the ``isis-lsp-update``
command.
:ref:`command <api>`.
The command expects a list of hex encoded PDU's including
The :ref:`command <api>` expects a list of hex encoded PDU's including
the ISIS common header starting with ``0x83``,
``$ cat command.json | jq .``
@@ -286,15 +286,63 @@ 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 or directly
injected via BNG Blaster LSP update command.
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
~~~~~~~~~~~~~~~~~~~~
The following example shows how to generate LSP's via Scapy
and inject them using the ``isis-lsp-update`` command.
and inject them using the ``isis-lsp-update`` :ref:`command <api>`.
.. code-block:: python
+2
View File
@@ -1,3 +1,5 @@
MPLS
----
The BNG Blaster is able to send and receive traffic with
up to two MPLS labels.
+1 -1
View File
@@ -284,7 +284,7 @@ statically as shown in the example below.</p>
</section>
<section id="ipoe-commands">
<h2>IPoE Commands<a class="headerlink" href="#ipoe-commands" title="Permalink to this headline"></a></h2>
<p>The control socket command <code class="docutils literal notranslate"><span class="pre">session-info</span> <span class="pre">session-id</span> <span class="pre">&lt;id&gt;</span></code> provides
<p>The <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a> <code class="docutils literal notranslate"><span class="pre">session-info</span> <span class="pre">session-id</span> <span class="pre">&lt;id&gt;</span></code> provides
detailed information for IPoE sessions.</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-info</span> <span class="pre">session-id</span> <span class="pre">1</span> <span class="pre">|</span> <span class="pre">jq</span> <span class="pre">.</span></code></p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
+2 -2
View File
@@ -477,7 +477,7 @@ is possible to send also CSURQ requests to the LAC.</p>
</section>
<section id="l2tp-commands">
<h2>L2TP Commands<a class="headerlink" href="#l2tp-commands" title="Permalink to this headline"></a></h2>
<p>The control socket command <code class="docutils literal notranslate"><span class="pre">session-info</span> <span class="pre">l2tp-tunnels</span></code> provides
<p>The <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a> <code class="docutils literal notranslate"><span class="pre">session-info</span> <span class="pre">l2tp-tunnels</span></code> provides
detailed information about L2TP tunnels.</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">l2tp-tunnels</span></code></p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
@@ -506,7 +506,7 @@ detailed information about L2TP tunnels.</p>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
<p>The <code class="docutils literal notranslate"><span class="pre">l2tp-sessions</span></code> command returns all L2TP sessions.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">l2tp-sessions</span></code> <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a> returns all L2TP sessions.</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">l2tp-sessions</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>
+92 -5
View File
@@ -183,8 +183,8 @@ BNG Blaster instance.</p>
</section>
<section id="manual-join-leave-testing">
<h2>Manual Join/Leave Testing<a class="headerlink" href="#manual-join-leave-testing" title="Permalink to this headline"></a></h2>
<p>It is possible to join and leave multicast groups manually using the &lt;&lt;Control Socket&gt;&gt; as
shown in the example below.</p>
<p>It is possible to join and leave multicast groups manually using the <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a>
<code class="docutils literal notranslate"><span class="pre">igmp-join</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">igmp-join</span> <span class="pre">session-id</span> <span class="pre">1</span> <span class="pre">group</span> <span class="pre">232.1.1.1</span> <span class="pre">source1</span> <span class="pre">202.11.23.101</span> <span class="pre">source2</span> <span class="pre">202.11.23.102</span> <span class="pre">source3</span> <span class="pre">202.11.23.103</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="w"></span>
@@ -253,7 +253,7 @@ first multicast packet of the requested group. The leave delay is the time betwe
sending leave and the last multicast packet received for this group. Multicast packets
received for the leaved group after first packet of joined group is received are counted
as overlap.</p>
<p>The following configuration shows an example of the <cite>igmp</cite> section
<p>The following configuration shows an example of the <code class="docutils literal notranslate"><span class="pre">igmp</span></code> section
for a typical zapping test.</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;igmp&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
@@ -273,13 +273,100 @@ for a typical zapping test.</p>
<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;igmp&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>autostart</cite></p></td>
<td><p>Automatically join after session is established</p></td>
<td><p>true</p></td>
</tr>
<tr class="row-odd"><td><p><cite>version</cite></p></td>
<td><p>IGMP protocol version (1, 2 or 3)</p></td>
<td><p>3</p></td>
</tr>
<tr class="row-even"><td><p><cite>combined-leave-join</cite></p></td>
<td><p>Combine leave and join records within a single IGMPv3 report</p></td>
<td><p>true</p></td>
</tr>
<tr class="row-odd"><td><p><cite>start-delay</cite></p></td>
<td><p>Delay between session established and initial IGMP join in seconds</p></td>
<td><p>1</p></td>
</tr>
<tr class="row-even"><td><p><cite>group</cite></p></td>
<td><p>Multicast group base address (e.g. 239.0.0.1)</p></td>
<td><p>0.0.0.0 (disabled)</p></td>
</tr>
<tr class="row-odd"><td><p><cite>group-iter</cite></p></td>
<td><p>Multicast group iterator</p></td>
<td><p>0.0.0.1</p></td>
</tr>
<tr class="row-even"><td><p><cite>group-count</cite></p></td>
<td><p>Multicast group count</p></td>
<td><p>1</p></td>
</tr>
<tr class="row-odd"><td><p><cite>source</cite></p></td>
<td><p>Multicast source address (e.g. 1.1.1.1)</p></td>
<td><p>0.0.0.0 (ASM)</p></td>
</tr>
<tr class="row-even"><td><p><cite>zapping-interval</cite></p></td>
<td><p>IGMP channel zapping interval in seconds</p></td>
<td><p>0 (disabled)</p></td>
</tr>
<tr class="row-odd"><td><p><cite>zapping-count</cite></p></td>
<td><p>Define the amount of channel changes before starting view duration</p></td>
<td><p>0 (disabled)</p></td>
</tr>
<tr class="row-even"><td><p><cite>view-duration</cite></p></td>
<td><p>Define the view duration in seconds</p></td>
<td><p>0 (disabled)</p></td>
</tr>
<tr class="row-odd"><td><p><cite>send-multicast-traffic</cite></p></td>
<td><p>Generate multicast traffic</p></td>
<td><p>false</p></td>
</tr>
<tr class="row-even"><td><p><cite>multicast-traffic-length</cite></p></td>
<td><p>Multicast traffic IP length</p></td>
<td><p>76</p></td>
</tr>
<tr class="row-odd"><td><p><cite>multicast-traffic-tos</cite></p></td>
<td><p>Multicast traffic TOS priority</p></td>
<td><p>0</p></td>
</tr>
<tr class="row-even"><td><p><cite>network-interface</cite></p></td>
<td><p>Multicast traffic source interface</p></td>
<td></td>
</tr>
</tbody>
</table>
<p>Per default join and leave requests are send using dedicated reports.
The option <code class="docutils literal notranslate"><span class="pre">combined-leave-join</span></code> allows the combination of leave and
join records within a single IGMPv3 report using multiple group records.
This option is applicable to IGMP version 3 only!</p>
<p>If <code class="docutils literal notranslate"><span class="pre">send-multicast-traffic</span></code> is true, the BNG Blaster generates multicast
traffic on the network interface based on the specified group and source
attributes mentioned before. This traffic includes some special signatures
for faster processing and more detailed analysis.</p>
<p>If group is set to 293.0.0.1 with group-iter of 0.0.0.2, source 1.1.1.1
and group-count 3 the result are the following three groups (S.G)
1.1.1.1,239.0.0.1, 1.1.1.1,239.0.0.3 and 1.1.1.1,239.0.0.5.</p>
</section>
<section id="multicast-limitations">
<h2>Multicast Limitations<a class="headerlink" href="#multicast-limitations" title="Permalink to this headline"></a></h2>
<p>The BNG Blaster IGMP implementation supports up to 3 sources per group record
and 8 group records per session.</p>
<p>The IGMP protocol stops working if IPCP has closed also if session IPCP renegotiates.
The whole session needs to be disconnected to restart IGMP.</p>
<p>The check for overlapping multicast traffic is supported for zapping tests only.</p>
</section>
</section>
+1 -1
View File
@@ -454,7 +454,7 @@ The value from request is stored in the session as <code class="docutils literal
</section>
<section id="pppoe-commands">
<h2>PPPoE Commands<a class="headerlink" href="#pppoe-commands" title="Permalink to this headline"></a></h2>
<p>The control socket command <code class="docutils literal notranslate"><span class="pre">session-info</span> <span class="pre">session-id</span> <span class="pre">&lt;id&gt;</span></code> provides
<p>The <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a> <code class="docutils literal notranslate"><span class="pre">session-info</span> <span class="pre">session-id</span> <span class="pre">&lt;id&gt;</span></code> provides
detailed information for PPPoE sessions.</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-info</span> <span class="pre">session-id</span> <span class="pre">1</span> <span class="pre">|</span> <span class="pre">jq</span> <span class="pre">.</span></code></p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
-1
View File
@@ -243,7 +243,6 @@ option in the corresponding access configuration.</p>
<h2>Verification<a class="headerlink" href="#verification" title="Permalink to this headline"></a></h2>
<p>The final report includes detailed information
for session traffic.</p>
<p><em>Example report output for 100 sessions:</em></p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Session Traffic:
Config:
IPv4 PPS: 1
+1 -1
View File
@@ -243,7 +243,7 @@ from PCAP or MRT files.</p>
<p>The configured <code class="docutils literal notranslate"><span class="pre">raw-update-file</span></code> under the BGP session is loaded
during Blaster startup phase and send as soon as the session is
established.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">bgp-raw-update</span></code> command allows to send further updates during
<p>The <code class="docutils literal notranslate"><span class="pre">bgp-raw-update</span></code> <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a> allows to send further updates during
the session lifetime.</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">bgp-raw-update</span> <span class="pre">file</span> <span class="pre">update1.bgp</span></code></p>
<p>This allows in example to load a full table after session has
+54 -8
View File
@@ -412,7 +412,7 @@ LSP entries in the ISIS database.</p>
<p>The type <code class="docutils literal notranslate"><span class="pre">self</span></code> is used for the self originated LSP describing the own
BNG Blaster ISIS instance. LSP entries of type <code class="docutils literal notranslate"><span class="pre">adjacency</span></code> are learned
via ISIS adjacencies. The type <code class="docutils literal notranslate"><span class="pre">external</span></code> is used for those LSP entries
learned via MRT files or injected via <code class="docutils literal notranslate"><span class="pre">isis-lsp-update</span></code> command.</p>
learned via MRT files or injected via <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>
<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">isis-database</span> <span class="pre">instance</span> <span class="pre">1</span> <span class="pre">level</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>
@@ -490,14 +490,14 @@ no support for route leaking between levels.</p>
the ISIS common header starting with <code class="docutils literal notranslate"><span class="pre">0x83</span></code>.</p>
<p>Those files can be loaded at startup via configuration option
<code class="docutils literal notranslate"><span class="pre">&quot;isis&quot;:</span> <span class="pre">{</span> <span class="pre">&quot;external&quot;:</span> <span class="pre">{</span> <span class="pre">&quot;mrt-file&quot;:</span> <span class="pre">&quot;&lt;file&gt;&quot;</span> <span class="pre">}</span> <span class="pre">}</span></code> or alternative
via <code class="docutils literal notranslate"><span class="pre">isis-load-mrt</span></code> command.</p>
via <code class="docutils literal notranslate"><span class="pre">isis-load-mrt</span></code> <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a>.</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">isis-load-mrt</span> <span class="pre">file</span> <span class="pre">test.mrt</span> <span class="pre">instance</span> <span class="pre">1</span></code></p>
</section>
<section id="lsp-update-command">
<h2>LSP Update Command<a class="headerlink" href="#lsp-update-command" title="Permalink to this headline"></a></h2>
<p>It is also possible to inject external LSPs using the <code class="docutils literal notranslate"><span class="pre">isis-lsp-update</span></code>
command.</p>
<p>The command expects a list of hex encoded PDUs including
<a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a>.</p>
<p>The <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a> expects a list of hex encoded PDUs including
the ISIS common header starting with <code class="docutils literal notranslate"><span class="pre">0x83</span></code>,</p>
<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">cat</span> <span class="pre">command.json</span> <span class="pre">|</span> <span class="pre">jq</span> <span class="pre">.</span></code></p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
@@ -515,14 +515,60 @@ the ISIS common header starting with <code class="docutils literal notranslate">
</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 or directly
injected via BNG Blaster LSP update command.</p>
<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 LSPs 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
____ __ ____ _ __ ,/
/ __ \ / /_ / __ ) _____ (_)_____ / /__ ,&#39;/
/ /_/ // __// __ |/ ___// // ___// //_/ ,&#39; /
/ _, _// /_ / /_/ // / / // /__ / ,&lt; ,&#39; /_____,
/_/ |_| \__//_____//_/ /_/ \___//_/|_| .&#39;____ ,&#39;
__ _____ ____ ______ / ,&#39;
/ / / ___// __ \/ ____/__ ____ / ,&#39;
/ / \__ \/ /_/ / / __/ _ \/ __ \ /,&#39;
/ /______/ / ____/ /_/ / __/ / / / /
/_____/____/_/ \____/\___/_/ /_/
Usage: lspgen [OPTIONS]
-v --version
-a --area &lt;args&gt;
-K --authentication-key &lt;args&gt;
-T --authentication-type none|simple|md5
-r --read-config-file &lt;args&gt;
-w --write-config-file &lt;args&gt;
-C --connector &lt;args&gt;
-S --control-socket &lt;args&gt;
-l --ipv4-link-prefix &lt;args&gt;
-L --ipv6-link-prefix &lt;args&gt;
-n --ipv4-node-prefix &lt;args&gt;
-N --ipv6-node-prefix &lt;args&gt;
-x --ipv4-external-prefix &lt;args&gt;
-X --ipv6-external-prefix &lt;args&gt;
-M --lsp-lifetime &lt;args&gt;
-z --no-ipv4
-Z --no-ipv6
-e --external-count &lt;args&gt;
-g --graphviz-file &lt;args&gt;
-h --help
-m --mrt-file &lt;args&gt;
-c --node-count &lt;args&gt;
-p --pcap-file &lt;args&gt;
-f --stream-file &lt;args&gt;
-s --seed &lt;args&gt;
-q --sequence &lt;args&gt;
-V --level &lt;args&gt;
-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 LSPs via Scapy
and inject them using the <code class="docutils literal notranslate"><span class="pre">isis-lsp-update</span></code> command.</p>
and inject them 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-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="kn">import</span> <span class="nn">socket</span>
<span class="kn">import</span> <span class="nn">os</span>
+2
View File
@@ -86,6 +86,8 @@
<section id="mpls">
<h1>MPLS<a class="headerlink" href="#mpls" title="Permalink to this headline"></a></h1>
<p>The BNG Blaster is able to send and receive traffic with
up to two MPLS labels.</p>
</section>
+1 -1
View File
File diff suppressed because one or more lines are too long