docu update

This commit is contained in:
Christian Giese
2022-04-01 16:40:03 +02:00
parent a1d52b5a1c
commit c685392d9f
9 changed files with 79 additions and 35 deletions
+11 -13
View File
@@ -5,21 +5,19 @@
[![License](https://img.shields.io/badge/License-BSD-lightgrey)](https://github.com/rtbrick/bngblaster/blob/main/LICENSE)
[![Documentation](https://img.shields.io/badge/Documentation-lightgrey)](https://rtbrick.github.io/bngblaster)
The BNG Blaster is an open-source network tester for access and routing protocols.
It can simulate massive PPPoE and IPoE (DHCP) subscribers including IPTV, and L2TPv2.
The BNG Blaster is an open-source network tester
for access and routing protocols. It can emulate massive
PPPoE and IPoE (DHCP) subscribers including IPTV, and L2TP (LNS).
There are various routing protocols supported like ISIS and BGP.
So you can use it for end-to-end BNG and non-BNG router testing.
There are various routing protocols supported like ISIS and BGP. So you can use it for
end-to-end BNG and non-BNG router testing.
You can use the included traffic generator for forwarding verification,
QoS testing or to measure convergence times. The traffic generator supports
millions of separate tracked flows. This allows you to verify every single
forwarding state of a full feed internet routing table. You can also send
traffic to every single QoS queue of your service edge router.
You can use the included traffic generator for forwarding verification, which allows you
to test QoS configurations or measure convergence times.
The traffic generator supports more than a million separate tracked flows.
So you can use this to verify every single forwarding state of a full feed
internet routing table. You can also send traffic for every single QoS queue
of carrier grade BNG hardware.
The BNG Blaster is used by network operators and vendors of network hard- and software.
The BNG Blaster is used by leading network operators, network hard- and software vendors.
A short [introduction](https://youtu.be/EHJ70p0_Sw0 "BNG Blaster") and good presentation
from [DENOG13](https://youtu.be/LVg6rlVEfNU "DENOG13") can be found on YouTube.
+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.