.. _configuration:
.. raw:: html
Configuration
=============
The BNG Blastert configuration is presented as a JSON file.
This configuration must include at least one interface function.
.. code-block:: json
{
"interfaces": {
"network": {
"interface": "eth2",
"address": "10.0.0.10/24",
"gateway": "10.0.0.2"
}
}
}
In order to minimize the size of this configuration, you have the option
to relocate the stream definitions to a separate file. However, it's important
to note that both the streams specified in the main configuration file and
the additional streams configuration file will be applied. This approach
proves particularly beneficial when conducting tests that involve an extensive
number of traffic streams, numbering in the millions. By separating the streams
into distinct files, you can maintain a more organized and manageable
configuration while ensuring that the combined streams are effectively utilized
in your testing scenarios. This flexibility in configuration empowers you to
handle large-scale traffic simulations with ease.
.. code-block:: bash
bngblaster -C config.json -T streams.json
.. _variables:
Variables
---------
Some configuration attributes like **username**, **password**, **agent-remote-id**,
**agent-circuit-id**, or **cfm-ma-name** support variable substitution.
The variable **{session-global}** will be replaced with the actual session-id
starting from 1 and incremented for every new session. The variable **{session}**
is incremented per-interface section. The variables **{outer-vlan}** and **{inner-vlan}**
will be replaced with the corresponding VLAN identifier or 0 if not defined.
The two variables **{i1}** and **{i2}** are configurable per-interface sections
with user-defined start values and steps.
.. code-block:: json
{
"username": "user{session-global}@rtbrick.com",
"agent-circuit-id": "0.0.0.0/0.0.0.0 eth {outer-vlan}:{inner-vlan}",
"agent-remote-id": "DEU.RTBRICK.{i1}",
"i1-start": 10000,
"i1-step": 2
}
Interfaces
----------
The BNG Blaster interfaces are explained detailed in the
:ref:`interfaces section `.
.. include:: interfaces.rst
Links
~~~~~
.. include:: interfaces_links.rst
Link Aggregation (LAG)
~~~~~~~~~~~~~~~~~~~~~~
.. include:: interfaces_lag.rst
Network Interfaces
~~~~~~~~~~~~~~~~~~
.. include:: interfaces_network.rst
Access Interfaces
~~~~~~~~~~~~~~~~~
.. include:: interfaces_access.rst
A10NSP Interfaces
~~~~~~~~~~~~~~~~~
The :ref:`L2BSA ` specification defines two interfaces.
The so-called U interface (User Interface) at the customer location
and the A10-NSP interface (A10 Network Service Provider)
between the service provider networks.
The BNG Blaster A10NSP interface emulates such a layer two provider interface.
This interface type accepts all DHCPv4 and PPPoE sessions were received to verify
forwarding and header enrichment.
.. include:: interfaces_a10nsp.rst
Sessions
--------
.. include:: sessions.rst
IPoE
----
.. include:: ipoe.rst
PPPoE
-----
.. include:: pppoe.rst
PPP
---
.. include:: ppp.rst
PPP Authentication
~~~~~~~~~~~~~~~~~~
.. include:: ppp_authentication.rst
PPP LCP
~~~~~~~~~~~~~~~~~~
.. include:: ppp_lcp.rst
PPP IPCP (IPv4)
~~~~~~~~~~~~~~~
.. include:: ppp_ipcp.rst
PPP IP6CP (IPv6)
~~~~~~~~~~~~~~~~
.. include:: ppp_ip6cp.rst
DHCP
----
.. include:: dhcp.rst
DHCPv6
------
.. include:: dhcpv6.rst
IGMP
----
.. include:: igmp.rst
L2TPv2 Server (LNS)
-------------------
.. include:: lns.rst
Traffic
-------
.. include:: traffic.rst
Traffic-Streams
---------------
.. include:: streams.rst
Session-Traffic
---------------
.. include:: session_traffic.rst
Access-Line
-----------
.. include:: access_line.rst
Access-Line-Profiles
--------------------
.. include:: access_line_profiles.rst
ISIS
----
.. include:: isis.rst
ISIS External
~~~~~~~~~~~~~
.. include:: isis_external.rst
ISIS External Connections
~~~~~~~~~~~~~~~~~~~~~~~~~
.. include:: isis_external_connections.rst
OSPF
----
.. include:: ospf.rst
OSPF External
~~~~~~~~~~~~~
.. include:: ospf_external.rst
OSPF External Connections
~~~~~~~~~~~~~~~~~~~~~~~~~
.. include:: ospf_external_connections.rst
LDP
---
.. include:: ldp.rst
BGP
---
.. include:: bgp.rst
HTTP-Client
-----------
.. include:: http_client.rst
HTTP-Server
-----------
.. include:: http_server.rst