From 4ae964b7b8ec5f95d346b967c47643949831c1db Mon Sep 17 00:00:00 2001 From: Christian Giese Date: Tue, 19 Apr 2022 10:50:38 +0200 Subject: [PATCH 01/10] not responding to PADO #73 --- code/bngblaster/src/bbl_rx.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/code/bngblaster/src/bbl_rx.c b/code/bngblaster/src/bbl_rx.c index 3c70b9a0..859a8531 100644 --- a/code/bngblaster/src/bbl_rx.c +++ b/code/bngblaster/src/bbl_rx.c @@ -1541,8 +1541,10 @@ bbl_rx_discovery(bbl_ethernet_header_t *eth, bbl_interface_s *interface, bbl_ses memcpy(session->pppoe_service_name, pppoed->service_name, pppoed->service_name_len); } } else { - LOG(PPPOE, "PPPoE Error (ID: %u) Missing service name in PADO\n", session->session_id); - return; + if(session->pppoe_service_name_len) { + LOG(PPPOE, "PPPoE Error (ID: %u) Missing service name in PADO\n", session->session_id); + return; + } } if(session->pppoe_host_uniq) { if(pppoed->host_uniq_len != sizeof(uint64_t) || @@ -1567,10 +1569,17 @@ bbl_rx_discovery(bbl_ethernet_header_t *eth, bbl_interface_s *interface, bbl_ses return; } } - if(pppoed->service_name_len != session->pppoe_service_name_len || - memcmp(pppoed->service_name, session->pppoe_service_name, session->pppoe_service_name_len) != 0) { - LOG(PPPOE, "PPPoE Error (ID: %u) Wrong service name in PADS\n", session->session_id); - return; + if(pppoed->service_name_len) { + if(pppoed->service_name_len != session->pppoe_service_name_len || + memcmp(pppoed->service_name, session->pppoe_service_name, session->pppoe_service_name_len) != 0) { + LOG(PPPOE, "PPPoE Error (ID: %u) Wrong service name in PADS\n", session->session_id); + return; + } + } else { + if(session->pppoe_service_name_len) { + LOG(PPPOE, "PPPoE Error (ID: %u) Missing service name in PADS\n", session->session_id); + return; + } } session->pppoe_session_id = pppoed->session_id; bbl_session_update_state(ctx, session, BBL_PPP_LINK); From d21e113f90b59d09f12631d53a6873bc9750561b Mon Sep 17 00:00:00 2001 From: Christian Giese Date: Tue, 19 Apr 2022 10:51:08 +0200 Subject: [PATCH 02/10] update documentation sources --- docsrc/sources/conf.py | 4 +- docsrc/sources/configuration/interfaces.rst | 6 +-- docsrc/sources/interfaces.rst | 42 ++++++++++++++++++++- 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/docsrc/sources/conf.py b/docsrc/sources/conf.py index a4700486..1725d558 100644 --- a/docsrc/sources/conf.py +++ b/docsrc/sources/conf.py @@ -5,8 +5,8 @@ project = 'BNG Blaster' copyright = '2020-2022, RtBrick, Inc.' author = 'Christian Giese' -release = '0.0' -version = '0.0.0' +release = '0.7' +version = '0.7.2' # -- General configuration diff --git a/docsrc/sources/configuration/interfaces.rst b/docsrc/sources/configuration/interfaces.rst index 1c61748a..cfa5504e 100644 --- a/docsrc/sources/configuration/interfaces.rst +++ b/docsrc/sources/configuration/interfaces.rst @@ -12,10 +12,10 @@ - Default * - `tx-interval` - TX ring polling interval in milliseconds - - 5.0 + - 1.0 * - `rx-interval` - RX ring polling interval in milliseconds - - 5.0 + - 1.0 * - `qdisc-bypass` - Bypass the kernel's qdisc layer - true @@ -24,7 +24,7 @@ - packet_mmap_raw * - `io-slots` - IO slots (ring size) - - 1024 + - 4096 * - `io-stream-max-ppi` - IO traffic stream max packets per interval - 32 diff --git a/docsrc/sources/interfaces.rst b/docsrc/sources/interfaces.rst index 31aa3f83..432e9310 100644 --- a/docsrc/sources/interfaces.rst +++ b/docsrc/sources/interfaces.rst @@ -29,7 +29,7 @@ The following settings are applied to all interfaces. The ``tx-interval`` and ``rx-interval`` should be set to at to at least ``1.0`` (1ms) if more precise timestamps or high throughput is needed. This is recommended for IGMP join/leave or QoS delay measurements. For higher packet rates (>1g) it might be needed to -increase the ``io-slots`` from the default value of ``1024`` to ``2048`` or more. +increase the ``io-slots`` from the default value of ``4096``. The supported IO modes are listed with ``bngblaster -v`` but except ``packet_mmap_raw`` all other modes are currently considered as experimental. In @@ -75,6 +75,46 @@ interface. .. note:: The number of interfaces is currently limited to 32! +It might be also needed to increase the hardware and software queue size of your +network interfaces for higher throughput. + +The command ``ethtool -g `` shows the currently applied and maximum +hardware queue size. + +.. code-block:: none + + $ sudo ethtool -g ens5f1 + Ring parameters for ens5f1: + Pre-set maximums: + RX: 4096 + RX Mini: 0 + RX Jumbo: 0 + TX: 4096 + Current hardware settings: + RX: 512 + RX Mini: 0 + RX Jumbo: 0 + TX: 512 + +The currently applied settings can be change with the following command: + +.. code-block:: none + + sudo ethtool -G ens5f1 tx 4096 rx 4096 + +You can even change the software queue size: + +.. code-block:: none + + sudo ip link set txqueuelen 4096 dev ens5f1 + + +.. note:: + + Today all traffic is received in main thread, therefore + the single thread performance of your CPU is the most + significant performance factor. + Network Interfaces ------------------ From 624912ccea89580567889fbc9d918d5906b6b6ae Mon Sep 17 00:00:00 2001 From: Christian Giese Date: Tue, 19 Apr 2022 10:52:03 +0200 Subject: [PATCH 03/10] update github pages --- .../_sources/configuration/interfaces.rst.txt | 11 +++-- docs/_sources/interfaces.rst.txt | 42 +++++++++++++++- docs/_static/documentation_options.js | 2 +- docs/access/index.html | 2 +- docs/access/ipoe.html | 2 +- docs/access/l2bsa.html | 2 +- docs/access/l2tp.html | 2 +- docs/access/li.html | 2 +- docs/access/multicast.html | 2 +- docs/access/pppoe.html | 2 +- docs/access/traffic.html | 2 +- docs/api/bgp.html | 2 +- docs/api/cfm.html | 2 +- docs/api/igmp.html | 2 +- docs/api/index.html | 2 +- docs/api/interfaces.html | 2 +- docs/api/isis.html | 2 +- docs/api/l2tp.html | 2 +- docs/api/li.html | 2 +- docs/api/ppp.html | 2 +- docs/api/sessions.html | 2 +- docs/api/streams.html | 2 +- docs/api/traffic.html | 2 +- docs/configuration/access_line.html | 2 +- docs/configuration/access_line_profiles.html | 2 +- docs/configuration/bgp.html | 2 +- docs/configuration/dhcp.html | 2 +- docs/configuration/dhcpv6.html | 2 +- docs/configuration/igmp.html | 2 +- docs/configuration/index.html | 12 +++-- docs/configuration/interfaces.html | 12 +++-- docs/configuration/interfaces_a10nsp.html | 2 +- docs/configuration/interfaces_access.html | 2 +- docs/configuration/interfaces_network.html | 2 +- docs/configuration/ipoe.html | 2 +- docs/configuration/isis.html | 2 +- docs/configuration/isis_external.html | 2 +- .../isis_external_connections.html | 2 +- docs/configuration/lns.html | 2 +- docs/configuration/ppp.html | 2 +- docs/configuration/ppp_authentication.html | 2 +- docs/configuration/ppp_ip6cp.html | 2 +- docs/configuration/ppp_ipcp.html | 2 +- docs/configuration/ppp_lcp.html | 2 +- docs/configuration/pppoe.html | 2 +- docs/configuration/session_traffic.html | 2 +- docs/configuration/sessions.html | 2 +- docs/configuration/streams.html | 2 +- docs/configuration/traffic.html | 2 +- docs/faq.html | 2 +- docs/genindex.html | 2 +- docs/index.html | 2 +- docs/install.html | 2 +- docs/interfaces.html | 46 ++++++++++++++++-- docs/objects.inv | Bin 1141 -> 1141 bytes docs/quickstart.html | 2 +- docs/reference/architecture.html | 2 +- docs/reference/index.html | 2 +- docs/reference/traffic.html | 2 +- docs/reports.html | 2 +- docs/routing/bgp.html | 2 +- docs/routing/index.html | 2 +- docs/routing/isis.html | 2 +- docs/routing/mpls.html | 2 +- docs/search.html | 2 +- docs/searchindex.js | 2 +- docs/streams.html | 2 +- docs/troubleshooting.html | 2 +- 68 files changed, 167 insertions(+), 80 deletions(-) diff --git a/docs/_sources/configuration/interfaces.rst.txt b/docs/_sources/configuration/interfaces.rst.txt index a097529c..cfa5504e 100644 --- a/docs/_sources/configuration/interfaces.rst.txt +++ b/docs/_sources/configuration/interfaces.rst.txt @@ -12,10 +12,10 @@ - Default * - `tx-interval` - TX ring polling interval in milliseconds - - 5.0 + - 1.0 * - `rx-interval` - RX ring polling interval in milliseconds - - 5.0 + - 1.0 * - `qdisc-bypass` - Bypass the kernel's qdisc layer - true @@ -24,10 +24,13 @@ - packet_mmap_raw * - `io-slots` - IO slots (ring size) - - 1024 + - 4096 * - `io-stream-max-ppi` - IO traffic stream max packets per interval - 32 * - `capture-include-streams` - Include traffic streams in capture - - true \ No newline at end of file + - true + * - `mac-modifier` + - Third byte of access session MAC address (0-255) + - 0 \ No newline at end of file diff --git a/docs/_sources/interfaces.rst.txt b/docs/_sources/interfaces.rst.txt index 31aa3f83..432e9310 100644 --- a/docs/_sources/interfaces.rst.txt +++ b/docs/_sources/interfaces.rst.txt @@ -29,7 +29,7 @@ The following settings are applied to all interfaces. The ``tx-interval`` and ``rx-interval`` should be set to at to at least ``1.0`` (1ms) if more precise timestamps or high throughput is needed. This is recommended for IGMP join/leave or QoS delay measurements. For higher packet rates (>1g) it might be needed to -increase the ``io-slots`` from the default value of ``1024`` to ``2048`` or more. +increase the ``io-slots`` from the default value of ``4096``. The supported IO modes are listed with ``bngblaster -v`` but except ``packet_mmap_raw`` all other modes are currently considered as experimental. In @@ -75,6 +75,46 @@ interface. .. note:: The number of interfaces is currently limited to 32! +It might be also needed to increase the hardware and software queue size of your +network interfaces for higher throughput. + +The command ``ethtool -g `` shows the currently applied and maximum +hardware queue size. + +.. code-block:: none + + $ sudo ethtool -g ens5f1 + Ring parameters for ens5f1: + Pre-set maximums: + RX: 4096 + RX Mini: 0 + RX Jumbo: 0 + TX: 4096 + Current hardware settings: + RX: 512 + RX Mini: 0 + RX Jumbo: 0 + TX: 512 + +The currently applied settings can be change with the following command: + +.. code-block:: none + + sudo ethtool -G ens5f1 tx 4096 rx 4096 + +You can even change the software queue size: + +.. code-block:: none + + sudo ip link set txqueuelen 4096 dev ens5f1 + + +.. note:: + + Today all traffic is received in main thread, therefore + the single thread performance of your CPU is the most + significant performance factor. + Network Interfaces ------------------ diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 17aedca0..e80d31e9 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.0', + VERSION: '0.7', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/access/index.html b/docs/access/index.html index c8880362..f91f29c0 100644 --- a/docs/access/index.html +++ b/docs/access/index.html @@ -4,7 +4,7 @@ - Access Protocols — BNG Blaster 0.0 documentation + Access Protocols — BNG Blaster 0.7 documentation diff --git a/docs/access/ipoe.html b/docs/access/ipoe.html index 14d2e2c4..f84be7b7 100644 --- a/docs/access/ipoe.html +++ b/docs/access/ipoe.html @@ -4,7 +4,7 @@ - IPoE — BNG Blaster 0.0 documentation + IPoE — BNG Blaster 0.7 documentation diff --git a/docs/access/l2bsa.html b/docs/access/l2bsa.html index 86d4501a..1af8dbb6 100644 --- a/docs/access/l2bsa.html +++ b/docs/access/l2bsa.html @@ -4,7 +4,7 @@ - L2BSA — BNG Blaster 0.0 documentation + L2BSA — BNG Blaster 0.7 documentation diff --git a/docs/access/l2tp.html b/docs/access/l2tp.html index d4d53bc1..e4d90c25 100644 --- a/docs/access/l2tp.html +++ b/docs/access/l2tp.html @@ -4,7 +4,7 @@ - L2TP — BNG Blaster 0.0 documentation + L2TP — BNG Blaster 0.7 documentation diff --git a/docs/access/li.html b/docs/access/li.html index dc9bcadd..f4e239d7 100644 --- a/docs/access/li.html +++ b/docs/access/li.html @@ -4,7 +4,7 @@ - Legal Interception (LI) — BNG Blaster 0.0 documentation + Legal Interception (LI) — BNG Blaster 0.7 documentation diff --git a/docs/access/multicast.html b/docs/access/multicast.html index 8cef0aa8..d2e57516 100644 --- a/docs/access/multicast.html +++ b/docs/access/multicast.html @@ -4,7 +4,7 @@ - Multicast and IPTV — BNG Blaster 0.0 documentation + Multicast and IPTV — BNG Blaster 0.7 documentation diff --git a/docs/access/pppoe.html b/docs/access/pppoe.html index 1f5a866a..69103964 100644 --- a/docs/access/pppoe.html +++ b/docs/access/pppoe.html @@ -4,7 +4,7 @@ - PPPoE — BNG Blaster 0.0 documentation + PPPoE — BNG Blaster 0.7 documentation diff --git a/docs/access/traffic.html b/docs/access/traffic.html index 069f07d4..31310b1a 100644 --- a/docs/access/traffic.html +++ b/docs/access/traffic.html @@ -4,7 +4,7 @@ - Session Traffic — BNG Blaster 0.0 documentation + Session Traffic — BNG Blaster 0.7 documentation diff --git a/docs/api/bgp.html b/docs/api/bgp.html index 59f5de07..b2a5c3d8 100644 --- a/docs/api/bgp.html +++ b/docs/api/bgp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/cfm.html b/docs/api/cfm.html index 67a660a9..6d664cee 100644 --- a/docs/api/cfm.html +++ b/docs/api/cfm.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/igmp.html b/docs/api/igmp.html index fd89bd51..97180d95 100644 --- a/docs/api/igmp.html +++ b/docs/api/igmp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/index.html b/docs/api/index.html index c5205f49..cea37bc1 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -4,7 +4,7 @@ - API/CLI — BNG Blaster 0.0 documentation + API/CLI — BNG Blaster 0.7 documentation diff --git a/docs/api/interfaces.html b/docs/api/interfaces.html index 07c20c55..384376da 100644 --- a/docs/api/interfaces.html +++ b/docs/api/interfaces.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/isis.html b/docs/api/isis.html index b67461d2..d3d39433 100644 --- a/docs/api/isis.html +++ b/docs/api/isis.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/l2tp.html b/docs/api/l2tp.html index 42e2f5e4..38c3c351 100644 --- a/docs/api/l2tp.html +++ b/docs/api/l2tp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/li.html b/docs/api/li.html index 2ae6449a..c4cd6e37 100644 --- a/docs/api/li.html +++ b/docs/api/li.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/ppp.html b/docs/api/ppp.html index 0d660fc8..a1c06bcb 100644 --- a/docs/api/ppp.html +++ b/docs/api/ppp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/sessions.html b/docs/api/sessions.html index 736bc125..96b7b1c9 100644 --- a/docs/api/sessions.html +++ b/docs/api/sessions.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/streams.html b/docs/api/streams.html index 384d4171..33a57179 100644 --- a/docs/api/streams.html +++ b/docs/api/streams.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/api/traffic.html b/docs/api/traffic.html index eec34968..e43983d1 100644 --- a/docs/api/traffic.html +++ b/docs/api/traffic.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/access_line.html b/docs/configuration/access_line.html index afc01e21..df1de15e 100644 --- a/docs/configuration/access_line.html +++ b/docs/configuration/access_line.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/access_line_profiles.html b/docs/configuration/access_line_profiles.html index 4ce66b81..bc63daae 100644 --- a/docs/configuration/access_line_profiles.html +++ b/docs/configuration/access_line_profiles.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/bgp.html b/docs/configuration/bgp.html index cc58c58f..a9481929 100644 --- a/docs/configuration/bgp.html +++ b/docs/configuration/bgp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/dhcp.html b/docs/configuration/dhcp.html index 6b899f8f..7b9fbc09 100644 --- a/docs/configuration/dhcp.html +++ b/docs/configuration/dhcp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/dhcpv6.html b/docs/configuration/dhcpv6.html index 9c0e73cb..901d8375 100644 --- a/docs/configuration/dhcpv6.html +++ b/docs/configuration/dhcpv6.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/igmp.html b/docs/configuration/igmp.html index 41f4f786..f87dcf8e 100644 --- a/docs/configuration/igmp.html +++ b/docs/configuration/igmp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/index.html b/docs/configuration/index.html index 16d74d92..4a87d361 100644 --- a/docs/configuration/index.html +++ b/docs/configuration/index.html @@ -4,7 +4,7 @@ - Configuration — BNG Blaster 0.0 documentation + Configuration — BNG Blaster 0.7 documentation @@ -135,11 +135,11 @@

tx-interval

TX ring polling interval in milliseconds

-

5.0

+

1.0

rx-interval

RX ring polling interval in milliseconds

-

5.0

+

1.0

qdisc-bypass

Bypass the kernel’s qdisc layer

@@ -151,7 +151,7 @@

io-slots

IO slots (ring size)

-

1024

+

4096

io-stream-max-ppi

IO traffic stream max packets per interval

@@ -161,6 +161,10 @@

Include traffic streams in capture

true

+

mac-modifier

+

Third byte of access session MAC address (0-255)

+

0

+
diff --git a/docs/configuration/interfaces.html b/docs/configuration/interfaces.html index ee69acf7..b210d1c6 100644 --- a/docs/configuration/interfaces.html +++ b/docs/configuration/interfaces.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation @@ -94,11 +94,11 @@

tx-interval

TX ring polling interval in milliseconds

-

5.0

+

1.0

rx-interval

RX ring polling interval in milliseconds

-

5.0

+

1.0

qdisc-bypass

Bypass the kernel’s qdisc layer

@@ -110,7 +110,7 @@

io-slots

IO slots (ring size)

-

1024

+

4096

io-stream-max-ppi

IO traffic stream max packets per interval

@@ -120,6 +120,10 @@

Include traffic streams in capture

true

+

mac-modifier

+

Third byte of access session MAC address (0-255)

+

0

+ diff --git a/docs/configuration/interfaces_a10nsp.html b/docs/configuration/interfaces_a10nsp.html index dea0b00b..26bfc7c4 100644 --- a/docs/configuration/interfaces_a10nsp.html +++ b/docs/configuration/interfaces_a10nsp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/interfaces_access.html b/docs/configuration/interfaces_access.html index 4426877c..2749a569 100644 --- a/docs/configuration/interfaces_access.html +++ b/docs/configuration/interfaces_access.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/interfaces_network.html b/docs/configuration/interfaces_network.html index 3dfe9451..dda73f64 100644 --- a/docs/configuration/interfaces_network.html +++ b/docs/configuration/interfaces_network.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/ipoe.html b/docs/configuration/ipoe.html index e2f86af6..daaec8c9 100644 --- a/docs/configuration/ipoe.html +++ b/docs/configuration/ipoe.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/isis.html b/docs/configuration/isis.html index 2f8cfd4d..993d03dc 100644 --- a/docs/configuration/isis.html +++ b/docs/configuration/isis.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/isis_external.html b/docs/configuration/isis_external.html index 5e4bfbd8..4420b311 100644 --- a/docs/configuration/isis_external.html +++ b/docs/configuration/isis_external.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/isis_external_connections.html b/docs/configuration/isis_external_connections.html index 574cf867..e7e901fe 100644 --- a/docs/configuration/isis_external_connections.html +++ b/docs/configuration/isis_external_connections.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/lns.html b/docs/configuration/lns.html index 1ab835b9..93cb0d69 100644 --- a/docs/configuration/lns.html +++ b/docs/configuration/lns.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/ppp.html b/docs/configuration/ppp.html index 9c61527c..2f3c2e3f 100644 --- a/docs/configuration/ppp.html +++ b/docs/configuration/ppp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/ppp_authentication.html b/docs/configuration/ppp_authentication.html index c7340cd5..e233f4c3 100644 --- a/docs/configuration/ppp_authentication.html +++ b/docs/configuration/ppp_authentication.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/ppp_ip6cp.html b/docs/configuration/ppp_ip6cp.html index e9597e58..06dfea37 100644 --- a/docs/configuration/ppp_ip6cp.html +++ b/docs/configuration/ppp_ip6cp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/ppp_ipcp.html b/docs/configuration/ppp_ipcp.html index 68ed54f0..5fd29e2c 100644 --- a/docs/configuration/ppp_ipcp.html +++ b/docs/configuration/ppp_ipcp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/ppp_lcp.html b/docs/configuration/ppp_lcp.html index fd60ff56..5424c648 100644 --- a/docs/configuration/ppp_lcp.html +++ b/docs/configuration/ppp_lcp.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/pppoe.html b/docs/configuration/pppoe.html index 80664f83..9f58c738 100644 --- a/docs/configuration/pppoe.html +++ b/docs/configuration/pppoe.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/session_traffic.html b/docs/configuration/session_traffic.html index 137ec005..2b2f33f8 100644 --- a/docs/configuration/session_traffic.html +++ b/docs/configuration/session_traffic.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/sessions.html b/docs/configuration/sessions.html index 362961be..b32de376 100644 --- a/docs/configuration/sessions.html +++ b/docs/configuration/sessions.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/streams.html b/docs/configuration/streams.html index 9d7c451c..b1b0827c 100644 --- a/docs/configuration/streams.html +++ b/docs/configuration/streams.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/configuration/traffic.html b/docs/configuration/traffic.html index c0e07806..49649a3f 100644 --- a/docs/configuration/traffic.html +++ b/docs/configuration/traffic.html @@ -4,7 +4,7 @@ - <no title> — BNG Blaster 0.0 documentation + <no title> — BNG Blaster 0.7 documentation diff --git a/docs/faq.html b/docs/faq.html index 80be3e62..ca39f72e 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -4,7 +4,7 @@ - Frequently Asked Questions — BNG Blaster 0.0 documentation + Frequently Asked Questions — BNG Blaster 0.7 documentation diff --git a/docs/genindex.html b/docs/genindex.html index d8c8d02c..fe59707c 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -3,7 +3,7 @@ - Index — BNG Blaster 0.0 documentation + Index — BNG Blaster 0.7 documentation diff --git a/docs/index.html b/docs/index.html index c41fc0d2..92c37724 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,7 +4,7 @@ - BNG Blaster — BNG Blaster 0.0 documentation + BNG Blaster — BNG Blaster 0.7 documentation diff --git a/docs/install.html b/docs/install.html index 2f5bdd66..d056e459 100644 --- a/docs/install.html +++ b/docs/install.html @@ -4,7 +4,7 @@ - Installation — BNG Blaster 0.0 documentation + Installation — BNG Blaster 0.7 documentation diff --git a/docs/interfaces.html b/docs/interfaces.html index a51ff938..8832bfee 100644 --- a/docs/interfaces.html +++ b/docs/interfaces.html @@ -4,7 +4,7 @@ - Interfaces — BNG Blaster 0.0 documentation + Interfaces — BNG Blaster 0.7 documentation @@ -125,11 +125,11 @@ one interface is required to start the BNG Blaster.

tx-interval

TX ring polling interval in milliseconds

-

5.0

+

1.0

rx-interval

RX ring polling interval in milliseconds

-

5.0

+

1.0

qdisc-bypass

Bypass the kernel’s qdisc layer

@@ -141,7 +141,7 @@ one interface is required to start the BNG Blaster.

io-slots

IO slots (ring size)

-

1024

+

4096

io-stream-max-ppi

IO traffic stream max packets per interval

@@ -151,12 +151,16 @@ one interface is required to start the BNG Blaster.

Include traffic streams in capture

true

+

mac-modifier

+

Third byte of access session MAC address (0-255)

+

0

+

The tx-interval and rx-interval should be set to at to at least 1.0 (1ms) if more precise timestamps or high throughput is needed. This is recommended for IGMP join/leave or QoS delay measurements. For higher packet rates (>1g) it might be needed to -increase the io-slots from the default value of 1024 to 2048 or more.

+increase the io-slots from the default value of 4096.

The supported IO modes are listed with bngblaster -v but except packet_mmap_raw all other modes are currently considered as experimental. In the default mode (packet_mmap_raw) all packets are received in a Packet MMAP @@ -194,6 +198,38 @@ interface.

Note

The number of interfaces is currently limited to 32!

+

It might be also needed to increase the hardware and software queue size of your +network interfaces for higher throughput.

+

The command ethtool -g <interface> shows the currently applied and maximum +hardware queue size.

+
$ sudo ethtool -g ens5f1
+Ring parameters for ens5f1:
+Pre-set maximums:
+RX:             4096
+RX Mini:        0
+RX Jumbo:       0
+TX:             4096
+Current hardware settings:
+RX:             512
+RX Mini:        0
+RX Jumbo:       0
+TX:             512
+
+
+

The currently applied settings can be change with the following command:

+
sudo ethtool -G ens5f1 tx 4096 rx 4096
+
+
+

You can even change the software queue size:

+
sudo ip link set txqueuelen 4096 dev ens5f1
+
+
+
+

Note

+

Today all traffic is received in main thread, therefore +the single thread performance of your CPU is the most +significant performance factor.

+

Network Interfaces

diff --git a/docs/objects.inv b/docs/objects.inv index 6cf3a14d6a1ae7ddfaf2aa7686a5bd72ec1c727b..b05ae05a10248b070cc5b1b81a7a7bd61d2a9f22 100644 GIT binary patch delta 14 Vcmey$@s(qOBeS`l(MA_T762(W1dsp# delta 14 Vcmey$@s(qOBeQ{?!A2KD762&w1cv|s diff --git a/docs/quickstart.html b/docs/quickstart.html index 3d2fb991..7ccb652c 100644 --- a/docs/quickstart.html +++ b/docs/quickstart.html @@ -4,7 +4,7 @@ - Quickstart Guide — BNG Blaster 0.0 documentation + Quickstart Guide — BNG Blaster 0.7 documentation diff --git a/docs/reference/architecture.html b/docs/reference/architecture.html index afe6b909..4f9b1141 100644 --- a/docs/reference/architecture.html +++ b/docs/reference/architecture.html @@ -4,7 +4,7 @@ - Architecture — BNG Blaster 0.0 documentation + Architecture — BNG Blaster 0.7 documentation diff --git a/docs/reference/index.html b/docs/reference/index.html index 63922cf7..0f1d46fd 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -4,7 +4,7 @@ - Reference — BNG Blaster 0.0 documentation + Reference — BNG Blaster 0.7 documentation diff --git a/docs/reference/traffic.html b/docs/reference/traffic.html index 4d3cab8e..dfb2fe53 100644 --- a/docs/reference/traffic.html +++ b/docs/reference/traffic.html @@ -4,7 +4,7 @@ - BNG Blaster Traffic — BNG Blaster 0.0 documentation + BNG Blaster Traffic — BNG Blaster 0.7 documentation diff --git a/docs/reports.html b/docs/reports.html index 7a28efdc..e1650c40 100644 --- a/docs/reports.html +++ b/docs/reports.html @@ -4,7 +4,7 @@ - Reports — BNG Blaster 0.0 documentation + Reports — BNG Blaster 0.7 documentation diff --git a/docs/routing/bgp.html b/docs/routing/bgp.html index 7db2e85c..daf073be 100644 --- a/docs/routing/bgp.html +++ b/docs/routing/bgp.html @@ -4,7 +4,7 @@ - BGP — BNG Blaster 0.0 documentation + BGP — BNG Blaster 0.7 documentation diff --git a/docs/routing/index.html b/docs/routing/index.html index e94199a6..f12e09dc 100644 --- a/docs/routing/index.html +++ b/docs/routing/index.html @@ -4,7 +4,7 @@ - Routing Protocols — BNG Blaster 0.0 documentation + Routing Protocols — BNG Blaster 0.7 documentation diff --git a/docs/routing/isis.html b/docs/routing/isis.html index cd956b68..f7bee179 100644 --- a/docs/routing/isis.html +++ b/docs/routing/isis.html @@ -4,7 +4,7 @@ - ISIS — BNG Blaster 0.0 documentation + ISIS — BNG Blaster 0.7 documentation diff --git a/docs/routing/mpls.html b/docs/routing/mpls.html index 3d8d0c5d..13698ad5 100644 --- a/docs/routing/mpls.html +++ b/docs/routing/mpls.html @@ -4,7 +4,7 @@ - MPLS — BNG Blaster 0.0 documentation + MPLS — BNG Blaster 0.7 documentation diff --git a/docs/search.html b/docs/search.html index a679e091..e9481377 100644 --- a/docs/search.html +++ b/docs/search.html @@ -3,7 +3,7 @@ - Search — BNG Blaster 0.0 documentation + Search — BNG Blaster 0.7 documentation diff --git a/docs/searchindex.js b/docs/searchindex.js index 7ba19c6c..b2033b94 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["access/index","access/ipoe","access/l2bsa","access/l2tp","access/li","access/multicast","access/pppoe","access/traffic","api/bgp","api/cfm","api/igmp","api/index","api/interfaces","api/isis","api/l2tp","api/li","api/ppp","api/sessions","api/streams","api/traffic","configuration/access_line","configuration/access_line_profiles","configuration/bgp","configuration/dhcp","configuration/dhcpv6","configuration/igmp","configuration/index","configuration/interfaces","configuration/interfaces_a10nsp","configuration/interfaces_access","configuration/interfaces_network","configuration/ipoe","configuration/isis","configuration/isis_external","configuration/isis_external_connections","configuration/lns","configuration/ppp","configuration/ppp_authentication","configuration/ppp_ip6cp","configuration/ppp_ipcp","configuration/ppp_lcp","configuration/pppoe","configuration/session_traffic","configuration/sessions","configuration/streams","configuration/traffic","faq","index","install","interfaces","quickstart","reference/architecture","reference/index","reference/traffic","reports","routing/bgp","routing/index","routing/isis","routing/mpls","streams","troubleshooting"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["access/index.rst","access/ipoe.rst","access/l2bsa.rst","access/l2tp.rst","access/li.rst","access/multicast.rst","access/pppoe.rst","access/traffic.rst","api/bgp.rst","api/cfm.rst","api/igmp.rst","api/index.rst","api/interfaces.rst","api/isis.rst","api/l2tp.rst","api/li.rst","api/ppp.rst","api/sessions.rst","api/streams.rst","api/traffic.rst","configuration/access_line.rst","configuration/access_line_profiles.rst","configuration/bgp.rst","configuration/dhcp.rst","configuration/dhcpv6.rst","configuration/igmp.rst","configuration/index.rst","configuration/interfaces.rst","configuration/interfaces_a10nsp.rst","configuration/interfaces_access.rst","configuration/interfaces_network.rst","configuration/ipoe.rst","configuration/isis.rst","configuration/isis_external.rst","configuration/isis_external_connections.rst","configuration/lns.rst","configuration/ppp.rst","configuration/ppp_authentication.rst","configuration/ppp_ip6cp.rst","configuration/ppp_ipcp.rst","configuration/ppp_lcp.rst","configuration/pppoe.rst","configuration/session_traffic.rst","configuration/sessions.rst","configuration/streams.rst","configuration/traffic.rst","faq.rst","index.rst","install.rst","interfaces.rst","quickstart.rst","reference/architecture.rst","reference/index.rst","reference/traffic.rst","reports.rst","routing/bgp.rst","routing/index.rst","routing/isis.rst","routing/mpls.rst","streams.rst","troubleshooting.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,3,4,5,6,11,21,23,25,26,27,29,30,31,35,39,40,41,42,43,44,48,49,50,53,54,55,57,59],"00":[1,2,6,48,49,50,57],"000":[7,50,54,59],"0000":[50,57],"0001":[7,26,32,50,57],"0002":[50,57],"0003":57,"0010":[7,26,32,57],"0011":57,"0021":57,"0022":57,"01":[1,2,6,49,50,57],"0100":[7,26,32,57],"0102":57,"02":[1,2,6,49,50],"0204":57,"025":[49,51],"0288":59,"03":50,"0304":57,"031917":50,"04":[48,50],"0506":57,"0792":59,"08":50,"087877":50,"087971":50,"088013":50,"088035":50,"088050":50,"08t14":50,"09":50,"090288":59,"093906":50,"093964":50,"099792":59,"0s":50,"0x1":50,"0x192168001001":50,"0x5274427269636b21":53,"0x83":57,"0x88a8":[26,28,29,49],"1":[1,2,3,4,5,6,7,11,14,22,23,25,26,29,30,31,32,34,35,43,44,48,49,50,51,53,54,55,57,59],"10":[1,2,3,4,5,6,7,11,23,24,26,30,32,34,38,39,40,41,49,50,55,57,59],"100":[4,5,6,48,50,57,59],"1000":[3,5,6,49,50,57,59],"10000":50,"100000":[50,57,59],"1001":[7,26,32,50,57,59],"1002":50,"10036":6,"10083":6,"101":[2,5],"1014":59,"102":[3,5],"1024":[3,6,26,27,49,57],"1026":59,"103":5,"1030":59,"10561572":59,"10589":57,"11":[3,5,50,57],"1100":59,"112":59,"114":[5,59],"1142":57,"12":[3,50,57],"120000":50,"124":50,"126":59,"1262":54,"1263":54,"127":50,"128":[1,2,5,6,26,44,49,50,59],"129":[6,26,39],"1291":5,"1298":54,"13":[3,50,57],"131":[6,26,39],"1337":[1,3,6,49,50,57,59],"138":50,"139":5,"14":[3,50],"1406":3,"1439":1,"14399":1,"14400":1,"149":1,"1492":[3,6,26,36],"15":3,"1500":[49,54],"16":[3,50],"160720":4,"16384":[3,6],"168":50,"17":3,"172":50,"18":[3,48],"182885":50,"19":[3,50],"192":50,"1921":50,"1999":[6,49],"1_amd64":48,"1g":49,"1m":[5,49,51],"2":[1,2,3,4,5,6,7,11,14,22,24,25,26,29,30,32,34,43,44,49,50,53,54,55,57,59],"20":[3,5,48,49,50,59],"200":[1,3,4,6,11,49,50,57,59],"2000":[6,49,50,57,59],"20000":50,"2001":59,"2002":57,"2010":2,"202":5,"2020":47,"2022":[47,50],"2048":49,"206":3,"208":59,"21":3,"213":59,"2153":6,"22":[3,50],"2222":1,"224":59,"2249":54,"23":[3,5],"232":5,"239":[5,11,25,26,59],"24":[3,4,7,26,32,50,55,57,59],"24254":54,"25":3,"250":54,"255":[1,26,44,59],"25503":54,"256":[2,5,50,59],"26":3,"261":1,"27":[3,50],"27008":59,"27040":59,"28":[3,50],"29":3,"293":[5,25,26],"299":1,"2999":[6,49],"2xx":11,"3":[1,2,3,4,5,6,7,11,14,22,23,25,26,29,30,32,40,43,44,47,49,50,53,55,57,59],"30":[3,5,6,7,26,32,35,37,40,50,57],"300":[1,7,26,31,32,57,59],"3000":[7,54],"30003":57,"30005":57,"303904":50,"303952":50,"31":[3,50],"32":[3,26,27,49,50,57],"3264":6,"3265":6,"3266":6,"32867":3,"33":[3,59],"33250":54,"3333":1,"34":[3,50],"34047":54,"35":3,"36":[3,50],"3600":57,"36000":57,"362":59,"37":[3,57,59],"37650":59,"38":[3,50],"39":3,"3932":54,"396":54,"396765":50,"4":[1,3,4,6,7,11,14,22,26,35,43,49,50,53,55,57,59],"40":3,"400":[6,26,43],"4000":[1,2,3,49,50,59],"404":11,"4049":[6,49],"4094":2,"4096":[49,50],"41700":59,"4194301":4,"43550":59,"46":50,"48":53,"48000":3,"49":[7,26,32,50,57],"49152":4,"499":54,"5":[1,3,4,5,6,7,22,23,24,25,26,27,32,37,38,39,40,41,44,49,50,53,55,57,59],"500":[7,54],"50011":3,"50450":59,"51":50,"52":50,"53":50,"54":50,"5422":59,"54232":59,"5458":59,"54593":59,"54594":59,"54610":59,"55":50,"56":[6,50],"59":[4,50],"59655":59,"59670":59,"6":[1,2,4,6,53,55,57],"60":3,"61":4,"63":[50,54],"64":[1,6,26,30,49,50,53,57,59],"647569":50,"647630":50,"647633":50,"647639":50,"647642":50,"647645":50,"647648":50,"647651":50,"647654":50,"647657":50,"647660":50,"647669":50,"647672":50,"647678":50,"647813":50,"64bit":7,"65000":[22,26,55],"65001":[50,55],"65506":57,"65507":57,"65524":57,"65529":57,"65535":[7,26,32,50,57],"6800":50,"7":[1,2,3,4,26,35,49,50,53,55,57,59],"7142":57,"72":50,"7331":[3,6,49,50,57,59],"7456":5,"76":[5,25,26,44,59],"79":[3,50],"79200":59,"8":[1,3,4,5,49,53,55,57,59],"80":50,"800":[6,26,43],"8000":54,"800000":59,"8000000":59,"8112":59,"811200":59,"8112000":59,"820":4,"8208":59,"820800":59,"8208000":59,"8240000":59,"8248":54,"831b0100120100000021ffff010203040506000000000003c0d103010403490001":57,"831b0100120100000021ffff010203040506000100000003bad603010403490001":57,"8500":54,"87":50,"870722":50,"899":1,"9":[4,49,53,55,57,59],"90":[22,26,50,55],"9000":[26,44,49,59],"90288":59,"9028800":59,"904266":50,"904293":50,"904359":50,"904369":50,"904389":50,"904448":50,"905659":50,"907888":50,"907903":50,"907917":50,"907989":50,"92":50,"94":4,"96548542":59,"981279":50,"981314":50,"981335":50,"98595049":59,"98903960":59,"99":59,"99792":59,"abstract":51,"break":57,"byte":[4,53],"case":[1,6,7,57],"default":[1,3,4,5,6,7,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,48,49,50,51,55,57,59,60],"do":[5,49,51,59],"export":57,"final":[5,7,25,26,50,57],"float":[26,44,59],"function":[2,3,4,5,26,44,57,59],"import":[54,57],"long":[5,47],"new":[5,49,50,59],"return":[3,59],"short":[26,29,47,49],"static":[2,26,29,49],"true":[1,2,3,5,6,7,22,24,25,26,27,30,31,32,38,39,42,45,49,50,55,57,59],"try":[50,57],"while":[2,57],A:[3,5,26,35,47,48,54,55,59],AS:[22,26,50,55],As:48,BE:[53,59],But:50,For:[26,44,49,59],IS:[50,57],If:[5,25,26,49,50,59],In:[2,7,11,49,50,51,59],It:[2,3,5,47,48,49,51,57,59],Its:51,No:54,ON:48,On:50,One:[11,51,57],Such:[57,59],TOS:[1,3,5,23,25,26,35,44,53,59],The:[1,2,3,4,5,6,7,11,14,17,21,25,26,35,44,46,47,48,49,50,51,53,54,55,57,58,59,60],Then:[48,50],There:[47,48,50,56,57],These:2,With:[6,59],_:[54,57],__:[54,57],___:[54,57],____:[54,57],_____:[54,57],______:[54,57],__comment__:[2,50],__main__:57,__name__:57,a00:50,a10:[2,49,51],a10nsp:[2,28,44,47,50,51,59],abbrev:48,abl:[1,3,5,7,51,54,55,57,58,59,60],about:[3,4],abov:[5,25,26,59],ac10:50,accept:[2,6,26,40,49,50],access:[1,2,3,6,7,11,20,21,29,44,47,50,51,53,54,59],account:59,aci:3,ack:1,act:[21,26],action:2,activ:[5,26,29,49,57],actual:[2,11,20,21,26,59],ad:[11,50,53],add:[26,29,49,50,55,57],address:[2,3,4,5,6,7,8,11,22,25,26,28,29,30,35,39,42,44,49,50,51,53,55,57,59,60],adjac:[11,13,50],adsl:[2,49,51],advanc:[5,50],advertis:[1,46,49,50,57],advisori:2,af_unix:57,affair:2,afi:50,after:[5,22,25,26,42,43,44,50,55,59],again:50,agenc:2,agent:[1,2,3,6,20,26,29,49],aggreg:[2,49],aggress:[3,26,35],all:[1,2,3,5,6,7,8,11,12,14,15,17,18,19,23,26,35,41,42,43,46,47,48,49,50,51,53,55,57,59,60],allow:[1,2,3,5,6,11,14,17,23,24,25,26,37,38,39,47,48,49,51,53,54,55,57,59,60],alreadi:55,also:[2,3,5,11,26,44,47,48,49,50,51,54,57,59,60],altern:[11,26,43,48,57,59],among:55,amount:[2,5,11,17,25,26],an:[2,3,5,11,46,47,49,50,51,55,57,59],analysi:[5,25,26],analyz:[51,54,60],ani:[4,6,48,50,51,59],anoth:[2,5,50],api:[47,50],append:[50,55,57],appendix:[3,26,35],appli:[26,44,49,50,59],applic:[5,11,17,25,26],apr:50,apt:[48,50],ar:[2,3,5,25,26,30,43,44,46,47,48,49,50,51,53,55,56,57,59,60],architectur:[2,52],archiv:49,area:[7,26,32,50,57],area_list:57,areaid:57,arg:57,argument:[5,8,9,10,11,12,13,14,15,16,17,18,19,54,55,57,59,60],argv:57,ari:3,around:[51,59],arp:[1,26,31,54],ascii:53,ask:47,asm:[5,25,26],asn:55,ass:[21,26],assign:[1,7,11,26,30,44,49,59],associ:[26,29,49],assum:[7,59],assur:[21,26],att:[21,26],attach:[50,57],attain:[21,26],attetr:[21,26],attgdr:[21,26],attribut:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,53,55,57,59],auth:[3,7,26,32,50,57],authent:[3,7,29,32,37,49,50,55,57],author:2,autom:[47,51],automat:[4,5,6,7,11,25,26,41,42,45,49,57,59],autonom:55,autostart:[2,3,5,25,26,29,42,45,49],avail:2,averag:[21,26],avg:[21,26,54],avoid:[3,26,35],avp:[3,26,35],b1:57,b2:57,backbon:57,base:[2,3,5,7,25,26,29,32,35,44,49,50,51,55,57,59],basic:[2,6,50],bbl:59,bbl_header:60,bcm:4,becaus:[11,57],been:[51,57],befor:[5,25,26,43,44,46,59],behav:[49,57],behavior:[5,6,47,60],below:[1,2,3,5,11,14,48,49,50,54,57,60],benchmark:51,besteffort:59,between:[2,5,7,25,26,32,42,49,50,51,57,59],bgp:[8,22,47,51,56,59,60],bgpupdat:[50,55],bidirect:[7,26,42,50,51,59],bin:54,binari:[48,55],bit:[3,26,35,44,53,59],bitstream:2,blaster:[1,2,3,4,5,6,7,25,26,35,46,49,50,51,52,54,55,56,57,58,59,60],block:2,blueprint:55,bnetza:2,bng:[1,2,3,4,5,6,7,25,26,35,44,46,49,50,51,52,54,55,56,57,58,59,60],bngblaster:[1,3,4,5,6,7,11,14,26,32,47,48,49,50,51,55,57,59,60],bngblaster_test:48,board:2,bonn:2,border:55,both:[2,5,26,44,50,54,59],bound:[1,6,50,59],bp:[3,26,44,59],broadband:2,broadcast:[1,23,26],bsd:47,buffer:[49,51,54],build:[55,57],built:51,bundesnetzagentur:2,bundl:2,burst:[26,44,59],bypass:[26,27,49],c0a8:50,c:[48,50,51,57,60],calcul:[26,44,53,59],call:[2,3,51,57],can:[2,3,4,5,6,7,11,14,26,37,43,47,48,49,50,55,56,57,59,60],cap_dac_read_search:48,cap_net_admin:48,cap_net_raw:48,capability_list:57,capabl:[48,50,55],captur:[5,26,27,46,49,60],carri:11,cat:[11,57],caus:[2,57],cc:[9,11,26,29,49],cd:48,cfm:[9,26,29,49],chang:[2,5,25,26,43,46,48,50,55],channel:[3,5,25,26,35],chap:[3,6,26,37,54],chapter:6,check:[5,50,53,57,59],checksum:50,circuit:[1,2,3,6,20,26,29,49],classifi:[55,60],claus:47,cli:[1,3,4,5,6,14,47,50,55,57,59],client:[5,11,26,44,47,49,50,57,59],clone:48,close:[11,16,50,57],cmake:48,cmocka:48,code:[1,3,4,6,11,14,50,57,59],com:[6,11,26,37,47,48,49,50],combin:[4,5,7,11,17,25,26,49,51,54,59],command:[4,5,11,14,48,49,50,55],commerci:47,commit:[1,6,24,26,48],common:[1,3,57],commun:[11,49],compil:55,complet:[51,57],compos:2,condit:47,conf:[3,6,26,38,39,40,50],config:[7,46,48,50,54,57],configur:[2,5,11,17,25,38,39,40,43,46,47,49,50,51,60],confus:57,congest:[3,5,26,35],connect:[6,11,14,34,40,49,50,57],connector:[50,57],consid:[46,49,51,59],constant:51,consum:5,contain:[11,47,57],context:50,contrib:57,control:[1,3,6,11,23,26,35,41,50,57,59],converg:[7,47,51],convert:55,copi:[6,51],core:[2,51],corner:50,correctli:[3,7],correspond:[5,7,11,26,29,44,49,53,59],could:[46,54,57,59,60],count:[5,6,25,26,43,55,57,59],counter:[11,17],cours:[50,60],cp:54,cpack:48,cpe:[2,6,51],cpu:47,creat:[26,43,50,55,57],csnp:[7,26,32,57],csun:3,csurq:[3,11,14],ctrl:[50,57],current:[49,51,55,57,59],custom:2,d:4,daemon:50,data:[2,20,21,26,35,53,54,57],databas:[11,13],datar:[21,26],datatrack:57,dbngblaster_test:48,dcmake_build_typ:48,de:[3,26,29,49,57],deb:48,debian:48,debug:[48,55,57,60],decis:55,decod:[54,57],dedic:[5,25,26,59],def:57,defin:[2,3,5,6,11,17,21,25,26,36,49,50,51,55,57,59],definit:2,delai:[5,6,11,17,21,25,26,40,43,44,49,59],deleg:[1,6,26,42],delet:51,deliveri:[3,26,35],denog13:47,depend:[53,59],depict:2,deriv:59,describ:[3,26,35,57],descript:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,55,57,59],design:[51,55,57],desir:54,destin:[4,5,26,44,50,59],detail:[1,2,3,4,5,6,7,11,15,25,26,47,48,50,51,54,57,59,60],deu:[1,3,6],dev:[48,49,50],dev_1:48,develop:11,devic:[3,4,46,49,50,57],df453a5ee9dbf6440aefbfb9630fa0f06e326d44:48,dgit_ref:48,dgit_sha:48,dhcp4:49,dhcp6:49,dhcp:[23,29,47,49,51,60],dhcpv4:2,dhcpv6:[2,6,11,24,29,46,49,50,54],dialogu:2,differ:[3,5,6,26,35,44,47,49,50,57,59],direct:[2,4,5,11,14,26,44,50,53,59],directli:[49,57],directori:[48,50,60],disabl:[1,2,5,6,7,11,17,18,23,24,25,26,31,32,38,39,40,42,49,50,53,57,59],discard:50,disconnect:[8,11,14],discov:1,discoveri:[2,3,6,26,41],displai:[3,4,8,10,11,13,14,17,18],dissector:60,distinguish:57,distribut:[5,48],divid:59,dn:[6,26,39],dns1:[1,6,26,39,50],dns2:[1,6,26,39,50],doc:57,doe:[5,46,51],domain:[11,26,29,49],done:[50,57],doubl:4,down:[2,3,6,20,21,26,29,49,50],download:[48,60],downstream:[4,5,20,21,26,44,50,51,53,59],dpkg:48,draft:57,driver:[46,59],drop:[46,54,60],dsl:[20,21,26,29,49],dump:57,dup:3,durat:[5,25,26],dure:[55,57],dynam:[1,55,59],e:[5,25,26,28,29,30,49,50,57],each:[3,11,49,59],easi:51,easiest:48,easili:[4,48,54,55,59,60],echo:[6,26,40,49,54],econom:2,edg:47,effici:[51,57],eip:48,either:48,electr:2,element:[5,11],els:57,emul:[1,2,3,4,5,6,47,49,50,51,57],enabl:[1,2,3,4,5,6,7,11,17,18,23,24,26,31,32,38,39,43,48,50,54,57,59,60],encap:[21,26],encapsul:[21,26],encod:[54,57],end:[2,47,49,50,51,54,55,56],energi:2,engin:57,enhanc:55,enough:[5,49,57],enrich:2,enter:50,entir:51,entri:57,env:54,environ:59,eoam:[9,11,26,29,49],equal:[26,29,49,57,59],error:[11,14,54,57,60],establ:50,establish:[1,3,5,6,7,11,17,25,26,42,44,46,50,54,55,59],etg1:59,eth0:[26,28,29,30,49],eth1:[1,2,3,5,6,49,54,55,57,59],eth2:[3,4,5,6,49,54,57,59],eth3:49,eth4:[2,49],eth5:[2,49],eth:[1,3,6],ethernet:[1,2,4,6,49,50,51],ethertyp:[26,28,29,49],ethtool:50,etr:[21,26],even:57,event:[51,60],everi:[5,47,49,50,51,55,57,59],everyth:59,exampl:[1,2,3,4,5,6,7,11,48,49,50,51,54,55,57,59],except:[49,51,53,57],exchang:55,exclud:[59,60],execut:[11,14,48,54],execute_command:57,exist:[55,57],exit:[55,57],exp:[26,44,59],expect:[11,14,21,26,44,46,51,53,57,59],expens:51,experiment:[49,51,59],expir:1,explain:[2,11,26,50],explicitli:[49,59],express:59,extend:55,extens:54,exterior:55,extern:[5,33,34,50,57],extra:2,extract:54,f1:50,f9:50,f:[50,54,55,57],face:51,facto:57,fail:[48,54],failur:46,fals:[1,2,3,5,6,7,22,23,25,26,28,29,32,35,40,41,43,44,45,49,50,55,57,59,60],famili:55,familiar:50,fast:[5,51],faster:[5,25,26,53],fc00:50,fc66:[1,3,6,49,50,57,59],featur:50,feder:2,feed:47,ff:[2,49],field:57,figur:2,file:[5,8,11,13,22,26,33,46,47,48,50,54,60],filenam:[54,59],filter:[3,50,60],finish:50,first:[1,5,6,7,11,22,26,43,44,50,51,54,55,59],fix:[3,26,29,35,49,53],flag:[1,23,26,46,51],flap:[11,54],flop:50,flow:[1,4,6,7,11,15,18,47,50,51,54,59],focu:5,follow:[2,3,4,5,6,7,11,25,26,43,48,49,50,55,57,59,60],footprint:[47,51],forc:57,fork:48,format:[4,59],forum:2,forward:[2,7,47,59],found:[2,11,47,57],four:3,fragment:[1,6,50],frame:[26,42],free:47,frequent:47,friendli:47,from:[2,5,6,26,29,42,44,46,47,49,50,51,53,55,59,60],fsm:51,fulfil:47,full:[47,51,55,59],further:[4,5,50,55,59],g:[5,25,26,28,29,30,49,57],ga:2,gamma:[21,26],gap:[5,59],gatewai:[1,3,4,5,6,26,28,29,30,49,50,55,57,59],gdb:48,gdr:[21,26],gener:[7,25,26,42,43,47,48,50,54,57,59,60],german:2,germani:2,get:[47,50,51],git:48,github:[47,48],given:[3,7,26,44,53,59],global:[1,6,11,22,26,37,49,50,53,55,59],go:50,goal:51,gobgp:50,gobgpd:50,good:47,graph:[50,57],graphviz:57,group:[2,5,10,11,25,26,29,44,49,50,53,59],guid:47,h:[55,57],ha:[26,44,48,50,51,53,55,57,59,60],handshak:[1,24,26,57],happen:50,hard:[47,59],hardwar:51,have:[21,26,50,51],head:48,header:[2,4,5,26,35,44,46,49,57,59,60],hello:[7,26,32,57],help:[55,57,60],helper:[26,44,59],here:[5,21,25,26,46,50,55],hex:57,hi:2,high:[49,51],higher:[5,49],histor:57,hold:[7,26,32,50,57],holdtim:[22,26,50,55],hop:55,host:[2,4,6,26,41,49,53,59],hostnam:[3,7,26,32,35,50,57],how:[5,7,25,26,50,57,60],html:57,http:[47,48,57],i1:[26,29,49],i2:[26,29,49],i:[48,50,51],icmp:[49,54],icmpv6:[46,54],icrq:[3,26,35],id:[1,2,3,5,6,7,9,11,14,16,17,18,20,21,22,26,29,30,32,34,44,49,50,55,57,59],idea:46,ident:53,identif:2,identifi:[2,7,21,22,26,29,32,34,44,49,55,57,59],idl:[5,50],iec:57,ietf:57,ifac:55,ifindex:11,igmp:[5,10,25,29,49,54,60],igmpv3:[5,25,26],ignor:[6,26,40],implement:[5,47,51],implicitli:[26,30,49],inc:[3,47],includ:[5,6,7,11,25,26,27,39,47,48,49,50,51,54,55,57,59,60],increas:[11,49,50],increment:[49,53,55],indent:57,index:[11,12,53],infin:[6,26,41,44,59],info:[1,3,5,6,10,11,17,18,50,55,60],inform:[1,3,6,7,10,11,17,18,55,57,60],infrastructur:[2,51],init:50,initi:[1,5,6,25,26,31,39,40],inject:[51,55,57],inner:[1,2,3,6,11,26,29,43,44,49,50,53,55,59],input:[50,60],instal:[47,50],instanc:[4,5,7,11,13,26,30,32,49,50,57],instead:53,integr:[4,51],interact:[11,50,60],intercept:[0,47],interconnect:57,interfac:[1,2,3,4,5,6,7,12,21,22,25,27,28,29,30,34,42,43,44,46,47,48,50,51,53,54,55,57,59,60],interl:[21,26],interleav:[21,26],intermedi:[2,57],intern:[4,57],internet:[2,47,51,55,57],interv:[1,3,4,5,6,7,23,25,26,27,31,32,40,49,50,57,59],introduc:2,introduct:47,invok:59,io:[26,27,48,49,50,59,60],ip6cp:[3,11,16,29,38,49,50,54],ip:[1,3,5,6,25,26,35,39,44,49,50,51,53,59,60],ipcp:[3,11,16,29,35,39,49,50,54],ipo:[0,2,29,31,43,47,49,51,54],iptv:[0,47,51],ipv4:[1,2,3,4,5,7,8,11,22,23,29,30,31,32,35,42,44,46,49,50,53,54,55,57,59],ipv4_address_list:57,ipv4_prefix:57,ipv4_prefix_list:57,ipv6:[1,3,4,7,29,30,31,32,42,44,46,49,50,54,55,57,59],ipv6pd:[1,6,7,26,42,44,50,54,59],isi:[7,13,30,32,33,34,47,49,56,60],isis_areaentri:57,isis_areatlv:57,isis_commonhdr:57,isis_l1_lsp:57,iso:57,iter:[1,5,25,26,29,43,49],its:[47,49],itself:57,j:[50,54],jitter:53,join:[10,11,25,26,49,60],jq:[1,6,11,50,57,59],json:[11,48,50,57,60],jsonpath:59,junk:57,just:[3,48],k:[50,57],kb:50,keepal:[3,6,26,40,50],kei:[5,7,11,26,32,50,53,57],kernel:[26,27,46,49,51,54],keyboard:50,kind:6,kwarg:57,l1:[26,30,34,49,50,57],l2:[26,30,34,49,50,57,59],l2bsa:[0,47,49],l2tp:[0,14,26,35,44,47,49,59,60],l2tpv2:[3,47],l3:59,l:[5,50,55,57,60],label1:[26,44,59],label2:[26,44,59],label:[26,42,44,47,50,55,58,59],lac:3,lacp:[2,49],lane:51,laptop:51,larg:[49,57],larger:49,last:[5,51,53,59],latenc:[51,53],later:57,layer:[2,26,27,44,49,51,59],lcp:[3,11,14,35,39,40,50,54],le:53,lead:[5,47],leak:57,learn:[49,57,60],leas:1,least:[2,5,11,49,51],leav:[10,11,25,26,49,60],left:50,legal:[0,47],len:59,length:[2,3,5,25,26,35,44,50,55,57,59],let:50,level1:[7,26,32,50,57],level2:[7,26,32,57],level:[7,11,13,26,29,30,32,34,49,50,55,57],li:[0,15,47],libcmocka:48,libcunit1:48,libdict:48,libdict_1:48,libjansson4:48,libjansson:48,libncurses5:48,librari:[51,55],libssl1:48,libssl:48,lifetim:[7,26,32,50,55,57],lightweight:[2,50,51],liid:4,like:[5,26,44,47,49,55,56,57,59],limit:[2,49,59],line:[1,2,3,6,20,21,29,49,59],link:[2,21,26,49,50,57],linux:[47,48,51],list:[8,11,12,14,15,17,49,50,51,55,57,60],ll:50,ln:[3,35,47,60],lns10:3,lns11:3,lns12:3,lns13:3,lns14:3,lns15:3,lns16:3,lns17:3,lns18:3,lns19:3,lns1:3,lns20:3,lns21:3,lns22:3,lns23:3,lns24:3,lns25:3,lns26:3,lns27:3,lns28:3,lns29:3,lns2:3,lns30:3,lns3:3,lns4:3,lns5:3,lns6:3,lns7:3,lns8:3,lns9:3,load:[8,11,13,50,54,55,57],local:[2,8,11,14,22,26,30,49,50,55],local_pref:55,locat:2,log:[5,11,50,55,57],loop:51,loss:[1,5,6,47,50,51,53,54,59,60],low:[21,26,47,51],lsdb:[11,13,57],lsp:[7,11,13,26,32,50],lspgen:50,lspid:57,lt:48,lua:60,lua_script:60,m:[50,55,57],ma:[26,29,49],mac:[1,2,6,26,28,30,49,50,59],machin:[47,50,51],mai:[2,5,55],main:57,mainten:[26,29,49],make:[2,48,55],manag:2,mandat:2,mandatori:[3,8,9,10,11,12,13,14,15,16,17,18,19,21,26,35,44,59],mani:[2,50,51],manual:[26,28,30,48,49,55,57],manufactur:2,map:[2,51],mar:50,mark:57,marker:55,market:2,massiv:[47,51],match:[8,11,14],max:[1,2,3,5,6,7,21,25,26,27,29,35,37,38,39,40,41,43,44,49,50,54,59],maximum:[5,6,21,25,26,29,36,49,59],mbp:59,mc1:5,mc2:5,md5:[7,26,32,50,57],mean:[1,2,6,7,26,31,40,47,49,53,55,59],measur:[5,7,25,26,47,49,59],mediat:4,medium:51,memori:[47,51,55],mention:[5,25,26],merg:59,messag:[3,6,11,14,26,35,40,50,55,57],meta:60,metric:[26,30,34,49,50,57],might:[49,57,59],migrat:2,million:[47,59],millisecond:[5,6,25,26,27,40,49],min:[1,2,3,6,7,21,26,29,43,49,50,54,59],minimum:[21,26,29,49,59],ministri:2,miss:5,mix:51,mkdir:48,mmap:[49,51],mode:[1,3,6,26,27,29,35,48,49,51],model:[2,49,51],modern:[47,48],modifi:[55,57],more:[2,5,25,26,47,49,50,55,57,59],most:[1,3,26,29,49,51,59,60],move:57,mpl:[26,42,44,47,56,59],mpls_ipv4_flag:57,mpls_ipv6_flag:57,mrt:[11,13,26,33,50,55],mru:[3,6,26,36],ms:[5,7,26,32,54,57],msg:50,mtu:49,much:59,multicast:[0,11,19,25,26,47,51,54,59],multipl:[2,5,7,11,25,26,49,55,57,59],multiprotocol:50,must:[2,11,50,59],n1:57,n:[1,3,6,11,26,29,43,44,49,50,55,57,59],nak:1,name:[2,3,5,6,26,28,29,30,35,41,44,49,50,54,55,59,60],nano:53,nanosecond:59,navig:50,nc:11,need:[2,5,11,48,49,50,57],neighbor:50,neighbor_list:57,netmask:1,netplan:49,network:[1,2,3,4,5,6,7,22,25,29,30,42,44,47,48,50,51,54,55,57,59,60],networkd:49,newer:57,next:[4,50,55],nga:2,node:[2,7,26,32,47,50,57],node_flag:57,node_id:57,non:[3,26,35,47,51,56],none:57,normal:[48,57],notif:50,now:[50,57],nsec:59,nsp:2,num:55,number:[3,4,5,7,11,26,44,49,50,54,55,57,59,60],o:51,obvious:49,occur:46,octet:50,off:[9,11,50],offer:1,offic:2,offload:[50,59],offset:[3,26,35,53],often:[5,25,26],ok:[1,3,4,5,6,11,50,57,59],old:5,onc:55,one:[2,4,5,49,50,51,55,57,59],onli:[3,4,5,11,17,25,26,29,44,46,49,53,57,59,60],ont:[21,26],onu:[21,26],onupeak:[21,26],open:[6,11,16,47,50,54,55,57],openconfirm:50,opens:50,oper:[2,47,49,55],optim:[47,48],option:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25,26,28,30,38,39,44,48,49,50,51,53,54,55,57,59,60],order:[3,53],org:57,origin:57,os:57,osi:57,other:[2,6,11,26,37,46,49,50,51,57],oui:6,our:51,out:[3,48,50],outer:[1,2,3,6,11,26,28,29,35,43,44,46,49,50,53,55,59,60],output:[3,55,60],outq:50,outstand:[6,26,43],over:[1,5,6,21,26,43,44,57,59],overhead:51,overlap:5,overload:[7,26,32,57],overseen:46,overwrit:[26,29,44,49,59],own:[49,55,57],p2p:[26,30,49,50,57],p:[50,55,57,60],packag:48,packet:[1,2,3,4,5,6,26,27,35,44,46,48,49,50,51,53,54,55,57,59],packet_mmap:48,packet_mmap_raw:[26,27,48,49,51],packet_rx_r:51,packet_tx_r:51,pad:[7,26,32,54,57],padi:[6,26,41,54],pado:54,padr:[6,26,41,54],padt:54,pair:50,pap:[3,6,26,37,54],paramet:50,pars:48,particular:5,pass:48,password:[3,6,26,29,37,49],path:[11,55,57],payload:[26,44,59],pbit:[1,6,23,26,41,59],pcap:[46,50,55,57],pdu:[11,13,57],peak:[21,26],peer:[3,8,11,22,26,35,50,55,57],pend:[11,17],per:[2,5,6,7,11,25,26,27,29,32,43,44,48,49,51,53,54,55,57,59,60],perform:47,period:[1,26,31],permiss:48,permit:[3,26,35],phase:55,place:60,plan:[2,55],point:2,polici:55,poll:[26,27,49,51,54],pon:[21,26],popular:51,port:[2,4],possibl:[3,5,48,49,51,57,59],post:2,potenti:46,power:[7,21,26],pp:[2,3,5,6,7,26,42,44,50,51,54,55,59],ppi:[26,27,49],ppp:[3,29,36,37,38,39,40,41,49],pppoe:[0,2,3,5,29,41,43,46,47,49,51,54,59,60],pre:55,precis:[5,49],pref:55,prefer:[7,55],prefix:[1,6,47,49,50,51,55,57,59],present:[11,47],press:50,prevent:46,primari:[6,26,39,48,51,53],print:[50,57],prioriti:[1,2,3,5,6,21,23,25,26,35,41,44,50,59],process:[3,5,25,26,53],profil:[21,29,49],program:51,project:48,promot:2,proper:[5,60],propos:[6,26,36],protocol:[3,4,5,6,7,11,14,25,26,29,32,37,38,39,46,47,49,50,51,54,55,57],protocol_list:57,provid:[1,2,3,4,5,6,11,48,49,51,57],provis:2,proxi:3,pt:4,pta:49,purg:57,purpos:47,python3:54,python:[11,54,55],q:57,qdisc:[26,27,49],qinq:[2,26,28,29,49,50],qmx:4,qo:[47,49,59],queri:59,question:47,queue:47,quickli:[7,51],quickstart:47,r1:[50,57],r2:[50,57],r3:57,r:57,railwai:2,rang:[2,7,26,32,43,49,50,57],rapid:[1,6,24,26],rate:[2,3,5,6,7,20,21,26,29,43,44,49,51,54,59],rather:57,raw1:[50,59],raw2:59,raw:[5,8,11,22,26,44,48,49,50,51],rcvd:50,rdi:[9,11],re:2,reachabl:[51,55,57],read:[50,51,57],real:[5,48,57],receiv:[2,3,4,5,6,7,26,35,36,44,49,50,51,53,54,57,58,59,60],recogn:5,recommend:[5,48,49],reconnect:[2,3,6,11,17,22,26,41,50,55],record:[5,25,26],recov:46,recv:57,ref:48,refer:[2,4,6,47,49,51,55,57],referenc:55,refresh:[7,26,32,50,57],region:2,regulatori:2,reject:[6,26,37],relat:[2,60],releas:[1,23,26,48,55],reliabl:[3,5,26,35],remain:57,remot:[1,2,3,6,11,14,20,26,29,49,50],remote_node_id:57,render:49,renew:1,replac:[11,49],repli:[1,50],report:[5,7,25,26,47,50,59],republish:57,request:[1,3,5,6,11,14,25,26,37,38,39,40,43,49,54,57],requir:[6,48,49],reserv:53,reset:[11,18],resolv:[1,26,30,31,43,49,50],resourc:51,respond:[6,49],respons:[6,11],restart:51,result:[3,5,11,14,25,26,50,54,59],retail:2,retri:[1,2,3,6,7,23,24,26,31,32,35,37,38,39,40,41,57],rev:48,rfc2661:[3,11,14,26,35],rfc3145:[11,14],rfc6396:57,rfc:[6,57],rib:55,right:5,ring:[26,27,49,51],robot:51,rollout:2,root:[48,50],rout:[47,49,50,51,55,57],router:[7,26,32,46,47,49,50,56,57],router_id:57,rpc:[11,50],rpf:[26,44,59],rs:54,rtbrick:[1,3,6,11,26,37,47,48,49,50,53],rule:55,run:[1,3,4,5,6,11,14,26,44,47,50,51,55,57,59],rx:[1,3,4,5,6,26,27,44,49,50,54,55,59],s1:[2,50],s2:2,s:[2,5,7,11,25,26,27,32,49,50,51,55,57],safi:50,same:[2,4,5,11,49,50,55],sbin:48,scale:[51,59],scapi:55,sccrq:[3,26,35],scenario:2,scratch:51,script:[11,54,55,59,60],search:5,sec:48,second:[1,5,6,7,11,17,22,23,24,25,26,31,32,37,38,39,40,41,43,44,50,51,53,55,57,59],secondari:[6,26,39],secret123:50,secret:[3,26,35,57],section:[2,5,11,21,26,29,49,59],see:[47,50,59],seed:57,segment:47,segment_id:57,select:[7,26,29,44,49,59],self:57,send:[2,3,5,6,7,11,14,21,25,26,32,42,44,46,47,48,49,50,51,54,55,57,58,59,60],sens:55,sent:[49,50,51],separ:[26,44,47,59],seq:[1,6,50,54,57,59],seqnum:57,sequenc:[5,7,50,54,57,59,60],sequenti:53,seri:55,serv:51,server:[1,2,3,6,35,39,47,50],servic:[2,5,6,26,41,47,57],session:[0,1,2,3,4,5,6,8,9,14,16,17,18,19,25,29,30,37,41,42,43,44,46,47,49,50,51,54],set:[3,5,6,9,11,21,25,26,28,29,30,35,37,48,50,51,53,55,59],setcap:48,setup:[7,26,43,47,50,54,59],sha:48,share:51,should:[5,48,49,50,53,59],show:[5,7,50,55,57,59,60],shown:[1,3,4,5,11,14,48,49,54,57,60],sid:[7,26,32,50,57],side:[50,51],signal:51,signatur:[5,25,26],similar:54,simpl:[7,11,26,32,50,51,54,55,57,59],simul:51,singl:[2,3,5,11,25,26,47,51,59,60],size:[3,7,26,27,32,35,49,53,57],skip:[11,50],slot:[26,27,49,50],slow:[3,26,35],small:51,so:[2,47,51,56],sock:[1,3,4,5,6,11,14,50,55,57,59],sock_stream:57,socket:[3,11,49,50,51,57],socket_path:57,softwar:47,solicit:1,some:[2,4,5,25,26,46,49,50,60],soo:7,soon:[55,59],sourc:[4,5,22,25,26,44,53,55,57,59],source1:[5,10,11],source2:[5,10,11],source3:[5,10,11],space:[47,51],special:[5,25,26],specif:[2,6,26,40],specifi:[5,25,26,42,50],speed:[11,14,51],spt:4,sr:[7,26,32,50,57],srgb:50,srgb_base:57,srgb_rang:57,stack:51,standalon:[4,50],standard:[48,55,57,60],start:[3,5,6,7,9,10,11,17,18,19,22,25,26,29,30,35,40,42,43,44,45,46,48,49,50,51,53,55,57,60],startup:[55,57],stat:[11,18,50,54],state:[1,2,3,5,6,21,26,47,49,50,57],statist:[4,7,11,15,17,18,50,51,54,59],statu:[1,3,4,5,6,11,26,40,50,57,59],stderr:57,steam:59,step:[26,29,49,50],stick:[3,26,35],still:50,stop:[5,6,9,10,11,17,18,19,26,43,44,45,50],store:[3,6,46,53,59],stream:[2,4,5,17,18,19,27,29,44,45,47,49,50,51,54,55,57,60],string:[26,29,49],sub:[3,4,53],subscrib:[1,47,51],subset:2,substitut:49,subtract:59,subtyp:57,successfulli:11,sudo:[1,3,4,5,6,11,14,48,49,50,55,57,59,60],suit:47,support:[1,3,4,5,6,11,26,35,44,47,49,50,51,55,56,57,59,60],sy:57,symbol:48,synchron:57,system:[7,26,32,34,49,50,51,53,55,57],t1:1,t2:1,t:[50,57,59],tabl:[47,51,55,59],tag:[2,4],take:5,target:48,task:57,tc:[26,44,59],tcp:[4,50,60],te:57,teardown:[7,8,11,13,22,26,32,43,55,57],telecommun:2,term:[2,49,51],termin:[6,11,14,17,26,41,50],test10:3,test11:3,test12:3,test13:3,test14:3,test15:3,test16:3,test17:3,test18:3,test19:3,test1:3,test20:3,test21:3,test22:3,test23:3,test24:3,test25:3,test26:3,test27:3,test28:3,test29:3,test2:3,test30:3,test3:3,test4:3,test5:3,test6:3,test7:3,test8:3,test9:3,test:[3,6,10,11,14,26,37,44,46,47,49,50,51,53,54,55,56,57,59,60],tester:[4,47],testprotocol:48,than:[2,5,49,55,57,59],thei:[2,49,50],them:[50,57],therefor:[5,26,43,49,50,55,59],thi:[1,2,3,5,6,7,11,14,17,23,24,25,26,29,37,38,39,44,46,47,48,49,50,51,53,55,57,59,60],third:[26,29,48,49],those:[2,6,7,21,26,44,49,50,54,55,57,59,60],thousand:[47,51],thread:[5,26,44,55],three:[2,5,25,26,49,51,57],threshold:[5,25,26],through:[50,51],throughput:[21,26,49],thu:2,time:[1,5,6,7,22,26,32,41,47,48,50,51,54,55,57,60],timeout:[1,2,3,6,23,24,26,31,37,38,39,40,41,54],timer:[51,57,60],timestamp:[49,57,59],tlv:57,todai:4,took:[7,59],tool:[7,11,14,50,55,57],top:50,topic:50,topolog:[47,50],tos:[1,3,5,23,25,26,35,59],total:[1,6,48,50,54],tr:[2,49,51],track:47,traffic:[0,1,2,3,4,6,17,18,19,22,23,25,27,35,41,42,44,45,47,49,50,51,52,54,55,58,60],transmit:[5,51],transpar:2,tree:[21,26],tri:46,trigger:[2,55],troubleshoot:[47,48],trough:49,ttl:[26,44,59],tunnel:[3,11,14,26,35],two:[2,49,50,51,55,57,58,59],tx:[1,3,4,5,6,7,26,27,32,44,49,50,53,54,55,57,59],type:[1,2,4,5,6,7,20,21,26,29,32,44,49,50,51,53,55,57,59],typic:[5,55],u:[2,11],udp:4,under:[3,46,47,49,55,57],unicast:[7,50,55,59],uniq:[2,6,26,41],uniqu:53,unit:[6,26,36],unix:11,unknown:54,unlabel:[26,42],unset:[9,11],untag:[2,26,29,30],until:[7,26,30,49,59],up:[2,3,5,6,20,21,26,29,49,50,51,57,58,59],updat:[8,11,13,14,22,26,50],update1:55,update2:55,upstream:[2,4,20,21,26,44,53,59],us:[1,2,3,4,5,6,7,11,14,25,26,35,44,47,48,49,50,51,53,54,55,56,57,59,60],usabl:2,usag:[26,29,49,55,57],user10:11,user1:[6,50],user:[2,6,11,26,37,47,48,50,51],usernam:[3,6,11,26,29,37,49,50],userspac:51,usr:[48,54],utf:57,v1:48,v6:2,v:[2,48,49,51,57],valid:[4,53,55,57],valu:[6,11,21,26,29,37,49],variabl:[49,57],variou:[47,56,59],vector:55,vendor:[3,26,40,47],veri:51,verif:[47,51,59],verifi:[1,2,5,6,7,26,45,47,50,51,54,59,60],version:[5,25,26,29,48,49,50,57],veth1:50,veth:50,via:[3,5,6,26,36,49,51,55],view:[5,25,26,50],virtual:[47,50,51,57],vlan:[1,2,3,6,11,23,26,28,29,30,41,43,44,46,49,50,51,53,59,60],voic:59,volum:59,w:[55,57],wa:[2,6,11,51,57],wai:[1,5,24,26,48,57],wait:[5,26,30,43,44,49,59],walk:50,warn:[11,55],we:[11,50,59],well:[2,5],were:2,wget:48,what:50,where:[3,7,26,35,44,49,50,51,59,60],which:[2,4,5,11,14,26,43,47,48,49,50,51,53,54,55,57,59,60],who:2,whole:[53,57],wholesal:2,window:[3,7,26,32,35,50,51,57,60],withdraw:[50,55],within:[5,25,26,46,57],without:[2,5,48,49,50,51,59],word:53,work:[4,5,7,50,59],world:5,would:[7,59],write:[51,55,57],written:57,wrong:[54,59],x:[57,60],y:48,you:[2,11,47,49,50,56,57,60],your:[46,47,50,55],youtub:47,z:57,zap:[10,11,25,26],zero:[3,26,35,49,59],zip:48},titles:["Access Protocols","IPoE","L2BSA","L2TP","Legal Interception (LI)","Multicast and IPTV","PPPoE","Session Traffic","<no title>","<no title>","<no title>","API/CLI","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","Configuration","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","Frequently Asked Questions","BNG Blaster","Installation","Interfaces","Quickstart Guide","Architecture","Reference","BNG Blaster Traffic","Reports","BGP","Routing Protocols","ISIS","MPLS","Traffic Streams","Troubleshooting"],titleterms:{"static":1,a10nsp:[26,49],access:[0,26,49],address:1,adjac:57,api:11,architectur:51,ask:46,authent:[6,26],bgp:[11,26,50,55],blaster:[11,47,48,53],bng:[11,47,48,53],build:48,cfm:11,cli:11,command:[1,3,6,57,59],configur:[3,6,7,26,55,57,59],connect:26,contact:47,content:47,copyright:47,data:3,databas:57,decod:53,depend:48,dhcp:[1,26],dhcpv4:1,dhcpv6:[1,26],doubl:49,extens:6,extern:26,fast:53,file:[55,57,59],flood:57,flow:53,frequent:46,from:[48,57],gener:[5,55],guid:50,header:[3,53],identifi:53,igmp:[11,26],instal:48,intercept:[4,11],interfac:[11,26,49],ip6cp:[6,26],ipcp:[6,26],ipo:[1,26],iptv:5,ipv4:[6,26],ipv6:[6,26],isi:[11,26,50,57],join:5,json:54,l2bsa:2,l2tp:[3,11],l2tpv2:26,lcp:[6,26],leav:5,legal:[4,11],li:[4,11],licens:47,limit:[5,55,57],line:26,ln:26,log:60,lsp:57,lspgen:57,magic:53,manual:5,mpl:58,mrt:57,multicast:[5,53],nanosecond:53,network:[26,49],number:53,output:54,pcap:60,plugin:60,ppp:[6,11,26],pppoe:[6,26,50],profil:26,protocol:[0,56],question:46,quickstart:50,random:57,raw:[55,59],refer:52,report:54,rfc5515:3,rout:56,run:48,scapi:57,send:53,sequenc:53,server:26,session:[7,11,26,53,55,59],set:49,signatur:53,singl:49,sourc:[47,48],standard:54,start:59,stop:59,stream:[11,26,59],tag:49,test:[5,48],thread:59,timestamp:53,topolog:57,traffic:[5,7,11,26,53,59],tripl:49,troubleshoot:60,ubuntu:48,unicast:53,unit:48,untag:49,updat:[55,57],v6:1,variabl:3,vendor:6,verif:7,via:57,wireshark:60,zap:5}}) \ No newline at end of file +Search.setIndex({docnames:["access/index","access/ipoe","access/l2bsa","access/l2tp","access/li","access/multicast","access/pppoe","access/traffic","api/bgp","api/cfm","api/igmp","api/index","api/interfaces","api/isis","api/l2tp","api/li","api/ppp","api/sessions","api/streams","api/traffic","configuration/access_line","configuration/access_line_profiles","configuration/bgp","configuration/dhcp","configuration/dhcpv6","configuration/igmp","configuration/index","configuration/interfaces","configuration/interfaces_a10nsp","configuration/interfaces_access","configuration/interfaces_network","configuration/ipoe","configuration/isis","configuration/isis_external","configuration/isis_external_connections","configuration/lns","configuration/ppp","configuration/ppp_authentication","configuration/ppp_ip6cp","configuration/ppp_ipcp","configuration/ppp_lcp","configuration/pppoe","configuration/session_traffic","configuration/sessions","configuration/streams","configuration/traffic","faq","index","install","interfaces","quickstart","reference/architecture","reference/index","reference/traffic","reports","routing/bgp","routing/index","routing/isis","routing/mpls","streams","troubleshooting"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["access/index.rst","access/ipoe.rst","access/l2bsa.rst","access/l2tp.rst","access/li.rst","access/multicast.rst","access/pppoe.rst","access/traffic.rst","api/bgp.rst","api/cfm.rst","api/igmp.rst","api/index.rst","api/interfaces.rst","api/isis.rst","api/l2tp.rst","api/li.rst","api/ppp.rst","api/sessions.rst","api/streams.rst","api/traffic.rst","configuration/access_line.rst","configuration/access_line_profiles.rst","configuration/bgp.rst","configuration/dhcp.rst","configuration/dhcpv6.rst","configuration/igmp.rst","configuration/index.rst","configuration/interfaces.rst","configuration/interfaces_a10nsp.rst","configuration/interfaces_access.rst","configuration/interfaces_network.rst","configuration/ipoe.rst","configuration/isis.rst","configuration/isis_external.rst","configuration/isis_external_connections.rst","configuration/lns.rst","configuration/ppp.rst","configuration/ppp_authentication.rst","configuration/ppp_ip6cp.rst","configuration/ppp_ipcp.rst","configuration/ppp_lcp.rst","configuration/pppoe.rst","configuration/session_traffic.rst","configuration/sessions.rst","configuration/streams.rst","configuration/traffic.rst","faq.rst","index.rst","install.rst","interfaces.rst","quickstart.rst","reference/architecture.rst","reference/index.rst","reference/traffic.rst","reports.rst","routing/bgp.rst","routing/index.rst","routing/isis.rst","routing/mpls.rst","streams.rst","troubleshooting.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,3,4,5,6,11,21,23,25,26,27,29,30,31,35,39,40,41,42,43,44,48,49,50,53,54,55,57,59],"00":[1,2,6,48,49,50,57],"000":[7,50,54,59],"0000":[50,57],"0001":[7,26,32,50,57],"0002":[50,57],"0003":57,"0010":[7,26,32,57],"0011":57,"0021":57,"0022":57,"01":[1,2,6,49,50,57],"0100":[7,26,32,57],"0102":57,"02":[1,2,6,49,50],"0204":57,"025":[49,51],"0288":59,"03":50,"0304":57,"031917":50,"04":[48,50],"0506":57,"0792":59,"08":50,"087877":50,"087971":50,"088013":50,"088035":50,"088050":50,"08t14":50,"09":50,"090288":59,"093906":50,"093964":50,"099792":59,"0s":50,"0x1":50,"0x192168001001":50,"0x5274427269636b21":53,"0x83":57,"0x88a8":[26,28,29,49],"1":[1,2,3,4,5,6,7,11,14,22,23,25,26,27,29,30,31,32,34,35,43,44,48,49,50,51,53,54,55,57,59],"10":[1,2,3,4,5,6,7,11,23,24,26,30,32,34,38,39,40,41,49,50,55,57,59],"100":[4,5,6,48,50,57,59],"1000":[3,5,6,49,50,57,59],"10000":50,"100000":[50,57,59],"1001":[7,26,32,50,57,59],"1002":50,"10036":6,"10083":6,"101":[2,5],"1014":59,"102":[3,5],"1024":[3,6,57],"1026":59,"103":5,"1030":59,"10561572":59,"10589":57,"11":[3,5,50,57],"1100":59,"112":59,"114":[5,59],"1142":57,"12":[3,50,57],"120000":50,"124":50,"126":59,"1262":54,"1263":54,"127":50,"128":[1,2,5,6,26,44,49,50,59],"129":[6,26,39],"1291":5,"1298":54,"13":[3,50,57],"131":[6,26,39],"1337":[1,3,6,49,50,57,59],"138":50,"139":5,"14":[3,50],"1406":3,"1439":1,"14399":1,"14400":1,"149":1,"1492":[3,6,26,36],"15":3,"1500":[49,54],"16":[3,50],"160720":4,"16384":[3,6],"168":50,"17":3,"172":50,"18":[3,48],"182885":50,"19":[3,50],"192":50,"1921":50,"1999":[6,49],"1_amd64":48,"1g":49,"1m":[5,49,51],"2":[1,2,3,4,5,6,7,11,14,22,24,25,26,29,30,32,34,43,44,49,50,53,54,55,57,59],"20":[3,5,48,49,50,59],"200":[1,3,4,6,11,49,50,57,59],"2000":[6,49,50,57,59],"20000":50,"2001":59,"2002":57,"2010":2,"202":5,"2020":47,"2022":[47,50],"2048":49,"206":3,"208":59,"21":3,"213":59,"2153":6,"22":[3,50],"2222":1,"224":59,"2249":54,"23":[3,5],"232":5,"239":[5,11,25,26,59],"24":[3,4,7,26,32,50,55,57,59],"24254":54,"25":3,"250":54,"255":[1,26,27,44,49,59],"25503":54,"256":[2,5,50,59],"26":3,"261":1,"27":[3,50],"27008":59,"27040":59,"28":[3,50],"29":3,"293":[5,25,26],"299":1,"2999":[6,49],"2xx":11,"3":[1,2,3,4,5,6,7,11,14,22,23,25,26,29,30,32,40,43,44,47,49,50,53,55,57,59],"30":[3,5,6,7,26,32,35,37,40,50,57],"300":[1,7,26,31,32,57,59],"3000":[7,54],"30003":57,"30005":57,"303904":50,"303952":50,"31":[3,50],"32":[3,26,27,49,50,57],"3264":6,"3265":6,"3266":6,"32867":3,"33":[3,59],"33250":54,"3333":1,"34":[3,50],"34047":54,"35":3,"36":[3,50],"3600":57,"36000":57,"362":59,"37":[3,57,59],"37650":59,"38":[3,50],"39":3,"3932":54,"396":54,"396765":50,"4":[1,3,4,6,7,11,14,22,26,35,43,49,50,53,55,57,59],"40":3,"400":[6,26,43],"4000":[1,2,3,49,50,59],"404":11,"4049":[6,49],"4094":2,"4096":[26,27,49,50],"41700":59,"4194301":4,"43550":59,"46":50,"48":53,"48000":3,"49":[7,26,32,50,57],"49152":4,"499":54,"5":[1,3,4,5,6,7,22,23,24,25,26,32,37,38,39,40,41,44,50,53,55,57,59],"500":[7,54],"50011":3,"50450":59,"51":50,"512":49,"52":50,"53":50,"54":50,"5422":59,"54232":59,"5458":59,"54593":59,"54594":59,"54610":59,"55":50,"56":[6,50],"59":[4,50],"59655":59,"59670":59,"6":[1,2,4,6,53,55,57],"60":3,"61":4,"63":[50,54],"64":[1,6,26,30,49,50,53,57,59],"647569":50,"647630":50,"647633":50,"647639":50,"647642":50,"647645":50,"647648":50,"647651":50,"647654":50,"647657":50,"647660":50,"647669":50,"647672":50,"647678":50,"647813":50,"64bit":7,"65000":[22,26,55],"65001":[50,55],"65506":57,"65507":57,"65524":57,"65529":57,"65535":[7,26,32,50,57],"6800":50,"7":[1,2,3,4,26,35,49,50,53,55,57,59],"7142":57,"72":50,"7331":[3,6,49,50,57,59],"7456":5,"76":[5,25,26,44,59],"79":[3,50],"79200":59,"8":[1,3,4,5,49,53,55,57,59],"80":50,"800":[6,26,43],"8000":54,"800000":59,"8000000":59,"8112":59,"811200":59,"8112000":59,"820":4,"8208":59,"820800":59,"8208000":59,"8240000":59,"8248":54,"831b0100120100000021ffff010203040506000000000003c0d103010403490001":57,"831b0100120100000021ffff010203040506000100000003bad603010403490001":57,"8500":54,"87":50,"870722":50,"899":1,"9":[4,49,53,55,57,59],"90":[22,26,50,55],"9000":[26,44,49,59],"90288":59,"9028800":59,"904266":50,"904293":50,"904359":50,"904369":50,"904389":50,"904448":50,"905659":50,"907888":50,"907903":50,"907917":50,"907989":50,"92":50,"94":4,"96548542":59,"981279":50,"981314":50,"981335":50,"98595049":59,"98903960":59,"99":59,"99792":59,"abstract":51,"break":57,"byte":[4,26,27,49,53],"case":[1,6,7,57],"default":[1,3,4,5,6,7,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,48,49,50,51,55,57,59,60],"do":[5,49,51,59],"export":57,"final":[5,7,25,26,50,57],"float":[26,44,59],"function":[2,3,4,5,26,44,57,59],"import":[54,57],"long":[5,47],"new":[5,49,50,59],"return":[3,59],"short":[26,29,47,49],"static":[2,26,29,49],"true":[1,2,3,5,6,7,22,24,25,26,27,30,31,32,38,39,42,45,49,50,55,57,59],"try":[50,57],"while":[2,57],A:[3,5,26,35,47,48,54,55,59],AS:[22,26,50,55],As:48,BE:[53,59],But:50,For:[26,44,49,59],IS:[50,57],If:[5,25,26,49,50,59],In:[2,7,11,49,50,51,59],It:[2,3,5,47,48,49,51,57,59],Its:51,No:54,ON:48,On:50,One:[11,51,57],Such:[57,59],TOS:[1,3,5,23,25,26,35,44,53,59],The:[1,2,3,4,5,6,7,11,14,17,21,25,26,35,44,46,47,48,49,50,51,53,54,55,57,58,59,60],Then:[48,50],There:[47,48,50,56,57],These:2,With:[6,59],_:[54,57],__:[54,57],___:[54,57],____:[54,57],_____:[54,57],______:[54,57],__comment__:[2,50],__main__:57,__name__:57,a00:50,a10:[2,49,51],a10nsp:[2,28,44,47,50,51,59],abbrev:48,abl:[1,3,5,7,51,54,55,57,58,59,60],about:[3,4],abov:[5,25,26,59],ac10:50,accept:[2,6,26,40,49,50],access:[1,2,3,6,7,11,20,21,27,29,44,47,50,51,53,54,59],account:59,aci:3,ack:1,act:[21,26],action:2,activ:[5,26,29,49,57],actual:[2,11,20,21,26,59],ad:[11,50,53],add:[26,29,49,50,55,57],address:[2,3,4,5,6,7,8,11,22,25,26,27,28,29,30,35,39,42,44,49,50,51,53,55,57,59,60],adjac:[11,13,50],adsl:[2,49,51],advanc:[5,50],advertis:[1,46,49,50,57],advisori:2,af_unix:57,affair:2,afi:50,after:[5,22,25,26,42,43,44,50,55,59],again:50,agenc:2,agent:[1,2,3,6,20,26,29,49],aggreg:[2,49],aggress:[3,26,35],all:[1,2,3,5,6,7,8,11,12,14,15,17,18,19,23,26,35,41,42,43,46,47,48,49,50,51,53,55,57,59,60],allow:[1,2,3,5,6,11,14,17,23,24,25,26,37,38,39,47,48,49,51,53,54,55,57,59,60],alreadi:55,also:[2,3,5,11,26,44,47,48,49,50,51,54,57,59,60],altern:[11,26,43,48,57,59],among:55,amount:[2,5,11,17,25,26],an:[2,3,5,11,46,47,49,50,51,55,57,59],analysi:[5,25,26],analyz:[51,54,60],ani:[4,6,48,50,51,59],anoth:[2,5,50],api:[47,50],append:[50,55,57],appendix:[3,26,35],appli:[26,44,49,50,59],applic:[5,11,17,25,26],apr:50,apt:[48,50],ar:[2,3,5,25,26,30,43,44,46,47,48,49,50,51,53,55,56,57,59,60],architectur:[2,52],archiv:49,area:[7,26,32,50,57],area_list:57,areaid:57,arg:57,argument:[5,8,9,10,11,12,13,14,15,16,17,18,19,54,55,57,59,60],argv:57,ari:3,around:[51,59],arp:[1,26,31,54],ascii:53,ask:47,asm:[5,25,26],asn:55,ass:[21,26],assign:[1,7,11,26,30,44,49,59],associ:[26,29,49],assum:[7,59],assur:[21,26],att:[21,26],attach:[50,57],attain:[21,26],attetr:[21,26],attgdr:[21,26],attribut:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,53,55,57,59],auth:[3,7,26,32,50,57],authent:[3,7,29,32,37,49,50,55,57],author:2,autom:[47,51],automat:[4,5,6,7,11,25,26,41,42,45,49,57,59],autonom:55,autostart:[2,3,5,25,26,29,42,45,49],avail:2,averag:[21,26],avg:[21,26,54],avoid:[3,26,35],avp:[3,26,35],b1:57,b2:57,backbon:57,base:[2,3,5,7,25,26,29,32,35,44,49,50,51,55,57,59],basic:[2,6,50],bbl:59,bbl_header:60,bcm:4,becaus:[11,57],been:[51,57],befor:[5,25,26,43,44,46,59],behav:[49,57],behavior:[5,6,47,60],below:[1,2,3,5,11,14,48,49,50,54,57,60],benchmark:51,besteffort:59,between:[2,5,7,25,26,32,42,49,50,51,57,59],bgp:[8,22,47,51,56,59,60],bgpupdat:[50,55],bidirect:[7,26,42,50,51,59],bin:54,binari:[48,55],bit:[3,26,35,44,53,59],bitstream:2,blaster:[1,2,3,4,5,6,7,25,26,35,46,49,50,51,52,54,55,56,57,58,59,60],block:2,blueprint:55,bnetza:2,bng:[1,2,3,4,5,6,7,25,26,35,44,46,49,50,51,52,54,55,56,57,58,59,60],bngblaster:[1,3,4,5,6,7,11,14,26,32,47,48,49,50,51,55,57,59,60],bngblaster_test:48,board:2,bonn:2,border:55,both:[2,5,26,44,50,54,59],bound:[1,6,50,59],bp:[3,26,44,59],broadband:2,broadcast:[1,23,26],bsd:47,buffer:[49,51,54],build:[55,57],built:51,bundesnetzagentur:2,bundl:2,burst:[26,44,59],bypass:[26,27,49],c0a8:50,c:[48,50,51,57,60],calcul:[26,44,53,59],call:[2,3,51,57],can:[2,3,4,5,6,7,11,14,26,37,43,47,48,49,50,55,56,57,59,60],cap_dac_read_search:48,cap_net_admin:48,cap_net_raw:48,capability_list:57,capabl:[48,50,55],captur:[5,26,27,46,49,60],carri:11,cat:[11,57],caus:[2,57],cc:[9,11,26,29,49],cd:48,cfm:[9,26,29,49],chang:[2,5,25,26,43,46,48,49,50,55],channel:[3,5,25,26,35],chap:[3,6,26,37,54],chapter:6,check:[5,50,53,57,59],checksum:50,circuit:[1,2,3,6,20,26,29,49],classifi:[55,60],claus:47,cli:[1,3,4,5,6,14,47,50,55,57,59],client:[5,11,26,44,47,49,50,57,59],clone:48,close:[11,16,50,57],cmake:48,cmocka:48,code:[1,3,4,6,11,14,50,57,59],com:[6,11,26,37,47,48,49,50],combin:[4,5,7,11,17,25,26,49,51,54,59],command:[4,5,11,14,48,49,50,55],commerci:47,commit:[1,6,24,26,48],common:[1,3,57],commun:[11,49],compil:55,complet:[51,57],compos:2,condit:47,conf:[3,6,26,38,39,40,50],config:[7,46,48,50,54,57],configur:[2,5,11,17,25,38,39,40,43,46,47,49,50,51,60],confus:57,congest:[3,5,26,35],connect:[6,11,14,34,40,49,50,57],connector:[50,57],consid:[46,49,51,59],constant:51,consum:5,contain:[11,47,57],context:50,contrib:57,control:[1,3,6,11,23,26,35,41,50,57,59],converg:[7,47,51],convert:55,copi:[6,51],core:[2,51],corner:50,correctli:[3,7],correspond:[5,7,11,26,29,44,49,53,59],could:[46,54,57,59,60],count:[5,6,25,26,43,55,57,59],counter:[11,17],cours:[50,60],cp:54,cpack:48,cpe:[2,6,51],cpu:[47,49],creat:[26,43,50,55,57],csnp:[7,26,32,57],csun:3,csurq:[3,11,14],ctrl:[50,57],current:[49,51,55,57,59],custom:2,d:4,daemon:50,data:[2,20,21,26,35,53,54,57],databas:[11,13],datar:[21,26],datatrack:57,dbngblaster_test:48,dcmake_build_typ:48,de:[3,26,29,49,57],deb:48,debian:48,debug:[48,55,57,60],decis:55,decod:[54,57],dedic:[5,25,26,59],def:57,defin:[2,3,5,6,11,17,21,25,26,36,49,50,51,55,57,59],definit:2,delai:[5,6,11,17,21,25,26,40,43,44,49,59],deleg:[1,6,26,42],delet:51,deliveri:[3,26,35],denog13:47,depend:[53,59],depict:2,deriv:59,describ:[3,26,35,57],descript:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,55,57,59],design:[51,55,57],desir:54,destin:[4,5,26,44,50,59],detail:[1,2,3,4,5,6,7,11,15,25,26,47,48,50,51,54,57,59,60],deu:[1,3,6],dev:[48,49,50],dev_1:48,develop:11,devic:[3,4,46,49,50,57],df453a5ee9dbf6440aefbfb9630fa0f06e326d44:48,dgit_ref:48,dgit_sha:48,dhcp4:49,dhcp6:49,dhcp:[23,29,47,49,51,60],dhcpv4:2,dhcpv6:[2,6,11,24,29,46,49,50,54],dialogu:2,differ:[3,5,6,26,35,44,47,49,50,57,59],direct:[2,4,5,11,14,26,44,50,53,59],directli:[49,57],directori:[48,50,60],disabl:[1,2,5,6,7,11,17,18,23,24,25,26,31,32,38,39,40,42,49,50,53,57,59],discard:50,disconnect:[8,11,14],discov:1,discoveri:[2,3,6,26,41],displai:[3,4,8,10,11,13,14,17,18],dissector:60,distinguish:57,distribut:[5,48],divid:59,dn:[6,26,39],dns1:[1,6,26,39,50],dns2:[1,6,26,39,50],doc:57,doe:[5,46,51],domain:[11,26,29,49],done:[50,57],doubl:4,down:[2,3,6,20,21,26,29,49,50],download:[48,60],downstream:[4,5,20,21,26,44,50,51,53,59],dpkg:48,draft:57,driver:[46,59],drop:[46,54,60],dsl:[20,21,26,29,49],dump:57,dup:3,durat:[5,25,26],dure:[55,57],dynam:[1,55,59],e:[5,25,26,28,29,30,49,50,57],each:[3,11,49,59],easi:51,easiest:48,easili:[4,48,54,55,59,60],echo:[6,26,40,49,54],econom:2,edg:47,effici:[51,57],eip:48,either:48,electr:2,element:[5,11],els:57,emul:[1,2,3,4,5,6,47,49,50,51,57],enabl:[1,2,3,4,5,6,7,11,17,18,23,24,26,31,32,38,39,43,48,50,54,57,59,60],encap:[21,26],encapsul:[21,26],encod:[54,57],end:[2,47,49,50,51,54,55,56],energi:2,engin:57,enhanc:55,enough:[5,49,57],enrich:2,ens5f1:49,enter:50,entir:51,entri:57,env:54,environ:59,eoam:[9,11,26,29,49],equal:[26,29,49,57,59],error:[11,14,54,57,60],establ:50,establish:[1,3,5,6,7,11,17,25,26,42,44,46,50,54,55,59],etg1:59,eth0:[26,28,29,30,49],eth1:[1,2,3,5,6,49,54,55,57,59],eth2:[3,4,5,6,49,54,57,59],eth3:49,eth4:[2,49],eth5:[2,49],eth:[1,3,6],ethernet:[1,2,4,6,49,50,51],ethertyp:[26,28,29,49],ethtool:[49,50],etr:[21,26],even:[49,57],event:[51,60],everi:[5,47,49,50,51,55,57,59],everyth:59,exampl:[1,2,3,4,5,6,7,11,48,49,50,51,54,55,57,59],except:[49,51,53,57],exchang:55,exclud:[59,60],execut:[11,14,48,54],execute_command:57,exist:[55,57],exit:[55,57],exp:[26,44,59],expect:[11,14,21,26,44,46,51,53,57,59],expens:51,experiment:[49,51,59],expir:1,explain:[2,11,26,50],explicitli:[49,59],express:59,extend:55,extens:54,exterior:55,extern:[5,33,34,50,57],extra:2,extract:54,f1:50,f9:50,f:[50,54,55,57],face:51,facto:57,factor:49,fail:[48,54],failur:46,fals:[1,2,3,5,6,7,22,23,25,26,28,29,32,35,40,41,43,44,45,49,50,55,57,59,60],famili:55,familiar:50,fast:[5,51],faster:[5,25,26,53],fc00:50,fc66:[1,3,6,49,50,57,59],featur:50,feder:2,feed:47,ff:[2,49],field:57,figur:2,file:[5,8,11,13,22,26,33,46,47,48,50,54,60],filenam:[54,59],filter:[3,50,60],finish:50,first:[1,5,6,7,11,22,26,43,44,50,51,54,55,59],fix:[3,26,29,35,49,53],flag:[1,23,26,46,51],flap:[11,54],flop:50,flow:[1,4,6,7,11,15,18,47,50,51,54,59],focu:5,follow:[2,3,4,5,6,7,11,25,26,43,48,49,50,55,57,59,60],footprint:[47,51],forc:57,fork:48,format:[4,59],forum:2,forward:[2,7,47,59],found:[2,11,47,57],four:3,fragment:[1,6,50],frame:[26,42],free:47,frequent:47,friendli:47,from:[2,5,6,26,29,42,44,46,47,49,50,51,53,55,59,60],fsm:51,fulfil:47,full:[47,51,55,59],further:[4,5,50,55,59],g:[5,25,26,28,29,30,49,57],ga:2,gamma:[21,26],gap:[5,59],gatewai:[1,3,4,5,6,26,28,29,30,49,50,55,57,59],gdb:48,gdr:[21,26],gener:[7,25,26,42,43,47,48,50,54,57,59,60],german:2,germani:2,get:[47,50,51],git:48,github:[47,48],given:[3,7,26,44,53,59],global:[1,6,11,22,26,37,49,50,53,55,59],go:50,goal:51,gobgp:50,gobgpd:50,good:47,graph:[50,57],graphviz:57,group:[2,5,10,11,25,26,29,44,49,50,53,59],guid:47,h:[55,57],ha:[26,44,48,50,51,53,55,57,59,60],handshak:[1,24,26,57],happen:50,hard:[47,59],hardwar:[49,51],have:[21,26,50,51],head:48,header:[2,4,5,26,35,44,46,49,57,59,60],hello:[7,26,32,57],help:[55,57,60],helper:[26,44,59],here:[5,21,25,26,46,50,55],hex:57,hi:2,high:[49,51],higher:[5,49],histor:57,hold:[7,26,32,50,57],holdtim:[22,26,50,55],hop:55,host:[2,4,6,26,41,49,53,59],hostnam:[3,7,26,32,35,50,57],how:[5,7,25,26,50,57,60],html:57,http:[47,48,57],i1:[26,29,49],i2:[26,29,49],i:[48,50,51],icmp:[49,54],icmpv6:[46,54],icrq:[3,26,35],id:[1,2,3,5,6,7,9,11,14,16,17,18,20,21,22,26,29,30,32,34,44,49,50,55,57,59],idea:46,ident:53,identif:2,identifi:[2,7,21,22,26,29,32,34,44,49,55,57,59],idl:[5,50],iec:57,ietf:57,ifac:55,ifindex:11,igmp:[5,10,25,29,49,54,60],igmpv3:[5,25,26],ignor:[6,26,40],implement:[5,47,51],implicitli:[26,30,49],inc:[3,47],includ:[5,6,7,11,25,26,27,39,47,48,49,50,51,54,55,57,59,60],increas:[11,49,50],increment:[49,53,55],indent:57,index:[11,12,53],infin:[6,26,41,44,59],info:[1,3,5,6,10,11,17,18,50,55,60],inform:[1,3,6,7,10,11,17,18,55,57,60],infrastructur:[2,51],init:50,initi:[1,5,6,25,26,31,39,40],inject:[51,55,57],inner:[1,2,3,6,11,26,29,43,44,49,50,53,55,59],input:[50,60],instal:[47,50],instanc:[4,5,7,11,13,26,30,32,49,50,57],instead:53,integr:[4,51],interact:[11,50,60],intercept:[0,47],interconnect:57,interfac:[1,2,3,4,5,6,7,12,21,22,25,27,28,29,30,34,42,43,44,46,47,48,50,51,53,54,55,57,59,60],interl:[21,26],interleav:[21,26],intermedi:[2,57],intern:[4,57],internet:[2,47,51,55,57],interv:[1,3,4,5,6,7,23,25,26,27,31,32,40,49,50,57,59],introduc:2,introduct:47,invok:59,io:[26,27,48,49,50,59,60],ip6cp:[3,11,16,29,38,49,50,54],ip:[1,3,5,6,25,26,35,39,44,49,50,51,53,59,60],ipcp:[3,11,16,29,35,39,49,50,54],ipo:[0,2,29,31,43,47,49,51,54],iptv:[0,47,51],ipv4:[1,2,3,4,5,7,8,11,22,23,29,30,31,32,35,42,44,46,49,50,53,54,55,57,59],ipv4_address_list:57,ipv4_prefix:57,ipv4_prefix_list:57,ipv6:[1,3,4,7,29,30,31,32,42,44,46,49,50,54,55,57,59],ipv6pd:[1,6,7,26,42,44,50,54,59],isi:[7,13,30,32,33,34,47,49,56,60],isis_areaentri:57,isis_areatlv:57,isis_commonhdr:57,isis_l1_lsp:57,iso:57,iter:[1,5,25,26,29,43,49],its:[47,49],itself:57,j:[50,54],jitter:53,join:[10,11,25,26,49,60],jq:[1,6,11,50,57,59],json:[11,48,50,57,60],jsonpath:59,jumbo:49,junk:57,just:[3,48],k:[50,57],kb:50,keepal:[3,6,26,40,50],kei:[5,7,11,26,32,50,53,57],kernel:[26,27,46,49,51,54],keyboard:50,kind:6,kwarg:57,l1:[26,30,34,49,50,57],l2:[26,30,34,49,50,57,59],l2bsa:[0,47,49],l2tp:[0,14,26,35,44,47,49,59,60],l2tpv2:[3,47],l3:59,l:[5,50,55,57,60],label1:[26,44,59],label2:[26,44,59],label:[26,42,44,47,50,55,58,59],lac:3,lacp:[2,49],lane:51,laptop:51,larg:[49,57],larger:49,last:[5,51,53,59],latenc:[51,53],later:57,layer:[2,26,27,44,49,51,59],lcp:[3,11,14,35,39,40,50,54],le:53,lead:[5,47],leak:57,learn:[49,57,60],leas:1,least:[2,5,11,49,51],leav:[10,11,25,26,49,60],left:50,legal:[0,47],len:59,length:[2,3,5,25,26,35,44,50,55,57,59],let:50,level1:[7,26,32,50,57],level2:[7,26,32,57],level:[7,11,13,26,29,30,32,34,49,50,55,57],li:[0,15,47],libcmocka:48,libcunit1:48,libdict:48,libdict_1:48,libjansson4:48,libjansson:48,libncurses5:48,librari:[51,55],libssl1:48,libssl:48,lifetim:[7,26,32,50,55,57],lightweight:[2,50,51],liid:4,like:[5,26,44,47,49,55,56,57,59],limit:[2,49,59],line:[1,2,3,6,20,21,29,49,59],link:[2,21,26,49,50,57],linux:[47,48,51],list:[8,11,12,14,15,17,49,50,51,55,57,60],ll:50,ln:[3,35,47,60],lns10:3,lns11:3,lns12:3,lns13:3,lns14:3,lns15:3,lns16:3,lns17:3,lns18:3,lns19:3,lns1:3,lns20:3,lns21:3,lns22:3,lns23:3,lns24:3,lns25:3,lns26:3,lns27:3,lns28:3,lns29:3,lns2:3,lns30:3,lns3:3,lns4:3,lns5:3,lns6:3,lns7:3,lns8:3,lns9:3,load:[8,11,13,50,54,55,57],local:[2,8,11,14,22,26,30,49,50,55],local_pref:55,locat:2,log:[5,11,50,55,57],loop:51,loss:[1,5,6,47,50,51,53,54,59,60],low:[21,26,47,51],lsdb:[11,13,57],lsp:[7,11,13,26,32,50],lspgen:50,lspid:57,lt:48,lua:60,lua_script:60,m:[50,55,57],ma:[26,29,49],mac:[1,2,6,26,27,28,30,49,50,59],machin:[47,50,51],mai:[2,5,55],main:[49,57],mainten:[26,29,49],make:[2,48,55],manag:2,mandat:2,mandatori:[3,8,9,10,11,12,13,14,15,16,17,18,19,21,26,35,44,59],mani:[2,50,51],manual:[26,28,30,48,49,55,57],manufactur:2,map:[2,51],mar:50,mark:57,marker:55,market:2,massiv:[47,51],match:[8,11,14],max:[1,2,3,5,6,7,21,25,26,27,29,35,37,38,39,40,41,43,44,49,50,54,59],maximum:[5,6,21,25,26,29,36,49,59],mbp:59,mc1:5,mc2:5,md5:[7,26,32,50,57],mean:[1,2,6,7,26,31,40,47,49,53,55,59],measur:[5,7,25,26,47,49,59],mediat:4,medium:51,memori:[47,51,55],mention:[5,25,26],merg:59,messag:[3,6,11,14,26,35,40,50,55,57],meta:60,metric:[26,30,34,49,50,57],might:[49,57,59],migrat:2,million:[47,59],millisecond:[5,6,25,26,27,40,49],min:[1,2,3,6,7,21,26,29,43,49,50,54,59],mini:49,minimum:[21,26,29,49,59],ministri:2,miss:5,mix:51,mkdir:48,mmap:[49,51],mode:[1,3,6,26,27,29,35,48,49,51],model:[2,49,51],modern:[47,48],modifi:[26,27,49,55,57],more:[2,5,25,26,47,49,50,55,57,59],most:[1,3,26,29,49,51,59,60],move:57,mpl:[26,42,44,47,56,59],mpls_ipv4_flag:57,mpls_ipv6_flag:57,mrt:[11,13,26,33,50,55],mru:[3,6,26,36],ms:[5,7,26,32,54,57],msg:50,mtu:49,much:59,multicast:[0,11,19,25,26,47,51,54,59],multipl:[2,5,7,11,25,26,49,55,57,59],multiprotocol:50,must:[2,11,50,59],n1:57,n:[1,3,6,11,26,29,43,44,49,50,55,57,59],nak:1,name:[2,3,5,6,26,28,29,30,35,41,44,49,50,54,55,59,60],nano:53,nanosecond:59,navig:50,nc:11,need:[2,5,11,48,49,50,57],neighbor:50,neighbor_list:57,netmask:1,netplan:49,network:[1,2,3,4,5,6,7,22,25,29,30,42,44,47,48,50,51,54,55,57,59,60],networkd:49,newer:57,next:[4,50,55],nga:2,node:[2,7,26,32,47,50,57],node_flag:57,node_id:57,non:[3,26,35,47,51,56],none:57,normal:[48,57],notif:50,now:[50,57],nsec:59,nsp:2,num:55,number:[3,4,5,7,11,26,44,49,50,54,55,57,59,60],o:51,obvious:49,occur:46,octet:50,off:[9,11,50],offer:1,offic:2,offload:[50,59],offset:[3,26,35,53],often:[5,25,26],ok:[1,3,4,5,6,11,50,57,59],old:5,onc:55,one:[2,4,5,49,50,51,55,57,59],onli:[3,4,5,11,17,25,26,29,44,46,49,53,57,59,60],ont:[21,26],onu:[21,26],onupeak:[21,26],open:[6,11,16,47,50,54,55,57],openconfirm:50,opens:50,oper:[2,47,49,55],optim:[47,48],option:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25,26,28,30,38,39,44,48,49,50,51,53,54,55,57,59,60],order:[3,53],org:57,origin:57,os:57,osi:57,other:[2,6,11,26,37,46,49,50,51,57],oui:6,our:51,out:[3,48,50],outer:[1,2,3,6,11,26,28,29,35,43,44,46,49,50,53,55,59,60],output:[3,55,60],outq:50,outstand:[6,26,43],over:[1,5,6,21,26,43,44,57,59],overhead:51,overlap:5,overload:[7,26,32,57],overseen:46,overwrit:[26,29,44,49,59],own:[49,55,57],p2p:[26,30,49,50,57],p:[50,55,57,60],packag:48,packet:[1,2,3,4,5,6,26,27,35,44,46,48,49,50,51,53,54,55,57,59],packet_mmap:48,packet_mmap_raw:[26,27,48,49,51],packet_rx_r:51,packet_tx_r:51,pad:[7,26,32,54,57],padi:[6,26,41,54],pado:54,padr:[6,26,41,54],padt:54,pair:50,pap:[3,6,26,37,54],paramet:[49,50],pars:48,particular:5,pass:48,password:[3,6,26,29,37,49],path:[11,55,57],payload:[26,44,59],pbit:[1,6,23,26,41,59],pcap:[46,50,55,57],pdu:[11,13,57],peak:[21,26],peer:[3,8,11,22,26,35,50,55,57],pend:[11,17],per:[2,5,6,7,11,25,26,27,29,32,43,44,48,49,51,53,54,55,57,59,60],perform:[47,49],period:[1,26,31],permiss:48,permit:[3,26,35],phase:55,place:60,plan:[2,55],point:2,polici:55,poll:[26,27,49,51,54],pon:[21,26],popular:51,port:[2,4],possibl:[3,5,48,49,51,57,59],post:2,potenti:46,power:[7,21,26],pp:[2,3,5,6,7,26,42,44,50,51,54,55,59],ppi:[26,27,49],ppp:[3,29,36,37,38,39,40,41,49],pppoe:[0,2,3,5,29,41,43,46,47,49,51,54,59,60],pre:[49,55],precis:[5,49],pref:55,prefer:[7,55],prefix:[1,6,47,49,50,51,55,57,59],present:[11,47],press:50,prevent:46,primari:[6,26,39,48,51,53],print:[50,57],prioriti:[1,2,3,5,6,21,23,25,26,35,41,44,50,59],process:[3,5,25,26,53],profil:[21,29,49],program:51,project:48,promot:2,proper:[5,60],propos:[6,26,36],protocol:[3,4,5,6,7,11,14,25,26,29,32,37,38,39,46,47,49,50,51,54,55,57],protocol_list:57,provid:[1,2,3,4,5,6,11,48,49,51,57],provis:2,proxi:3,pt:4,pta:49,purg:57,purpos:47,python3:54,python:[11,54,55],q:57,qdisc:[26,27,49],qinq:[2,26,28,29,49,50],qmx:4,qo:[47,49,59],queri:59,question:47,queue:[47,49],quickli:[7,51],quickstart:47,r1:[50,57],r2:[50,57],r3:57,r:57,railwai:2,rang:[2,7,26,32,43,49,50,57],rapid:[1,6,24,26],rate:[2,3,5,6,7,20,21,26,29,43,44,49,51,54,59],rather:57,raw1:[50,59],raw2:59,raw:[5,8,11,22,26,44,48,49,50,51],rcvd:50,rdi:[9,11],re:2,reachabl:[51,55,57],read:[50,51,57],real:[5,48,57],receiv:[2,3,4,5,6,7,26,35,36,44,49,50,51,53,54,57,58,59,60],recogn:5,recommend:[5,48,49],reconnect:[2,3,6,11,17,22,26,41,50,55],record:[5,25,26],recov:46,recv:57,ref:48,refer:[2,4,6,47,49,51,55,57],referenc:55,refresh:[7,26,32,50,57],region:2,regulatori:2,reject:[6,26,37],relat:[2,60],releas:[1,23,26,48,55],reliabl:[3,5,26,35],remain:57,remot:[1,2,3,6,11,14,20,26,29,49,50],remote_node_id:57,render:49,renew:1,replac:[11,49],repli:[1,50],report:[5,7,25,26,47,50,59],republish:57,request:[1,3,5,6,11,14,25,26,37,38,39,40,43,49,54,57],requir:[6,48,49],reserv:53,reset:[11,18],resolv:[1,26,30,31,43,49,50],resourc:51,respond:[6,49],respons:[6,11],restart:51,result:[3,5,11,14,25,26,50,54,59],retail:2,retri:[1,2,3,6,7,23,24,26,31,32,35,37,38,39,40,41,57],rev:48,rfc2661:[3,11,14,26,35],rfc3145:[11,14],rfc6396:57,rfc:[6,57],rib:55,right:5,ring:[26,27,49,51],robot:51,rollout:2,root:[48,50],rout:[47,49,50,51,55,57],router:[7,26,32,46,47,49,50,56,57],router_id:57,rpc:[11,50],rpf:[26,44,59],rs:54,rtbrick:[1,3,6,11,26,37,47,48,49,50,53],rule:55,run:[1,3,4,5,6,11,14,26,44,47,50,51,55,57,59],rx:[1,3,4,5,6,26,27,44,49,50,54,55,59],s1:[2,50],s2:2,s:[2,5,7,11,25,26,27,32,49,50,51,55,57],safi:50,same:[2,4,5,11,49,50,55],sbin:48,scale:[51,59],scapi:55,sccrq:[3,26,35],scenario:2,scratch:51,script:[11,54,55,59,60],search:5,sec:48,second:[1,5,6,7,11,17,22,23,24,25,26,31,32,37,38,39,40,41,43,44,50,51,53,55,57,59],secondari:[6,26,39],secret123:50,secret:[3,26,35,57],section:[2,5,11,21,26,29,49,59],see:[47,50,59],seed:57,segment:47,segment_id:57,select:[7,26,29,44,49,59],self:57,send:[2,3,5,6,7,11,14,21,25,26,32,42,44,46,47,48,49,50,51,54,55,57,58,59,60],sens:55,sent:[49,50,51],separ:[26,44,47,59],seq:[1,6,50,54,57,59],seqnum:57,sequenc:[5,7,50,54,57,59,60],sequenti:53,seri:55,serv:51,server:[1,2,3,6,35,39,47,50],servic:[2,5,6,26,41,47,57],session:[0,1,2,3,4,5,6,8,9,14,16,17,18,19,25,27,29,30,37,41,42,43,44,46,47,49,50,51,54],set:[3,5,6,9,11,21,25,26,28,29,30,35,37,48,50,51,53,55,59],setcap:48,setup:[7,26,43,47,50,54,59],sha:48,share:51,should:[5,48,49,50,53,59],show:[5,7,49,50,55,57,59,60],shown:[1,3,4,5,11,14,48,49,54,57,60],sid:[7,26,32,50,57],side:[50,51],signal:51,signatur:[5,25,26],signific:49,similar:54,simpl:[7,11,26,32,50,51,54,55,57,59],simul:51,singl:[2,3,5,11,25,26,47,51,59,60],size:[3,7,26,27,32,35,49,53,57],skip:[11,50],slot:[26,27,49,50],slow:[3,26,35],small:51,so:[2,47,51,56],sock:[1,3,4,5,6,11,14,50,55,57,59],sock_stream:57,socket:[3,11,49,50,51,57],socket_path:57,softwar:[47,49],solicit:1,some:[2,4,5,25,26,46,49,50,60],soo:7,soon:[55,59],sourc:[4,5,22,25,26,44,53,55,57,59],source1:[5,10,11],source2:[5,10,11],source3:[5,10,11],space:[47,51],special:[5,25,26],specif:[2,6,26,40],specifi:[5,25,26,42,50],speed:[11,14,51],spt:4,sr:[7,26,32,50,57],srgb:50,srgb_base:57,srgb_rang:57,stack:51,standalon:[4,50],standard:[48,55,57,60],start:[3,5,6,7,9,10,11,17,18,19,22,25,26,29,30,35,40,42,43,44,45,46,48,49,50,51,53,55,57,60],startup:[55,57],stat:[11,18,50,54],state:[1,2,3,5,6,21,26,47,49,50,57],statist:[4,7,11,15,17,18,50,51,54,59],statu:[1,3,4,5,6,11,26,40,50,57,59],stderr:57,steam:59,step:[26,29,49,50],stick:[3,26,35],still:50,stop:[5,6,9,10,11,17,18,19,26,43,44,45,50],store:[3,6,46,53,59],stream:[2,4,5,17,18,19,27,29,44,45,47,49,50,51,54,55,57,60],string:[26,29,49],sub:[3,4,53],subscrib:[1,47,51],subset:2,substitut:49,subtract:59,subtyp:57,successfulli:11,sudo:[1,3,4,5,6,11,14,48,49,50,55,57,59,60],suit:47,support:[1,3,4,5,6,11,26,35,44,47,49,50,51,55,56,57,59,60],sy:57,symbol:48,synchron:57,system:[7,26,32,34,49,50,51,53,55,57],t1:1,t2:1,t:[50,57,59],tabl:[47,51,55,59],tag:[2,4],take:5,target:48,task:57,tc:[26,44,59],tcp:[4,50,60],te:57,teardown:[7,8,11,13,22,26,32,43,55,57],telecommun:2,term:[2,49,51],termin:[6,11,14,17,26,41,50],test10:3,test11:3,test12:3,test13:3,test14:3,test15:3,test16:3,test17:3,test18:3,test19:3,test1:3,test20:3,test21:3,test22:3,test23:3,test24:3,test25:3,test26:3,test27:3,test28:3,test29:3,test2:3,test30:3,test3:3,test4:3,test5:3,test6:3,test7:3,test8:3,test9:3,test:[3,6,10,11,14,26,37,44,46,47,49,50,51,53,54,55,56,57,59,60],tester:[4,47],testprotocol:48,than:[2,5,49,55,57,59],thei:[2,49,50],them:[50,57],therefor:[5,26,43,49,50,55,59],thi:[1,2,3,5,6,7,11,14,17,23,24,25,26,29,37,38,39,44,46,47,48,49,50,51,53,55,57,59,60],third:[26,27,29,48,49],those:[2,6,7,21,26,44,49,50,54,55,57,59,60],thousand:[47,51],thread:[5,26,44,49,55],three:[2,5,25,26,49,51,57],threshold:[5,25,26],through:[50,51],throughput:[21,26,49],thu:2,time:[1,5,6,7,22,26,32,41,47,48,50,51,54,55,57,60],timeout:[1,2,3,6,23,24,26,31,37,38,39,40,41,54],timer:[51,57,60],timestamp:[49,57,59],tlv:57,todai:[4,49],took:[7,59],tool:[7,11,14,50,55,57],top:50,topic:50,topolog:[47,50],tos:[1,3,5,23,25,26,35,59],total:[1,6,48,50,54],tr:[2,49,51],track:47,traffic:[0,1,2,3,4,6,17,18,19,22,23,25,27,35,41,42,44,45,47,49,50,51,52,54,55,58,60],transmit:[5,51],transpar:2,tree:[21,26],tri:46,trigger:[2,55],troubleshoot:[47,48],trough:49,ttl:[26,44,59],tunnel:[3,11,14,26,35],two:[2,49,50,51,55,57,58,59],tx:[1,3,4,5,6,7,26,27,32,44,49,50,53,54,55,57,59],txqueuelen:49,type:[1,2,4,5,6,7,20,21,26,29,32,44,49,50,51,53,55,57,59],typic:[5,55],u:[2,11],udp:4,under:[3,46,47,49,55,57],unicast:[7,50,55,59],uniq:[2,6,26,41],uniqu:53,unit:[6,26,36],unix:11,unknown:54,unlabel:[26,42],unset:[9,11],untag:[2,26,29,30],until:[7,26,30,49,59],up:[2,3,5,6,20,21,26,29,49,50,51,57,58,59],updat:[8,11,13,14,22,26,50],update1:55,update2:55,upstream:[2,4,20,21,26,44,53,59],us:[1,2,3,4,5,6,7,11,14,25,26,35,44,47,48,49,50,51,53,54,55,56,57,59,60],usabl:2,usag:[26,29,49,55,57],user10:11,user1:[6,50],user:[2,6,11,26,37,47,48,50,51],usernam:[3,6,11,26,29,37,49,50],userspac:51,usr:[48,54],utf:57,v1:48,v6:2,v:[2,48,49,51,57],valid:[4,53,55,57],valu:[6,11,21,26,29,37,49],variabl:[49,57],variou:[47,56,59],vector:55,vendor:[3,26,40,47],veri:51,verif:[47,51,59],verifi:[1,2,5,6,7,26,45,47,50,51,54,59,60],version:[5,25,26,29,48,49,50,57],veth1:50,veth:50,via:[3,5,6,26,36,49,51,55],view:[5,25,26,50],virtual:[47,50,51,57],vlan:[1,2,3,6,11,23,26,28,29,30,41,43,44,46,49,50,51,53,59,60],voic:59,volum:59,w:[55,57],wa:[2,6,11,51,57],wai:[1,5,24,26,48,57],wait:[5,26,30,43,44,49,59],walk:50,warn:[11,55],we:[11,50,59],well:[2,5],were:2,wget:48,what:50,where:[3,7,26,35,44,49,50,51,59,60],which:[2,4,5,11,14,26,43,47,48,49,50,51,53,54,55,57,59,60],who:2,whole:[53,57],wholesal:2,window:[3,7,26,32,35,50,51,57,60],withdraw:[50,55],within:[5,25,26,46,57],without:[2,5,48,49,50,51,59],word:53,work:[4,5,7,50,59],world:5,would:[7,59],write:[51,55,57],written:57,wrong:[54,59],x:[57,60],y:48,you:[2,11,47,49,50,56,57,60],your:[46,47,49,50,55],youtub:47,z:57,zap:[10,11,25,26],zero:[3,26,35,49,59],zip:48},titles:["Access Protocols","IPoE","L2BSA","L2TP","Legal Interception (LI)","Multicast and IPTV","PPPoE","Session Traffic","<no title>","<no title>","<no title>","API/CLI","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","Configuration","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","Frequently Asked Questions","BNG Blaster","Installation","Interfaces","Quickstart Guide","Architecture","Reference","BNG Blaster Traffic","Reports","BGP","Routing Protocols","ISIS","MPLS","Traffic Streams","Troubleshooting"],titleterms:{"static":1,a10nsp:[26,49],access:[0,26,49],address:1,adjac:57,api:11,architectur:51,ask:46,authent:[6,26],bgp:[11,26,50,55],blaster:[11,47,48,53],bng:[11,47,48,53],build:48,cfm:11,cli:11,command:[1,3,6,57,59],configur:[3,6,7,26,55,57,59],connect:26,contact:47,content:47,copyright:47,data:3,databas:57,decod:53,depend:48,dhcp:[1,26],dhcpv4:1,dhcpv6:[1,26],doubl:49,extens:6,extern:26,fast:53,file:[55,57,59],flood:57,flow:53,frequent:46,from:[48,57],gener:[5,55],guid:50,header:[3,53],identifi:53,igmp:[11,26],instal:48,intercept:[4,11],interfac:[11,26,49],ip6cp:[6,26],ipcp:[6,26],ipo:[1,26],iptv:5,ipv4:[6,26],ipv6:[6,26],isi:[11,26,50,57],join:5,json:54,l2bsa:2,l2tp:[3,11],l2tpv2:26,lcp:[6,26],leav:5,legal:[4,11],li:[4,11],licens:47,limit:[5,55,57],line:26,ln:26,log:60,lsp:57,lspgen:57,magic:53,manual:5,mpl:58,mrt:57,multicast:[5,53],nanosecond:53,network:[26,49],number:53,output:54,pcap:60,plugin:60,ppp:[6,11,26],pppoe:[6,26,50],profil:26,protocol:[0,56],question:46,quickstart:50,random:57,raw:[55,59],refer:52,report:54,rfc5515:3,rout:56,run:48,scapi:57,send:53,sequenc:53,server:26,session:[7,11,26,53,55,59],set:49,signatur:53,singl:49,sourc:[47,48],standard:54,start:59,stop:59,stream:[11,26,59],tag:49,test:[5,48],thread:59,timestamp:53,topolog:57,traffic:[5,7,11,26,53,59],tripl:49,troubleshoot:60,ubuntu:48,unicast:53,unit:48,untag:49,updat:[55,57],v6:1,variabl:3,vendor:6,verif:7,via:57,wireshark:60,zap:5}}) \ No newline at end of file diff --git a/docs/streams.html b/docs/streams.html index de50d924..83eae0ac 100644 --- a/docs/streams.html +++ b/docs/streams.html @@ -4,7 +4,7 @@ - Traffic Streams — BNG Blaster 0.0 documentation + Traffic Streams — BNG Blaster 0.7 documentation diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html index 32e2db5b..f3e093f2 100644 --- a/docs/troubleshooting.html +++ b/docs/troubleshooting.html @@ -4,7 +4,7 @@ - Troubleshooting — BNG Blaster 0.0 documentation + Troubleshooting — BNG Blaster 0.7 documentation From 147d86790286b11056f95148454524cef972b022 Mon Sep 17 00:00:00 2001 From: Christian Giese Date: Tue, 19 Apr 2022 11:01:47 +0200 Subject: [PATCH 04/10] update docu --- docsrc/sources/api/igmp.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docsrc/sources/api/igmp.rst b/docsrc/sources/api/igmp.rst index 4bdf08fd..ca4e6eed 100644 --- a/docsrc/sources/api/igmp.rst +++ b/docsrc/sources/api/igmp.rst @@ -24,4 +24,8 @@ * - `zapping-stop` - Stop IGMP zapping test - - - \ No newline at end of file + - + * - `zapping-stats` + - Return IGMP zapping stats + - + - `reset` \ No newline at end of file From 9a517718c01c5d22c86d7b67139a46848976e5b4 Mon Sep 17 00:00:00 2001 From: Christian Giese Date: Wed, 20 Apr 2022 09:52:15 +0200 Subject: [PATCH 05/10] update github pages --- docs/_sources/api/igmp.rst.txt | 6 +++++- docs/api/igmp.html | 5 +++++ docs/api/index.html | 5 +++++ docs/searchindex.js | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/_sources/api/igmp.rst.txt b/docs/_sources/api/igmp.rst.txt index 4bdf08fd..ca4e6eed 100644 --- a/docs/_sources/api/igmp.rst.txt +++ b/docs/_sources/api/igmp.rst.txt @@ -24,4 +24,8 @@ * - `zapping-stop` - Stop IGMP zapping test - - - \ No newline at end of file + - + * - `zapping-stats` + - Return IGMP zapping stats + - + - `reset` \ No newline at end of file diff --git a/docs/api/igmp.html b/docs/api/igmp.html index 97180d95..ff528d2f 100644 --- a/docs/api/igmp.html +++ b/docs/api/igmp.html @@ -116,6 +116,11 @@ +

zapping-stats

+

Return IGMP zapping stats

+ +

reset

+ diff --git a/docs/api/index.html b/docs/api/index.html index cea37bc1..a34bbcac 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -434,6 +434,11 @@ session-id for which a connect speed update is requested.

+

zapping-stats

+

Return IGMP zapping stats

+ +

reset

+
diff --git a/docs/searchindex.js b/docs/searchindex.js index b2033b94..615a827c 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["access/index","access/ipoe","access/l2bsa","access/l2tp","access/li","access/multicast","access/pppoe","access/traffic","api/bgp","api/cfm","api/igmp","api/index","api/interfaces","api/isis","api/l2tp","api/li","api/ppp","api/sessions","api/streams","api/traffic","configuration/access_line","configuration/access_line_profiles","configuration/bgp","configuration/dhcp","configuration/dhcpv6","configuration/igmp","configuration/index","configuration/interfaces","configuration/interfaces_a10nsp","configuration/interfaces_access","configuration/interfaces_network","configuration/ipoe","configuration/isis","configuration/isis_external","configuration/isis_external_connections","configuration/lns","configuration/ppp","configuration/ppp_authentication","configuration/ppp_ip6cp","configuration/ppp_ipcp","configuration/ppp_lcp","configuration/pppoe","configuration/session_traffic","configuration/sessions","configuration/streams","configuration/traffic","faq","index","install","interfaces","quickstart","reference/architecture","reference/index","reference/traffic","reports","routing/bgp","routing/index","routing/isis","routing/mpls","streams","troubleshooting"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["access/index.rst","access/ipoe.rst","access/l2bsa.rst","access/l2tp.rst","access/li.rst","access/multicast.rst","access/pppoe.rst","access/traffic.rst","api/bgp.rst","api/cfm.rst","api/igmp.rst","api/index.rst","api/interfaces.rst","api/isis.rst","api/l2tp.rst","api/li.rst","api/ppp.rst","api/sessions.rst","api/streams.rst","api/traffic.rst","configuration/access_line.rst","configuration/access_line_profiles.rst","configuration/bgp.rst","configuration/dhcp.rst","configuration/dhcpv6.rst","configuration/igmp.rst","configuration/index.rst","configuration/interfaces.rst","configuration/interfaces_a10nsp.rst","configuration/interfaces_access.rst","configuration/interfaces_network.rst","configuration/ipoe.rst","configuration/isis.rst","configuration/isis_external.rst","configuration/isis_external_connections.rst","configuration/lns.rst","configuration/ppp.rst","configuration/ppp_authentication.rst","configuration/ppp_ip6cp.rst","configuration/ppp_ipcp.rst","configuration/ppp_lcp.rst","configuration/pppoe.rst","configuration/session_traffic.rst","configuration/sessions.rst","configuration/streams.rst","configuration/traffic.rst","faq.rst","index.rst","install.rst","interfaces.rst","quickstart.rst","reference/architecture.rst","reference/index.rst","reference/traffic.rst","reports.rst","routing/bgp.rst","routing/index.rst","routing/isis.rst","routing/mpls.rst","streams.rst","troubleshooting.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,3,4,5,6,11,21,23,25,26,27,29,30,31,35,39,40,41,42,43,44,48,49,50,53,54,55,57,59],"00":[1,2,6,48,49,50,57],"000":[7,50,54,59],"0000":[50,57],"0001":[7,26,32,50,57],"0002":[50,57],"0003":57,"0010":[7,26,32,57],"0011":57,"0021":57,"0022":57,"01":[1,2,6,49,50,57],"0100":[7,26,32,57],"0102":57,"02":[1,2,6,49,50],"0204":57,"025":[49,51],"0288":59,"03":50,"0304":57,"031917":50,"04":[48,50],"0506":57,"0792":59,"08":50,"087877":50,"087971":50,"088013":50,"088035":50,"088050":50,"08t14":50,"09":50,"090288":59,"093906":50,"093964":50,"099792":59,"0s":50,"0x1":50,"0x192168001001":50,"0x5274427269636b21":53,"0x83":57,"0x88a8":[26,28,29,49],"1":[1,2,3,4,5,6,7,11,14,22,23,25,26,27,29,30,31,32,34,35,43,44,48,49,50,51,53,54,55,57,59],"10":[1,2,3,4,5,6,7,11,23,24,26,30,32,34,38,39,40,41,49,50,55,57,59],"100":[4,5,6,48,50,57,59],"1000":[3,5,6,49,50,57,59],"10000":50,"100000":[50,57,59],"1001":[7,26,32,50,57,59],"1002":50,"10036":6,"10083":6,"101":[2,5],"1014":59,"102":[3,5],"1024":[3,6,57],"1026":59,"103":5,"1030":59,"10561572":59,"10589":57,"11":[3,5,50,57],"1100":59,"112":59,"114":[5,59],"1142":57,"12":[3,50,57],"120000":50,"124":50,"126":59,"1262":54,"1263":54,"127":50,"128":[1,2,5,6,26,44,49,50,59],"129":[6,26,39],"1291":5,"1298":54,"13":[3,50,57],"131":[6,26,39],"1337":[1,3,6,49,50,57,59],"138":50,"139":5,"14":[3,50],"1406":3,"1439":1,"14399":1,"14400":1,"149":1,"1492":[3,6,26,36],"15":3,"1500":[49,54],"16":[3,50],"160720":4,"16384":[3,6],"168":50,"17":3,"172":50,"18":[3,48],"182885":50,"19":[3,50],"192":50,"1921":50,"1999":[6,49],"1_amd64":48,"1g":49,"1m":[5,49,51],"2":[1,2,3,4,5,6,7,11,14,22,24,25,26,29,30,32,34,43,44,49,50,53,54,55,57,59],"20":[3,5,48,49,50,59],"200":[1,3,4,6,11,49,50,57,59],"2000":[6,49,50,57,59],"20000":50,"2001":59,"2002":57,"2010":2,"202":5,"2020":47,"2022":[47,50],"2048":49,"206":3,"208":59,"21":3,"213":59,"2153":6,"22":[3,50],"2222":1,"224":59,"2249":54,"23":[3,5],"232":5,"239":[5,11,25,26,59],"24":[3,4,7,26,32,50,55,57,59],"24254":54,"25":3,"250":54,"255":[1,26,27,44,49,59],"25503":54,"256":[2,5,50,59],"26":3,"261":1,"27":[3,50],"27008":59,"27040":59,"28":[3,50],"29":3,"293":[5,25,26],"299":1,"2999":[6,49],"2xx":11,"3":[1,2,3,4,5,6,7,11,14,22,23,25,26,29,30,32,40,43,44,47,49,50,53,55,57,59],"30":[3,5,6,7,26,32,35,37,40,50,57],"300":[1,7,26,31,32,57,59],"3000":[7,54],"30003":57,"30005":57,"303904":50,"303952":50,"31":[3,50],"32":[3,26,27,49,50,57],"3264":6,"3265":6,"3266":6,"32867":3,"33":[3,59],"33250":54,"3333":1,"34":[3,50],"34047":54,"35":3,"36":[3,50],"3600":57,"36000":57,"362":59,"37":[3,57,59],"37650":59,"38":[3,50],"39":3,"3932":54,"396":54,"396765":50,"4":[1,3,4,6,7,11,14,22,26,35,43,49,50,53,55,57,59],"40":3,"400":[6,26,43],"4000":[1,2,3,49,50,59],"404":11,"4049":[6,49],"4094":2,"4096":[26,27,49,50],"41700":59,"4194301":4,"43550":59,"46":50,"48":53,"48000":3,"49":[7,26,32,50,57],"49152":4,"499":54,"5":[1,3,4,5,6,7,22,23,24,25,26,32,37,38,39,40,41,44,50,53,55,57,59],"500":[7,54],"50011":3,"50450":59,"51":50,"512":49,"52":50,"53":50,"54":50,"5422":59,"54232":59,"5458":59,"54593":59,"54594":59,"54610":59,"55":50,"56":[6,50],"59":[4,50],"59655":59,"59670":59,"6":[1,2,4,6,53,55,57],"60":3,"61":4,"63":[50,54],"64":[1,6,26,30,49,50,53,57,59],"647569":50,"647630":50,"647633":50,"647639":50,"647642":50,"647645":50,"647648":50,"647651":50,"647654":50,"647657":50,"647660":50,"647669":50,"647672":50,"647678":50,"647813":50,"64bit":7,"65000":[22,26,55],"65001":[50,55],"65506":57,"65507":57,"65524":57,"65529":57,"65535":[7,26,32,50,57],"6800":50,"7":[1,2,3,4,26,35,49,50,53,55,57,59],"7142":57,"72":50,"7331":[3,6,49,50,57,59],"7456":5,"76":[5,25,26,44,59],"79":[3,50],"79200":59,"8":[1,3,4,5,49,53,55,57,59],"80":50,"800":[6,26,43],"8000":54,"800000":59,"8000000":59,"8112":59,"811200":59,"8112000":59,"820":4,"8208":59,"820800":59,"8208000":59,"8240000":59,"8248":54,"831b0100120100000021ffff010203040506000000000003c0d103010403490001":57,"831b0100120100000021ffff010203040506000100000003bad603010403490001":57,"8500":54,"87":50,"870722":50,"899":1,"9":[4,49,53,55,57,59],"90":[22,26,50,55],"9000":[26,44,49,59],"90288":59,"9028800":59,"904266":50,"904293":50,"904359":50,"904369":50,"904389":50,"904448":50,"905659":50,"907888":50,"907903":50,"907917":50,"907989":50,"92":50,"94":4,"96548542":59,"981279":50,"981314":50,"981335":50,"98595049":59,"98903960":59,"99":59,"99792":59,"abstract":51,"break":57,"byte":[4,26,27,49,53],"case":[1,6,7,57],"default":[1,3,4,5,6,7,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,48,49,50,51,55,57,59,60],"do":[5,49,51,59],"export":57,"final":[5,7,25,26,50,57],"float":[26,44,59],"function":[2,3,4,5,26,44,57,59],"import":[54,57],"long":[5,47],"new":[5,49,50,59],"return":[3,59],"short":[26,29,47,49],"static":[2,26,29,49],"true":[1,2,3,5,6,7,22,24,25,26,27,30,31,32,38,39,42,45,49,50,55,57,59],"try":[50,57],"while":[2,57],A:[3,5,26,35,47,48,54,55,59],AS:[22,26,50,55],As:48,BE:[53,59],But:50,For:[26,44,49,59],IS:[50,57],If:[5,25,26,49,50,59],In:[2,7,11,49,50,51,59],It:[2,3,5,47,48,49,51,57,59],Its:51,No:54,ON:48,On:50,One:[11,51,57],Such:[57,59],TOS:[1,3,5,23,25,26,35,44,53,59],The:[1,2,3,4,5,6,7,11,14,17,21,25,26,35,44,46,47,48,49,50,51,53,54,55,57,58,59,60],Then:[48,50],There:[47,48,50,56,57],These:2,With:[6,59],_:[54,57],__:[54,57],___:[54,57],____:[54,57],_____:[54,57],______:[54,57],__comment__:[2,50],__main__:57,__name__:57,a00:50,a10:[2,49,51],a10nsp:[2,28,44,47,50,51,59],abbrev:48,abl:[1,3,5,7,51,54,55,57,58,59,60],about:[3,4],abov:[5,25,26,59],ac10:50,accept:[2,6,26,40,49,50],access:[1,2,3,6,7,11,20,21,27,29,44,47,50,51,53,54,59],account:59,aci:3,ack:1,act:[21,26],action:2,activ:[5,26,29,49,57],actual:[2,11,20,21,26,59],ad:[11,50,53],add:[26,29,49,50,55,57],address:[2,3,4,5,6,7,8,11,22,25,26,27,28,29,30,35,39,42,44,49,50,51,53,55,57,59,60],adjac:[11,13,50],adsl:[2,49,51],advanc:[5,50],advertis:[1,46,49,50,57],advisori:2,af_unix:57,affair:2,afi:50,after:[5,22,25,26,42,43,44,50,55,59],again:50,agenc:2,agent:[1,2,3,6,20,26,29,49],aggreg:[2,49],aggress:[3,26,35],all:[1,2,3,5,6,7,8,11,12,14,15,17,18,19,23,26,35,41,42,43,46,47,48,49,50,51,53,55,57,59,60],allow:[1,2,3,5,6,11,14,17,23,24,25,26,37,38,39,47,48,49,51,53,54,55,57,59,60],alreadi:55,also:[2,3,5,11,26,44,47,48,49,50,51,54,57,59,60],altern:[11,26,43,48,57,59],among:55,amount:[2,5,11,17,25,26],an:[2,3,5,11,46,47,49,50,51,55,57,59],analysi:[5,25,26],analyz:[51,54,60],ani:[4,6,48,50,51,59],anoth:[2,5,50],api:[47,50],append:[50,55,57],appendix:[3,26,35],appli:[26,44,49,50,59],applic:[5,11,17,25,26],apr:50,apt:[48,50],ar:[2,3,5,25,26,30,43,44,46,47,48,49,50,51,53,55,56,57,59,60],architectur:[2,52],archiv:49,area:[7,26,32,50,57],area_list:57,areaid:57,arg:57,argument:[5,8,9,10,11,12,13,14,15,16,17,18,19,54,55,57,59,60],argv:57,ari:3,around:[51,59],arp:[1,26,31,54],ascii:53,ask:47,asm:[5,25,26],asn:55,ass:[21,26],assign:[1,7,11,26,30,44,49,59],associ:[26,29,49],assum:[7,59],assur:[21,26],att:[21,26],attach:[50,57],attain:[21,26],attetr:[21,26],attgdr:[21,26],attribut:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,53,55,57,59],auth:[3,7,26,32,50,57],authent:[3,7,29,32,37,49,50,55,57],author:2,autom:[47,51],automat:[4,5,6,7,11,25,26,41,42,45,49,57,59],autonom:55,autostart:[2,3,5,25,26,29,42,45,49],avail:2,averag:[21,26],avg:[21,26,54],avoid:[3,26,35],avp:[3,26,35],b1:57,b2:57,backbon:57,base:[2,3,5,7,25,26,29,32,35,44,49,50,51,55,57,59],basic:[2,6,50],bbl:59,bbl_header:60,bcm:4,becaus:[11,57],been:[51,57],befor:[5,25,26,43,44,46,59],behav:[49,57],behavior:[5,6,47,60],below:[1,2,3,5,11,14,48,49,50,54,57,60],benchmark:51,besteffort:59,between:[2,5,7,25,26,32,42,49,50,51,57,59],bgp:[8,22,47,51,56,59,60],bgpupdat:[50,55],bidirect:[7,26,42,50,51,59],bin:54,binari:[48,55],bit:[3,26,35,44,53,59],bitstream:2,blaster:[1,2,3,4,5,6,7,25,26,35,46,49,50,51,52,54,55,56,57,58,59,60],block:2,blueprint:55,bnetza:2,bng:[1,2,3,4,5,6,7,25,26,35,44,46,49,50,51,52,54,55,56,57,58,59,60],bngblaster:[1,3,4,5,6,7,11,14,26,32,47,48,49,50,51,55,57,59,60],bngblaster_test:48,board:2,bonn:2,border:55,both:[2,5,26,44,50,54,59],bound:[1,6,50,59],bp:[3,26,44,59],broadband:2,broadcast:[1,23,26],bsd:47,buffer:[49,51,54],build:[55,57],built:51,bundesnetzagentur:2,bundl:2,burst:[26,44,59],bypass:[26,27,49],c0a8:50,c:[48,50,51,57,60],calcul:[26,44,53,59],call:[2,3,51,57],can:[2,3,4,5,6,7,11,14,26,37,43,47,48,49,50,55,56,57,59,60],cap_dac_read_search:48,cap_net_admin:48,cap_net_raw:48,capability_list:57,capabl:[48,50,55],captur:[5,26,27,46,49,60],carri:11,cat:[11,57],caus:[2,57],cc:[9,11,26,29,49],cd:48,cfm:[9,26,29,49],chang:[2,5,25,26,43,46,48,49,50,55],channel:[3,5,25,26,35],chap:[3,6,26,37,54],chapter:6,check:[5,50,53,57,59],checksum:50,circuit:[1,2,3,6,20,26,29,49],classifi:[55,60],claus:47,cli:[1,3,4,5,6,14,47,50,55,57,59],client:[5,11,26,44,47,49,50,57,59],clone:48,close:[11,16,50,57],cmake:48,cmocka:48,code:[1,3,4,6,11,14,50,57,59],com:[6,11,26,37,47,48,49,50],combin:[4,5,7,11,17,25,26,49,51,54,59],command:[4,5,11,14,48,49,50,55],commerci:47,commit:[1,6,24,26,48],common:[1,3,57],commun:[11,49],compil:55,complet:[51,57],compos:2,condit:47,conf:[3,6,26,38,39,40,50],config:[7,46,48,50,54,57],configur:[2,5,11,17,25,38,39,40,43,46,47,49,50,51,60],confus:57,congest:[3,5,26,35],connect:[6,11,14,34,40,49,50,57],connector:[50,57],consid:[46,49,51,59],constant:51,consum:5,contain:[11,47,57],context:50,contrib:57,control:[1,3,6,11,23,26,35,41,50,57,59],converg:[7,47,51],convert:55,copi:[6,51],core:[2,51],corner:50,correctli:[3,7],correspond:[5,7,11,26,29,44,49,53,59],could:[46,54,57,59,60],count:[5,6,25,26,43,55,57,59],counter:[11,17],cours:[50,60],cp:54,cpack:48,cpe:[2,6,51],cpu:[47,49],creat:[26,43,50,55,57],csnp:[7,26,32,57],csun:3,csurq:[3,11,14],ctrl:[50,57],current:[49,51,55,57,59],custom:2,d:4,daemon:50,data:[2,20,21,26,35,53,54,57],databas:[11,13],datar:[21,26],datatrack:57,dbngblaster_test:48,dcmake_build_typ:48,de:[3,26,29,49,57],deb:48,debian:48,debug:[48,55,57,60],decis:55,decod:[54,57],dedic:[5,25,26,59],def:57,defin:[2,3,5,6,11,17,21,25,26,36,49,50,51,55,57,59],definit:2,delai:[5,6,11,17,21,25,26,40,43,44,49,59],deleg:[1,6,26,42],delet:51,deliveri:[3,26,35],denog13:47,depend:[53,59],depict:2,deriv:59,describ:[3,26,35,57],descript:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,55,57,59],design:[51,55,57],desir:54,destin:[4,5,26,44,50,59],detail:[1,2,3,4,5,6,7,11,15,25,26,47,48,50,51,54,57,59,60],deu:[1,3,6],dev:[48,49,50],dev_1:48,develop:11,devic:[3,4,46,49,50,57],df453a5ee9dbf6440aefbfb9630fa0f06e326d44:48,dgit_ref:48,dgit_sha:48,dhcp4:49,dhcp6:49,dhcp:[23,29,47,49,51,60],dhcpv4:2,dhcpv6:[2,6,11,24,29,46,49,50,54],dialogu:2,differ:[3,5,6,26,35,44,47,49,50,57,59],direct:[2,4,5,11,14,26,44,50,53,59],directli:[49,57],directori:[48,50,60],disabl:[1,2,5,6,7,11,17,18,23,24,25,26,31,32,38,39,40,42,49,50,53,57,59],discard:50,disconnect:[8,11,14],discov:1,discoveri:[2,3,6,26,41],displai:[3,4,8,10,11,13,14,17,18],dissector:60,distinguish:57,distribut:[5,48],divid:59,dn:[6,26,39],dns1:[1,6,26,39,50],dns2:[1,6,26,39,50],doc:57,doe:[5,46,51],domain:[11,26,29,49],done:[50,57],doubl:4,down:[2,3,6,20,21,26,29,49,50],download:[48,60],downstream:[4,5,20,21,26,44,50,51,53,59],dpkg:48,draft:57,driver:[46,59],drop:[46,54,60],dsl:[20,21,26,29,49],dump:57,dup:3,durat:[5,25,26],dure:[55,57],dynam:[1,55,59],e:[5,25,26,28,29,30,49,50,57],each:[3,11,49,59],easi:51,easiest:48,easili:[4,48,54,55,59,60],echo:[6,26,40,49,54],econom:2,edg:47,effici:[51,57],eip:48,either:48,electr:2,element:[5,11],els:57,emul:[1,2,3,4,5,6,47,49,50,51,57],enabl:[1,2,3,4,5,6,7,11,17,18,23,24,26,31,32,38,39,43,48,50,54,57,59,60],encap:[21,26],encapsul:[21,26],encod:[54,57],end:[2,47,49,50,51,54,55,56],energi:2,engin:57,enhanc:55,enough:[5,49,57],enrich:2,ens5f1:49,enter:50,entir:51,entri:57,env:54,environ:59,eoam:[9,11,26,29,49],equal:[26,29,49,57,59],error:[11,14,54,57,60],establ:50,establish:[1,3,5,6,7,11,17,25,26,42,44,46,50,54,55,59],etg1:59,eth0:[26,28,29,30,49],eth1:[1,2,3,5,6,49,54,55,57,59],eth2:[3,4,5,6,49,54,57,59],eth3:49,eth4:[2,49],eth5:[2,49],eth:[1,3,6],ethernet:[1,2,4,6,49,50,51],ethertyp:[26,28,29,49],ethtool:[49,50],etr:[21,26],even:[49,57],event:[51,60],everi:[5,47,49,50,51,55,57,59],everyth:59,exampl:[1,2,3,4,5,6,7,11,48,49,50,51,54,55,57,59],except:[49,51,53,57],exchang:55,exclud:[59,60],execut:[11,14,48,54],execute_command:57,exist:[55,57],exit:[55,57],exp:[26,44,59],expect:[11,14,21,26,44,46,51,53,57,59],expens:51,experiment:[49,51,59],expir:1,explain:[2,11,26,50],explicitli:[49,59],express:59,extend:55,extens:54,exterior:55,extern:[5,33,34,50,57],extra:2,extract:54,f1:50,f9:50,f:[50,54,55,57],face:51,facto:57,factor:49,fail:[48,54],failur:46,fals:[1,2,3,5,6,7,22,23,25,26,28,29,32,35,40,41,43,44,45,49,50,55,57,59,60],famili:55,familiar:50,fast:[5,51],faster:[5,25,26,53],fc00:50,fc66:[1,3,6,49,50,57,59],featur:50,feder:2,feed:47,ff:[2,49],field:57,figur:2,file:[5,8,11,13,22,26,33,46,47,48,50,54,60],filenam:[54,59],filter:[3,50,60],finish:50,first:[1,5,6,7,11,22,26,43,44,50,51,54,55,59],fix:[3,26,29,35,49,53],flag:[1,23,26,46,51],flap:[11,54],flop:50,flow:[1,4,6,7,11,15,18,47,50,51,54,59],focu:5,follow:[2,3,4,5,6,7,11,25,26,43,48,49,50,55,57,59,60],footprint:[47,51],forc:57,fork:48,format:[4,59],forum:2,forward:[2,7,47,59],found:[2,11,47,57],four:3,fragment:[1,6,50],frame:[26,42],free:47,frequent:47,friendli:47,from:[2,5,6,26,29,42,44,46,47,49,50,51,53,55,59,60],fsm:51,fulfil:47,full:[47,51,55,59],further:[4,5,50,55,59],g:[5,25,26,28,29,30,49,57],ga:2,gamma:[21,26],gap:[5,59],gatewai:[1,3,4,5,6,26,28,29,30,49,50,55,57,59],gdb:48,gdr:[21,26],gener:[7,25,26,42,43,47,48,50,54,57,59,60],german:2,germani:2,get:[47,50,51],git:48,github:[47,48],given:[3,7,26,44,53,59],global:[1,6,11,22,26,37,49,50,53,55,59],go:50,goal:51,gobgp:50,gobgpd:50,good:47,graph:[50,57],graphviz:57,group:[2,5,10,11,25,26,29,44,49,50,53,59],guid:47,h:[55,57],ha:[26,44,48,50,51,53,55,57,59,60],handshak:[1,24,26,57],happen:50,hard:[47,59],hardwar:[49,51],have:[21,26,50,51],head:48,header:[2,4,5,26,35,44,46,49,57,59,60],hello:[7,26,32,57],help:[55,57,60],helper:[26,44,59],here:[5,21,25,26,46,50,55],hex:57,hi:2,high:[49,51],higher:[5,49],histor:57,hold:[7,26,32,50,57],holdtim:[22,26,50,55],hop:55,host:[2,4,6,26,41,49,53,59],hostnam:[3,7,26,32,35,50,57],how:[5,7,25,26,50,57,60],html:57,http:[47,48,57],i1:[26,29,49],i2:[26,29,49],i:[48,50,51],icmp:[49,54],icmpv6:[46,54],icrq:[3,26,35],id:[1,2,3,5,6,7,9,11,14,16,17,18,20,21,22,26,29,30,32,34,44,49,50,55,57,59],idea:46,ident:53,identif:2,identifi:[2,7,21,22,26,29,32,34,44,49,55,57,59],idl:[5,50],iec:57,ietf:57,ifac:55,ifindex:11,igmp:[5,10,25,29,49,54,60],igmpv3:[5,25,26],ignor:[6,26,40],implement:[5,47,51],implicitli:[26,30,49],inc:[3,47],includ:[5,6,7,11,25,26,27,39,47,48,49,50,51,54,55,57,59,60],increas:[11,49,50],increment:[49,53,55],indent:57,index:[11,12,53],infin:[6,26,41,44,59],info:[1,3,5,6,10,11,17,18,50,55,60],inform:[1,3,6,7,10,11,17,18,55,57,60],infrastructur:[2,51],init:50,initi:[1,5,6,25,26,31,39,40],inject:[51,55,57],inner:[1,2,3,6,11,26,29,43,44,49,50,53,55,59],input:[50,60],instal:[47,50],instanc:[4,5,7,11,13,26,30,32,49,50,57],instead:53,integr:[4,51],interact:[11,50,60],intercept:[0,47],interconnect:57,interfac:[1,2,3,4,5,6,7,12,21,22,25,27,28,29,30,34,42,43,44,46,47,48,50,51,53,54,55,57,59,60],interl:[21,26],interleav:[21,26],intermedi:[2,57],intern:[4,57],internet:[2,47,51,55,57],interv:[1,3,4,5,6,7,23,25,26,27,31,32,40,49,50,57,59],introduc:2,introduct:47,invok:59,io:[26,27,48,49,50,59,60],ip6cp:[3,11,16,29,38,49,50,54],ip:[1,3,5,6,25,26,35,39,44,49,50,51,53,59,60],ipcp:[3,11,16,29,35,39,49,50,54],ipo:[0,2,29,31,43,47,49,51,54],iptv:[0,47,51],ipv4:[1,2,3,4,5,7,8,11,22,23,29,30,31,32,35,42,44,46,49,50,53,54,55,57,59],ipv4_address_list:57,ipv4_prefix:57,ipv4_prefix_list:57,ipv6:[1,3,4,7,29,30,31,32,42,44,46,49,50,54,55,57,59],ipv6pd:[1,6,7,26,42,44,50,54,59],isi:[7,13,30,32,33,34,47,49,56,60],isis_areaentri:57,isis_areatlv:57,isis_commonhdr:57,isis_l1_lsp:57,iso:57,iter:[1,5,25,26,29,43,49],its:[47,49],itself:57,j:[50,54],jitter:53,join:[10,11,25,26,49,60],jq:[1,6,11,50,57,59],json:[11,48,50,57,60],jsonpath:59,jumbo:49,junk:57,just:[3,48],k:[50,57],kb:50,keepal:[3,6,26,40,50],kei:[5,7,11,26,32,50,53,57],kernel:[26,27,46,49,51,54],keyboard:50,kind:6,kwarg:57,l1:[26,30,34,49,50,57],l2:[26,30,34,49,50,57,59],l2bsa:[0,47,49],l2tp:[0,14,26,35,44,47,49,59,60],l2tpv2:[3,47],l3:59,l:[5,50,55,57,60],label1:[26,44,59],label2:[26,44,59],label:[26,42,44,47,50,55,58,59],lac:3,lacp:[2,49],lane:51,laptop:51,larg:[49,57],larger:49,last:[5,51,53,59],latenc:[51,53],later:57,layer:[2,26,27,44,49,51,59],lcp:[3,11,14,35,39,40,50,54],le:53,lead:[5,47],leak:57,learn:[49,57,60],leas:1,least:[2,5,11,49,51],leav:[10,11,25,26,49,60],left:50,legal:[0,47],len:59,length:[2,3,5,25,26,35,44,50,55,57,59],let:50,level1:[7,26,32,50,57],level2:[7,26,32,57],level:[7,11,13,26,29,30,32,34,49,50,55,57],li:[0,15,47],libcmocka:48,libcunit1:48,libdict:48,libdict_1:48,libjansson4:48,libjansson:48,libncurses5:48,librari:[51,55],libssl1:48,libssl:48,lifetim:[7,26,32,50,55,57],lightweight:[2,50,51],liid:4,like:[5,26,44,47,49,55,56,57,59],limit:[2,49,59],line:[1,2,3,6,20,21,29,49,59],link:[2,21,26,49,50,57],linux:[47,48,51],list:[8,11,12,14,15,17,49,50,51,55,57,60],ll:50,ln:[3,35,47,60],lns10:3,lns11:3,lns12:3,lns13:3,lns14:3,lns15:3,lns16:3,lns17:3,lns18:3,lns19:3,lns1:3,lns20:3,lns21:3,lns22:3,lns23:3,lns24:3,lns25:3,lns26:3,lns27:3,lns28:3,lns29:3,lns2:3,lns30:3,lns3:3,lns4:3,lns5:3,lns6:3,lns7:3,lns8:3,lns9:3,load:[8,11,13,50,54,55,57],local:[2,8,11,14,22,26,30,49,50,55],local_pref:55,locat:2,log:[5,11,50,55,57],loop:51,loss:[1,5,6,47,50,51,53,54,59,60],low:[21,26,47,51],lsdb:[11,13,57],lsp:[7,11,13,26,32,50],lspgen:50,lspid:57,lt:48,lua:60,lua_script:60,m:[50,55,57],ma:[26,29,49],mac:[1,2,6,26,27,28,30,49,50,59],machin:[47,50,51],mai:[2,5,55],main:[49,57],mainten:[26,29,49],make:[2,48,55],manag:2,mandat:2,mandatori:[3,8,9,10,11,12,13,14,15,16,17,18,19,21,26,35,44,59],mani:[2,50,51],manual:[26,28,30,48,49,55,57],manufactur:2,map:[2,51],mar:50,mark:57,marker:55,market:2,massiv:[47,51],match:[8,11,14],max:[1,2,3,5,6,7,21,25,26,27,29,35,37,38,39,40,41,43,44,49,50,54,59],maximum:[5,6,21,25,26,29,36,49,59],mbp:59,mc1:5,mc2:5,md5:[7,26,32,50,57],mean:[1,2,6,7,26,31,40,47,49,53,55,59],measur:[5,7,25,26,47,49,59],mediat:4,medium:51,memori:[47,51,55],mention:[5,25,26],merg:59,messag:[3,6,11,14,26,35,40,50,55,57],meta:60,metric:[26,30,34,49,50,57],might:[49,57,59],migrat:2,million:[47,59],millisecond:[5,6,25,26,27,40,49],min:[1,2,3,6,7,21,26,29,43,49,50,54,59],mini:49,minimum:[21,26,29,49,59],ministri:2,miss:5,mix:51,mkdir:48,mmap:[49,51],mode:[1,3,6,26,27,29,35,48,49,51],model:[2,49,51],modern:[47,48],modifi:[26,27,49,55,57],more:[2,5,25,26,47,49,50,55,57,59],most:[1,3,26,29,49,51,59,60],move:57,mpl:[26,42,44,47,56,59],mpls_ipv4_flag:57,mpls_ipv6_flag:57,mrt:[11,13,26,33,50,55],mru:[3,6,26,36],ms:[5,7,26,32,54,57],msg:50,mtu:49,much:59,multicast:[0,11,19,25,26,47,51,54,59],multipl:[2,5,7,11,25,26,49,55,57,59],multiprotocol:50,must:[2,11,50,59],n1:57,n:[1,3,6,11,26,29,43,44,49,50,55,57,59],nak:1,name:[2,3,5,6,26,28,29,30,35,41,44,49,50,54,55,59,60],nano:53,nanosecond:59,navig:50,nc:11,need:[2,5,11,48,49,50,57],neighbor:50,neighbor_list:57,netmask:1,netplan:49,network:[1,2,3,4,5,6,7,22,25,29,30,42,44,47,48,50,51,54,55,57,59,60],networkd:49,newer:57,next:[4,50,55],nga:2,node:[2,7,26,32,47,50,57],node_flag:57,node_id:57,non:[3,26,35,47,51,56],none:57,normal:[48,57],notif:50,now:[50,57],nsec:59,nsp:2,num:55,number:[3,4,5,7,11,26,44,49,50,54,55,57,59,60],o:51,obvious:49,occur:46,octet:50,off:[9,11,50],offer:1,offic:2,offload:[50,59],offset:[3,26,35,53],often:[5,25,26],ok:[1,3,4,5,6,11,50,57,59],old:5,onc:55,one:[2,4,5,49,50,51,55,57,59],onli:[3,4,5,11,17,25,26,29,44,46,49,53,57,59,60],ont:[21,26],onu:[21,26],onupeak:[21,26],open:[6,11,16,47,50,54,55,57],openconfirm:50,opens:50,oper:[2,47,49,55],optim:[47,48],option:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25,26,28,30,38,39,44,48,49,50,51,53,54,55,57,59,60],order:[3,53],org:57,origin:57,os:57,osi:57,other:[2,6,11,26,37,46,49,50,51,57],oui:6,our:51,out:[3,48,50],outer:[1,2,3,6,11,26,28,29,35,43,44,46,49,50,53,55,59,60],output:[3,55,60],outq:50,outstand:[6,26,43],over:[1,5,6,21,26,43,44,57,59],overhead:51,overlap:5,overload:[7,26,32,57],overseen:46,overwrit:[26,29,44,49,59],own:[49,55,57],p2p:[26,30,49,50,57],p:[50,55,57,60],packag:48,packet:[1,2,3,4,5,6,26,27,35,44,46,48,49,50,51,53,54,55,57,59],packet_mmap:48,packet_mmap_raw:[26,27,48,49,51],packet_rx_r:51,packet_tx_r:51,pad:[7,26,32,54,57],padi:[6,26,41,54],pado:54,padr:[6,26,41,54],padt:54,pair:50,pap:[3,6,26,37,54],paramet:[49,50],pars:48,particular:5,pass:48,password:[3,6,26,29,37,49],path:[11,55,57],payload:[26,44,59],pbit:[1,6,23,26,41,59],pcap:[46,50,55,57],pdu:[11,13,57],peak:[21,26],peer:[3,8,11,22,26,35,50,55,57],pend:[11,17],per:[2,5,6,7,11,25,26,27,29,32,43,44,48,49,51,53,54,55,57,59,60],perform:[47,49],period:[1,26,31],permiss:48,permit:[3,26,35],phase:55,place:60,plan:[2,55],point:2,polici:55,poll:[26,27,49,51,54],pon:[21,26],popular:51,port:[2,4],possibl:[3,5,48,49,51,57,59],post:2,potenti:46,power:[7,21,26],pp:[2,3,5,6,7,26,42,44,50,51,54,55,59],ppi:[26,27,49],ppp:[3,29,36,37,38,39,40,41,49],pppoe:[0,2,3,5,29,41,43,46,47,49,51,54,59,60],pre:[49,55],precis:[5,49],pref:55,prefer:[7,55],prefix:[1,6,47,49,50,51,55,57,59],present:[11,47],press:50,prevent:46,primari:[6,26,39,48,51,53],print:[50,57],prioriti:[1,2,3,5,6,21,23,25,26,35,41,44,50,59],process:[3,5,25,26,53],profil:[21,29,49],program:51,project:48,promot:2,proper:[5,60],propos:[6,26,36],protocol:[3,4,5,6,7,11,14,25,26,29,32,37,38,39,46,47,49,50,51,54,55,57],protocol_list:57,provid:[1,2,3,4,5,6,11,48,49,51,57],provis:2,proxi:3,pt:4,pta:49,purg:57,purpos:47,python3:54,python:[11,54,55],q:57,qdisc:[26,27,49],qinq:[2,26,28,29,49,50],qmx:4,qo:[47,49,59],queri:59,question:47,queue:[47,49],quickli:[7,51],quickstart:47,r1:[50,57],r2:[50,57],r3:57,r:57,railwai:2,rang:[2,7,26,32,43,49,50,57],rapid:[1,6,24,26],rate:[2,3,5,6,7,20,21,26,29,43,44,49,51,54,59],rather:57,raw1:[50,59],raw2:59,raw:[5,8,11,22,26,44,48,49,50,51],rcvd:50,rdi:[9,11],re:2,reachabl:[51,55,57],read:[50,51,57],real:[5,48,57],receiv:[2,3,4,5,6,7,26,35,36,44,49,50,51,53,54,57,58,59,60],recogn:5,recommend:[5,48,49],reconnect:[2,3,6,11,17,22,26,41,50,55],record:[5,25,26],recov:46,recv:57,ref:48,refer:[2,4,6,47,49,51,55,57],referenc:55,refresh:[7,26,32,50,57],region:2,regulatori:2,reject:[6,26,37],relat:[2,60],releas:[1,23,26,48,55],reliabl:[3,5,26,35],remain:57,remot:[1,2,3,6,11,14,20,26,29,49,50],remote_node_id:57,render:49,renew:1,replac:[11,49],repli:[1,50],report:[5,7,25,26,47,50,59],republish:57,request:[1,3,5,6,11,14,25,26,37,38,39,40,43,49,54,57],requir:[6,48,49],reserv:53,reset:[11,18],resolv:[1,26,30,31,43,49,50],resourc:51,respond:[6,49],respons:[6,11],restart:51,result:[3,5,11,14,25,26,50,54,59],retail:2,retri:[1,2,3,6,7,23,24,26,31,32,35,37,38,39,40,41,57],rev:48,rfc2661:[3,11,14,26,35],rfc3145:[11,14],rfc6396:57,rfc:[6,57],rib:55,right:5,ring:[26,27,49,51],robot:51,rollout:2,root:[48,50],rout:[47,49,50,51,55,57],router:[7,26,32,46,47,49,50,56,57],router_id:57,rpc:[11,50],rpf:[26,44,59],rs:54,rtbrick:[1,3,6,11,26,37,47,48,49,50,53],rule:55,run:[1,3,4,5,6,11,14,26,44,47,50,51,55,57,59],rx:[1,3,4,5,6,26,27,44,49,50,54,55,59],s1:[2,50],s2:2,s:[2,5,7,11,25,26,27,32,49,50,51,55,57],safi:50,same:[2,4,5,11,49,50,55],sbin:48,scale:[51,59],scapi:55,sccrq:[3,26,35],scenario:2,scratch:51,script:[11,54,55,59,60],search:5,sec:48,second:[1,5,6,7,11,17,22,23,24,25,26,31,32,37,38,39,40,41,43,44,50,51,53,55,57,59],secondari:[6,26,39],secret123:50,secret:[3,26,35,57],section:[2,5,11,21,26,29,49,59],see:[47,50,59],seed:57,segment:47,segment_id:57,select:[7,26,29,44,49,59],self:57,send:[2,3,5,6,7,11,14,21,25,26,32,42,44,46,47,48,49,50,51,54,55,57,58,59,60],sens:55,sent:[49,50,51],separ:[26,44,47,59],seq:[1,6,50,54,57,59],seqnum:57,sequenc:[5,7,50,54,57,59,60],sequenti:53,seri:55,serv:51,server:[1,2,3,6,35,39,47,50],servic:[2,5,6,26,41,47,57],session:[0,1,2,3,4,5,6,8,9,14,16,17,18,19,25,27,29,30,37,41,42,43,44,46,47,49,50,51,54],set:[3,5,6,9,11,21,25,26,28,29,30,35,37,48,50,51,53,55,59],setcap:48,setup:[7,26,43,47,50,54,59],sha:48,share:51,should:[5,48,49,50,53,59],show:[5,7,49,50,55,57,59,60],shown:[1,3,4,5,11,14,48,49,54,57,60],sid:[7,26,32,50,57],side:[50,51],signal:51,signatur:[5,25,26],signific:49,similar:54,simpl:[7,11,26,32,50,51,54,55,57,59],simul:51,singl:[2,3,5,11,25,26,47,51,59,60],size:[3,7,26,27,32,35,49,53,57],skip:[11,50],slot:[26,27,49,50],slow:[3,26,35],small:51,so:[2,47,51,56],sock:[1,3,4,5,6,11,14,50,55,57,59],sock_stream:57,socket:[3,11,49,50,51,57],socket_path:57,softwar:[47,49],solicit:1,some:[2,4,5,25,26,46,49,50,60],soo:7,soon:[55,59],sourc:[4,5,22,25,26,44,53,55,57,59],source1:[5,10,11],source2:[5,10,11],source3:[5,10,11],space:[47,51],special:[5,25,26],specif:[2,6,26,40],specifi:[5,25,26,42,50],speed:[11,14,51],spt:4,sr:[7,26,32,50,57],srgb:50,srgb_base:57,srgb_rang:57,stack:51,standalon:[4,50],standard:[48,55,57,60],start:[3,5,6,7,9,10,11,17,18,19,22,25,26,29,30,35,40,42,43,44,45,46,48,49,50,51,53,55,57,60],startup:[55,57],stat:[11,18,50,54],state:[1,2,3,5,6,21,26,47,49,50,57],statist:[4,7,11,15,17,18,50,51,54,59],statu:[1,3,4,5,6,11,26,40,50,57,59],stderr:57,steam:59,step:[26,29,49,50],stick:[3,26,35],still:50,stop:[5,6,9,10,11,17,18,19,26,43,44,45,50],store:[3,6,46,53,59],stream:[2,4,5,17,18,19,27,29,44,45,47,49,50,51,54,55,57,60],string:[26,29,49],sub:[3,4,53],subscrib:[1,47,51],subset:2,substitut:49,subtract:59,subtyp:57,successfulli:11,sudo:[1,3,4,5,6,11,14,48,49,50,55,57,59,60],suit:47,support:[1,3,4,5,6,11,26,35,44,47,49,50,51,55,56,57,59,60],sy:57,symbol:48,synchron:57,system:[7,26,32,34,49,50,51,53,55,57],t1:1,t2:1,t:[50,57,59],tabl:[47,51,55,59],tag:[2,4],take:5,target:48,task:57,tc:[26,44,59],tcp:[4,50,60],te:57,teardown:[7,8,11,13,22,26,32,43,55,57],telecommun:2,term:[2,49,51],termin:[6,11,14,17,26,41,50],test10:3,test11:3,test12:3,test13:3,test14:3,test15:3,test16:3,test17:3,test18:3,test19:3,test1:3,test20:3,test21:3,test22:3,test23:3,test24:3,test25:3,test26:3,test27:3,test28:3,test29:3,test2:3,test30:3,test3:3,test4:3,test5:3,test6:3,test7:3,test8:3,test9:3,test:[3,6,10,11,14,26,37,44,46,47,49,50,51,53,54,55,56,57,59,60],tester:[4,47],testprotocol:48,than:[2,5,49,55,57,59],thei:[2,49,50],them:[50,57],therefor:[5,26,43,49,50,55,59],thi:[1,2,3,5,6,7,11,14,17,23,24,25,26,29,37,38,39,44,46,47,48,49,50,51,53,55,57,59,60],third:[26,27,29,48,49],those:[2,6,7,21,26,44,49,50,54,55,57,59,60],thousand:[47,51],thread:[5,26,44,49,55],three:[2,5,25,26,49,51,57],threshold:[5,25,26],through:[50,51],throughput:[21,26,49],thu:2,time:[1,5,6,7,22,26,32,41,47,48,50,51,54,55,57,60],timeout:[1,2,3,6,23,24,26,31,37,38,39,40,41,54],timer:[51,57,60],timestamp:[49,57,59],tlv:57,todai:[4,49],took:[7,59],tool:[7,11,14,50,55,57],top:50,topic:50,topolog:[47,50],tos:[1,3,5,23,25,26,35,59],total:[1,6,48,50,54],tr:[2,49,51],track:47,traffic:[0,1,2,3,4,6,17,18,19,22,23,25,27,35,41,42,44,45,47,49,50,51,52,54,55,58,60],transmit:[5,51],transpar:2,tree:[21,26],tri:46,trigger:[2,55],troubleshoot:[47,48],trough:49,ttl:[26,44,59],tunnel:[3,11,14,26,35],two:[2,49,50,51,55,57,58,59],tx:[1,3,4,5,6,7,26,27,32,44,49,50,53,54,55,57,59],txqueuelen:49,type:[1,2,4,5,6,7,20,21,26,29,32,44,49,50,51,53,55,57,59],typic:[5,55],u:[2,11],udp:4,under:[3,46,47,49,55,57],unicast:[7,50,55,59],uniq:[2,6,26,41],uniqu:53,unit:[6,26,36],unix:11,unknown:54,unlabel:[26,42],unset:[9,11],untag:[2,26,29,30],until:[7,26,30,49,59],up:[2,3,5,6,20,21,26,29,49,50,51,57,58,59],updat:[8,11,13,14,22,26,50],update1:55,update2:55,upstream:[2,4,20,21,26,44,53,59],us:[1,2,3,4,5,6,7,11,14,25,26,35,44,47,48,49,50,51,53,54,55,56,57,59,60],usabl:2,usag:[26,29,49,55,57],user10:11,user1:[6,50],user:[2,6,11,26,37,47,48,50,51],usernam:[3,6,11,26,29,37,49,50],userspac:51,usr:[48,54],utf:57,v1:48,v6:2,v:[2,48,49,51,57],valid:[4,53,55,57],valu:[6,11,21,26,29,37,49],variabl:[49,57],variou:[47,56,59],vector:55,vendor:[3,26,40,47],veri:51,verif:[47,51,59],verifi:[1,2,5,6,7,26,45,47,50,51,54,59,60],version:[5,25,26,29,48,49,50,57],veth1:50,veth:50,via:[3,5,6,26,36,49,51,55],view:[5,25,26,50],virtual:[47,50,51,57],vlan:[1,2,3,6,11,23,26,28,29,30,41,43,44,46,49,50,51,53,59,60],voic:59,volum:59,w:[55,57],wa:[2,6,11,51,57],wai:[1,5,24,26,48,57],wait:[5,26,30,43,44,49,59],walk:50,warn:[11,55],we:[11,50,59],well:[2,5],were:2,wget:48,what:50,where:[3,7,26,35,44,49,50,51,59,60],which:[2,4,5,11,14,26,43,47,48,49,50,51,53,54,55,57,59,60],who:2,whole:[53,57],wholesal:2,window:[3,7,26,32,35,50,51,57,60],withdraw:[50,55],within:[5,25,26,46,57],without:[2,5,48,49,50,51,59],word:53,work:[4,5,7,50,59],world:5,would:[7,59],write:[51,55,57],written:57,wrong:[54,59],x:[57,60],y:48,you:[2,11,47,49,50,56,57,60],your:[46,47,49,50,55],youtub:47,z:57,zap:[10,11,25,26],zero:[3,26,35,49,59],zip:48},titles:["Access Protocols","IPoE","L2BSA","L2TP","Legal Interception (LI)","Multicast and IPTV","PPPoE","Session Traffic","<no title>","<no title>","<no title>","API/CLI","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","Configuration","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","Frequently Asked Questions","BNG Blaster","Installation","Interfaces","Quickstart Guide","Architecture","Reference","BNG Blaster Traffic","Reports","BGP","Routing Protocols","ISIS","MPLS","Traffic Streams","Troubleshooting"],titleterms:{"static":1,a10nsp:[26,49],access:[0,26,49],address:1,adjac:57,api:11,architectur:51,ask:46,authent:[6,26],bgp:[11,26,50,55],blaster:[11,47,48,53],bng:[11,47,48,53],build:48,cfm:11,cli:11,command:[1,3,6,57,59],configur:[3,6,7,26,55,57,59],connect:26,contact:47,content:47,copyright:47,data:3,databas:57,decod:53,depend:48,dhcp:[1,26],dhcpv4:1,dhcpv6:[1,26],doubl:49,extens:6,extern:26,fast:53,file:[55,57,59],flood:57,flow:53,frequent:46,from:[48,57],gener:[5,55],guid:50,header:[3,53],identifi:53,igmp:[11,26],instal:48,intercept:[4,11],interfac:[11,26,49],ip6cp:[6,26],ipcp:[6,26],ipo:[1,26],iptv:5,ipv4:[6,26],ipv6:[6,26],isi:[11,26,50,57],join:5,json:54,l2bsa:2,l2tp:[3,11],l2tpv2:26,lcp:[6,26],leav:5,legal:[4,11],li:[4,11],licens:47,limit:[5,55,57],line:26,ln:26,log:60,lsp:57,lspgen:57,magic:53,manual:5,mpl:58,mrt:57,multicast:[5,53],nanosecond:53,network:[26,49],number:53,output:54,pcap:60,plugin:60,ppp:[6,11,26],pppoe:[6,26,50],profil:26,protocol:[0,56],question:46,quickstart:50,random:57,raw:[55,59],refer:52,report:54,rfc5515:3,rout:56,run:48,scapi:57,send:53,sequenc:53,server:26,session:[7,11,26,53,55,59],set:49,signatur:53,singl:49,sourc:[47,48],standard:54,start:59,stop:59,stream:[11,26,59],tag:49,test:[5,48],thread:59,timestamp:53,topolog:57,traffic:[5,7,11,26,53,59],tripl:49,troubleshoot:60,ubuntu:48,unicast:53,unit:48,untag:49,updat:[55,57],v6:1,variabl:3,vendor:6,verif:7,via:57,wireshark:60,zap:5}}) \ No newline at end of file +Search.setIndex({docnames:["access/index","access/ipoe","access/l2bsa","access/l2tp","access/li","access/multicast","access/pppoe","access/traffic","api/bgp","api/cfm","api/igmp","api/index","api/interfaces","api/isis","api/l2tp","api/li","api/ppp","api/sessions","api/streams","api/traffic","configuration/access_line","configuration/access_line_profiles","configuration/bgp","configuration/dhcp","configuration/dhcpv6","configuration/igmp","configuration/index","configuration/interfaces","configuration/interfaces_a10nsp","configuration/interfaces_access","configuration/interfaces_network","configuration/ipoe","configuration/isis","configuration/isis_external","configuration/isis_external_connections","configuration/lns","configuration/ppp","configuration/ppp_authentication","configuration/ppp_ip6cp","configuration/ppp_ipcp","configuration/ppp_lcp","configuration/pppoe","configuration/session_traffic","configuration/sessions","configuration/streams","configuration/traffic","faq","index","install","interfaces","quickstart","reference/architecture","reference/index","reference/traffic","reports","routing/bgp","routing/index","routing/isis","routing/mpls","streams","troubleshooting"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["access/index.rst","access/ipoe.rst","access/l2bsa.rst","access/l2tp.rst","access/li.rst","access/multicast.rst","access/pppoe.rst","access/traffic.rst","api/bgp.rst","api/cfm.rst","api/igmp.rst","api/index.rst","api/interfaces.rst","api/isis.rst","api/l2tp.rst","api/li.rst","api/ppp.rst","api/sessions.rst","api/streams.rst","api/traffic.rst","configuration/access_line.rst","configuration/access_line_profiles.rst","configuration/bgp.rst","configuration/dhcp.rst","configuration/dhcpv6.rst","configuration/igmp.rst","configuration/index.rst","configuration/interfaces.rst","configuration/interfaces_a10nsp.rst","configuration/interfaces_access.rst","configuration/interfaces_network.rst","configuration/ipoe.rst","configuration/isis.rst","configuration/isis_external.rst","configuration/isis_external_connections.rst","configuration/lns.rst","configuration/ppp.rst","configuration/ppp_authentication.rst","configuration/ppp_ip6cp.rst","configuration/ppp_ipcp.rst","configuration/ppp_lcp.rst","configuration/pppoe.rst","configuration/session_traffic.rst","configuration/sessions.rst","configuration/streams.rst","configuration/traffic.rst","faq.rst","index.rst","install.rst","interfaces.rst","quickstart.rst","reference/architecture.rst","reference/index.rst","reference/traffic.rst","reports.rst","routing/bgp.rst","routing/index.rst","routing/isis.rst","routing/mpls.rst","streams.rst","troubleshooting.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,3,4,5,6,11,21,23,25,26,27,29,30,31,35,39,40,41,42,43,44,48,49,50,53,54,55,57,59],"00":[1,2,6,48,49,50,57],"000":[7,50,54,59],"0000":[50,57],"0001":[7,26,32,50,57],"0002":[50,57],"0003":57,"0010":[7,26,32,57],"0011":57,"0021":57,"0022":57,"01":[1,2,6,49,50,57],"0100":[7,26,32,57],"0102":57,"02":[1,2,6,49,50],"0204":57,"025":[49,51],"0288":59,"03":50,"0304":57,"031917":50,"04":[48,50],"0506":57,"0792":59,"08":50,"087877":50,"087971":50,"088013":50,"088035":50,"088050":50,"08t14":50,"09":50,"090288":59,"093906":50,"093964":50,"099792":59,"0s":50,"0x1":50,"0x192168001001":50,"0x5274427269636b21":53,"0x83":57,"0x88a8":[26,28,29,49],"1":[1,2,3,4,5,6,7,11,14,22,23,25,26,27,29,30,31,32,34,35,43,44,48,49,50,51,53,54,55,57,59],"10":[1,2,3,4,5,6,7,11,23,24,26,30,32,34,38,39,40,41,49,50,55,57,59],"100":[4,5,6,48,50,57,59],"1000":[3,5,6,49,50,57,59],"10000":50,"100000":[50,57,59],"1001":[7,26,32,50,57,59],"1002":50,"10036":6,"10083":6,"101":[2,5],"1014":59,"102":[3,5],"1024":[3,6,57],"1026":59,"103":5,"1030":59,"10561572":59,"10589":57,"11":[3,5,50,57],"1100":59,"112":59,"114":[5,59],"1142":57,"12":[3,50,57],"120000":50,"124":50,"126":59,"1262":54,"1263":54,"127":50,"128":[1,2,5,6,26,44,49,50,59],"129":[6,26,39],"1291":5,"1298":54,"13":[3,50,57],"131":[6,26,39],"1337":[1,3,6,49,50,57,59],"138":50,"139":5,"14":[3,50],"1406":3,"1439":1,"14399":1,"14400":1,"149":1,"1492":[3,6,26,36],"15":3,"1500":[49,54],"16":[3,50],"160720":4,"16384":[3,6],"168":50,"17":3,"172":50,"18":[3,48],"182885":50,"19":[3,50],"192":50,"1921":50,"1999":[6,49],"1_amd64":48,"1g":49,"1m":[5,49,51],"2":[1,2,3,4,5,6,7,11,14,22,24,25,26,29,30,32,34,43,44,49,50,53,54,55,57,59],"20":[3,5,48,49,50,59],"200":[1,3,4,6,11,49,50,57,59],"2000":[6,49,50,57,59],"20000":50,"2001":59,"2002":57,"2010":2,"202":5,"2020":47,"2022":[47,50],"2048":49,"206":3,"208":59,"21":3,"213":59,"2153":6,"22":[3,50],"2222":1,"224":59,"2249":54,"23":[3,5],"232":5,"239":[5,11,25,26,59],"24":[3,4,7,26,32,50,55,57,59],"24254":54,"25":3,"250":54,"255":[1,26,27,44,49,59],"25503":54,"256":[2,5,50,59],"26":3,"261":1,"27":[3,50],"27008":59,"27040":59,"28":[3,50],"29":3,"293":[5,25,26],"299":1,"2999":[6,49],"2xx":11,"3":[1,2,3,4,5,6,7,11,14,22,23,25,26,29,30,32,40,43,44,47,49,50,53,55,57,59],"30":[3,5,6,7,26,32,35,37,40,50,57],"300":[1,7,26,31,32,57,59],"3000":[7,54],"30003":57,"30005":57,"303904":50,"303952":50,"31":[3,50],"32":[3,26,27,49,50,57],"3264":6,"3265":6,"3266":6,"32867":3,"33":[3,59],"33250":54,"3333":1,"34":[3,50],"34047":54,"35":3,"36":[3,50],"3600":57,"36000":57,"362":59,"37":[3,57,59],"37650":59,"38":[3,50],"39":3,"3932":54,"396":54,"396765":50,"4":[1,3,4,6,7,11,14,22,26,35,43,49,50,53,55,57,59],"40":3,"400":[6,26,43],"4000":[1,2,3,49,50,59],"404":11,"4049":[6,49],"4094":2,"4096":[26,27,49,50],"41700":59,"4194301":4,"43550":59,"46":50,"48":53,"48000":3,"49":[7,26,32,50,57],"49152":4,"499":54,"5":[1,3,4,5,6,7,22,23,24,25,26,32,37,38,39,40,41,44,50,53,55,57,59],"500":[7,54],"50011":3,"50450":59,"51":50,"512":49,"52":50,"53":50,"54":50,"5422":59,"54232":59,"5458":59,"54593":59,"54594":59,"54610":59,"55":50,"56":[6,50],"59":[4,50],"59655":59,"59670":59,"6":[1,2,4,6,53,55,57],"60":3,"61":4,"63":[50,54],"64":[1,6,26,30,49,50,53,57,59],"647569":50,"647630":50,"647633":50,"647639":50,"647642":50,"647645":50,"647648":50,"647651":50,"647654":50,"647657":50,"647660":50,"647669":50,"647672":50,"647678":50,"647813":50,"64bit":7,"65000":[22,26,55],"65001":[50,55],"65506":57,"65507":57,"65524":57,"65529":57,"65535":[7,26,32,50,57],"6800":50,"7":[1,2,3,4,26,35,49,50,53,55,57,59],"7142":57,"72":50,"7331":[3,6,49,50,57,59],"7456":5,"76":[5,25,26,44,59],"79":[3,50],"79200":59,"8":[1,3,4,5,49,53,55,57,59],"80":50,"800":[6,26,43],"8000":54,"800000":59,"8000000":59,"8112":59,"811200":59,"8112000":59,"820":4,"8208":59,"820800":59,"8208000":59,"8240000":59,"8248":54,"831b0100120100000021ffff010203040506000000000003c0d103010403490001":57,"831b0100120100000021ffff010203040506000100000003bad603010403490001":57,"8500":54,"87":50,"870722":50,"899":1,"9":[4,49,53,55,57,59],"90":[22,26,50,55],"9000":[26,44,49,59],"90288":59,"9028800":59,"904266":50,"904293":50,"904359":50,"904369":50,"904389":50,"904448":50,"905659":50,"907888":50,"907903":50,"907917":50,"907989":50,"92":50,"94":4,"96548542":59,"981279":50,"981314":50,"981335":50,"98595049":59,"98903960":59,"99":59,"99792":59,"abstract":51,"break":57,"byte":[4,26,27,49,53],"case":[1,6,7,57],"default":[1,3,4,5,6,7,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,48,49,50,51,55,57,59,60],"do":[5,49,51,59],"export":57,"final":[5,7,25,26,50,57],"float":[26,44,59],"function":[2,3,4,5,26,44,57,59],"import":[54,57],"long":[5,47],"new":[5,49,50,59],"return":[3,10,11,59],"short":[26,29,47,49],"static":[2,26,29,49],"true":[1,2,3,5,6,7,22,24,25,26,27,30,31,32,38,39,42,45,49,50,55,57,59],"try":[50,57],"while":[2,57],A:[3,5,26,35,47,48,54,55,59],AS:[22,26,50,55],As:48,BE:[53,59],But:50,For:[26,44,49,59],IS:[50,57],If:[5,25,26,49,50,59],In:[2,7,11,49,50,51,59],It:[2,3,5,47,48,49,51,57,59],Its:51,No:54,ON:48,On:50,One:[11,51,57],Such:[57,59],TOS:[1,3,5,23,25,26,35,44,53,59],The:[1,2,3,4,5,6,7,11,14,17,21,25,26,35,44,46,47,48,49,50,51,53,54,55,57,58,59,60],Then:[48,50],There:[47,48,50,56,57],These:2,With:[6,59],_:[54,57],__:[54,57],___:[54,57],____:[54,57],_____:[54,57],______:[54,57],__comment__:[2,50],__main__:57,__name__:57,a00:50,a10:[2,49,51],a10nsp:[2,28,44,47,50,51,59],abbrev:48,abl:[1,3,5,7,51,54,55,57,58,59,60],about:[3,4],abov:[5,25,26,59],ac10:50,accept:[2,6,26,40,49,50],access:[1,2,3,6,7,11,20,21,27,29,44,47,50,51,53,54,59],account:59,aci:3,ack:1,act:[21,26],action:2,activ:[5,26,29,49,57],actual:[2,11,20,21,26,59],ad:[11,50,53],add:[26,29,49,50,55,57],address:[2,3,4,5,6,7,8,11,22,25,26,27,28,29,30,35,39,42,44,49,50,51,53,55,57,59,60],adjac:[11,13,50],adsl:[2,49,51],advanc:[5,50],advertis:[1,46,49,50,57],advisori:2,af_unix:57,affair:2,afi:50,after:[5,22,25,26,42,43,44,50,55,59],again:50,agenc:2,agent:[1,2,3,6,20,26,29,49],aggreg:[2,49],aggress:[3,26,35],all:[1,2,3,5,6,7,8,11,12,14,15,17,18,19,23,26,35,41,42,43,46,47,48,49,50,51,53,55,57,59,60],allow:[1,2,3,5,6,11,14,17,23,24,25,26,37,38,39,47,48,49,51,53,54,55,57,59,60],alreadi:55,also:[2,3,5,11,26,44,47,48,49,50,51,54,57,59,60],altern:[11,26,43,48,57,59],among:55,amount:[2,5,11,17,25,26],an:[2,3,5,11,46,47,49,50,51,55,57,59],analysi:[5,25,26],analyz:[51,54,60],ani:[4,6,48,50,51,59],anoth:[2,5,50],api:[47,50],append:[50,55,57],appendix:[3,26,35],appli:[26,44,49,50,59],applic:[5,11,17,25,26],apr:50,apt:[48,50],ar:[2,3,5,25,26,30,43,44,46,47,48,49,50,51,53,55,56,57,59,60],architectur:[2,52],archiv:49,area:[7,26,32,50,57],area_list:57,areaid:57,arg:57,argument:[5,8,9,10,11,12,13,14,15,16,17,18,19,54,55,57,59,60],argv:57,ari:3,around:[51,59],arp:[1,26,31,54],ascii:53,ask:47,asm:[5,25,26],asn:55,ass:[21,26],assign:[1,7,11,26,30,44,49,59],associ:[26,29,49],assum:[7,59],assur:[21,26],att:[21,26],attach:[50,57],attain:[21,26],attetr:[21,26],attgdr:[21,26],attribut:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,53,55,57,59],auth:[3,7,26,32,50,57],authent:[3,7,29,32,37,49,50,55,57],author:2,autom:[47,51],automat:[4,5,6,7,11,25,26,41,42,45,49,57,59],autonom:55,autostart:[2,3,5,25,26,29,42,45,49],avail:2,averag:[21,26],avg:[21,26,54],avoid:[3,26,35],avp:[3,26,35],b1:57,b2:57,backbon:57,base:[2,3,5,7,25,26,29,32,35,44,49,50,51,55,57,59],basic:[2,6,50],bbl:59,bbl_header:60,bcm:4,becaus:[11,57],been:[51,57],befor:[5,25,26,43,44,46,59],behav:[49,57],behavior:[5,6,47,60],below:[1,2,3,5,11,14,48,49,50,54,57,60],benchmark:51,besteffort:59,between:[2,5,7,25,26,32,42,49,50,51,57,59],bgp:[8,22,47,51,56,59,60],bgpupdat:[50,55],bidirect:[7,26,42,50,51,59],bin:54,binari:[48,55],bit:[3,26,35,44,53,59],bitstream:2,blaster:[1,2,3,4,5,6,7,25,26,35,46,49,50,51,52,54,55,56,57,58,59,60],block:2,blueprint:55,bnetza:2,bng:[1,2,3,4,5,6,7,25,26,35,44,46,49,50,51,52,54,55,56,57,58,59,60],bngblaster:[1,3,4,5,6,7,11,14,26,32,47,48,49,50,51,55,57,59,60],bngblaster_test:48,board:2,bonn:2,border:55,both:[2,5,26,44,50,54,59],bound:[1,6,50,59],bp:[3,26,44,59],broadband:2,broadcast:[1,23,26],bsd:47,buffer:[49,51,54],build:[55,57],built:51,bundesnetzagentur:2,bundl:2,burst:[26,44,59],bypass:[26,27,49],c0a8:50,c:[48,50,51,57,60],calcul:[26,44,53,59],call:[2,3,51,57],can:[2,3,4,5,6,7,11,14,26,37,43,47,48,49,50,55,56,57,59,60],cap_dac_read_search:48,cap_net_admin:48,cap_net_raw:48,capability_list:57,capabl:[48,50,55],captur:[5,26,27,46,49,60],carri:11,cat:[11,57],caus:[2,57],cc:[9,11,26,29,49],cd:48,cfm:[9,26,29,49],chang:[2,5,25,26,43,46,48,49,50,55],channel:[3,5,25,26,35],chap:[3,6,26,37,54],chapter:6,check:[5,50,53,57,59],checksum:50,circuit:[1,2,3,6,20,26,29,49],classifi:[55,60],claus:47,cli:[1,3,4,5,6,14,47,50,55,57,59],client:[5,11,26,44,47,49,50,57,59],clone:48,close:[11,16,50,57],cmake:48,cmocka:48,code:[1,3,4,6,11,14,50,57,59],com:[6,11,26,37,47,48,49,50],combin:[4,5,7,11,17,25,26,49,51,54,59],command:[4,5,11,14,48,49,50,55],commerci:47,commit:[1,6,24,26,48],common:[1,3,57],commun:[11,49],compil:55,complet:[51,57],compos:2,condit:47,conf:[3,6,26,38,39,40,50],config:[7,46,48,50,54,57],configur:[2,5,11,17,25,38,39,40,43,46,47,49,50,51,60],confus:57,congest:[3,5,26,35],connect:[6,11,14,34,40,49,50,57],connector:[50,57],consid:[46,49,51,59],constant:51,consum:5,contain:[11,47,57],context:50,contrib:57,control:[1,3,6,11,23,26,35,41,50,57,59],converg:[7,47,51],convert:55,copi:[6,51],core:[2,51],corner:50,correctli:[3,7],correspond:[5,7,11,26,29,44,49,53,59],could:[46,54,57,59,60],count:[5,6,25,26,43,55,57,59],counter:[11,17],cours:[50,60],cp:54,cpack:48,cpe:[2,6,51],cpu:[47,49],creat:[26,43,50,55,57],csnp:[7,26,32,57],csun:3,csurq:[3,11,14],ctrl:[50,57],current:[49,51,55,57,59],custom:2,d:4,daemon:50,data:[2,20,21,26,35,53,54,57],databas:[11,13],datar:[21,26],datatrack:57,dbngblaster_test:48,dcmake_build_typ:48,de:[3,26,29,49,57],deb:48,debian:48,debug:[48,55,57,60],decis:55,decod:[54,57],dedic:[5,25,26,59],def:57,defin:[2,3,5,6,11,17,21,25,26,36,49,50,51,55,57,59],definit:2,delai:[5,6,11,17,21,25,26,40,43,44,49,59],deleg:[1,6,26,42],delet:51,deliveri:[3,26,35],denog13:47,depend:[53,59],depict:2,deriv:59,describ:[3,26,35,57],descript:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,55,57,59],design:[51,55,57],desir:54,destin:[4,5,26,44,50,59],detail:[1,2,3,4,5,6,7,11,15,25,26,47,48,50,51,54,57,59,60],deu:[1,3,6],dev:[48,49,50],dev_1:48,develop:11,devic:[3,4,46,49,50,57],df453a5ee9dbf6440aefbfb9630fa0f06e326d44:48,dgit_ref:48,dgit_sha:48,dhcp4:49,dhcp6:49,dhcp:[23,29,47,49,51,60],dhcpv4:2,dhcpv6:[2,6,11,24,29,46,49,50,54],dialogu:2,differ:[3,5,6,26,35,44,47,49,50,57,59],direct:[2,4,5,11,14,26,44,50,53,59],directli:[49,57],directori:[48,50,60],disabl:[1,2,5,6,7,11,17,18,23,24,25,26,31,32,38,39,40,42,49,50,53,57,59],discard:50,disconnect:[8,11,14],discov:1,discoveri:[2,3,6,26,41],displai:[3,4,8,10,11,13,14,17,18],dissector:60,distinguish:57,distribut:[5,48],divid:59,dn:[6,26,39],dns1:[1,6,26,39,50],dns2:[1,6,26,39,50],doc:57,doe:[5,46,51],domain:[11,26,29,49],done:[50,57],doubl:4,down:[2,3,6,20,21,26,29,49,50],download:[48,60],downstream:[4,5,20,21,26,44,50,51,53,59],dpkg:48,draft:57,driver:[46,59],drop:[46,54,60],dsl:[20,21,26,29,49],dump:57,dup:3,durat:[5,25,26],dure:[55,57],dynam:[1,55,59],e:[5,25,26,28,29,30,49,50,57],each:[3,11,49,59],easi:51,easiest:48,easili:[4,48,54,55,59,60],echo:[6,26,40,49,54],econom:2,edg:47,effici:[51,57],eip:48,either:48,electr:2,element:[5,11],els:57,emul:[1,2,3,4,5,6,47,49,50,51,57],enabl:[1,2,3,4,5,6,7,11,17,18,23,24,26,31,32,38,39,43,48,50,54,57,59,60],encap:[21,26],encapsul:[21,26],encod:[54,57],end:[2,47,49,50,51,54,55,56],energi:2,engin:57,enhanc:55,enough:[5,49,57],enrich:2,ens5f1:49,enter:50,entir:51,entri:57,env:54,environ:59,eoam:[9,11,26,29,49],equal:[26,29,49,57,59],error:[11,14,54,57,60],establ:50,establish:[1,3,5,6,7,11,17,25,26,42,44,46,50,54,55,59],etg1:59,eth0:[26,28,29,30,49],eth1:[1,2,3,5,6,49,54,55,57,59],eth2:[3,4,5,6,49,54,57,59],eth3:49,eth4:[2,49],eth5:[2,49],eth:[1,3,6],ethernet:[1,2,4,6,49,50,51],ethertyp:[26,28,29,49],ethtool:[49,50],etr:[21,26],even:[49,57],event:[51,60],everi:[5,47,49,50,51,55,57,59],everyth:59,exampl:[1,2,3,4,5,6,7,11,48,49,50,51,54,55,57,59],except:[49,51,53,57],exchang:55,exclud:[59,60],execut:[11,14,48,54],execute_command:57,exist:[55,57],exit:[55,57],exp:[26,44,59],expect:[11,14,21,26,44,46,51,53,57,59],expens:51,experiment:[49,51,59],expir:1,explain:[2,11,26,50],explicitli:[49,59],express:59,extend:55,extens:54,exterior:55,extern:[5,33,34,50,57],extra:2,extract:54,f1:50,f9:50,f:[50,54,55,57],face:51,facto:57,factor:49,fail:[48,54],failur:46,fals:[1,2,3,5,6,7,22,23,25,26,28,29,32,35,40,41,43,44,45,49,50,55,57,59,60],famili:55,familiar:50,fast:[5,51],faster:[5,25,26,53],fc00:50,fc66:[1,3,6,49,50,57,59],featur:50,feder:2,feed:47,ff:[2,49],field:57,figur:2,file:[5,8,11,13,22,26,33,46,47,48,50,54,60],filenam:[54,59],filter:[3,50,60],finish:50,first:[1,5,6,7,11,22,26,43,44,50,51,54,55,59],fix:[3,26,29,35,49,53],flag:[1,23,26,46,51],flap:[11,54],flop:50,flow:[1,4,6,7,11,15,18,47,50,51,54,59],focu:5,follow:[2,3,4,5,6,7,11,25,26,43,48,49,50,55,57,59,60],footprint:[47,51],forc:57,fork:48,format:[4,59],forum:2,forward:[2,7,47,59],found:[2,11,47,57],four:3,fragment:[1,6,50],frame:[26,42],free:47,frequent:47,friendli:47,from:[2,5,6,26,29,42,44,46,47,49,50,51,53,55,59,60],fsm:51,fulfil:47,full:[47,51,55,59],further:[4,5,50,55,59],g:[5,25,26,28,29,30,49,57],ga:2,gamma:[21,26],gap:[5,59],gatewai:[1,3,4,5,6,26,28,29,30,49,50,55,57,59],gdb:48,gdr:[21,26],gener:[7,25,26,42,43,47,48,50,54,57,59,60],german:2,germani:2,get:[47,50,51],git:48,github:[47,48],given:[3,7,26,44,53,59],global:[1,6,11,22,26,37,49,50,53,55,59],go:50,goal:51,gobgp:50,gobgpd:50,good:47,graph:[50,57],graphviz:57,group:[2,5,10,11,25,26,29,44,49,50,53,59],guid:47,h:[55,57],ha:[26,44,48,50,51,53,55,57,59,60],handshak:[1,24,26,57],happen:50,hard:[47,59],hardwar:[49,51],have:[21,26,50,51],head:48,header:[2,4,5,26,35,44,46,49,57,59,60],hello:[7,26,32,57],help:[55,57,60],helper:[26,44,59],here:[5,21,25,26,46,50,55],hex:57,hi:2,high:[49,51],higher:[5,49],histor:57,hold:[7,26,32,50,57],holdtim:[22,26,50,55],hop:55,host:[2,4,6,26,41,49,53,59],hostnam:[3,7,26,32,35,50,57],how:[5,7,25,26,50,57,60],html:57,http:[47,48,57],i1:[26,29,49],i2:[26,29,49],i:[48,50,51],icmp:[49,54],icmpv6:[46,54],icrq:[3,26,35],id:[1,2,3,5,6,7,9,11,14,16,17,18,20,21,22,26,29,30,32,34,44,49,50,55,57,59],idea:46,ident:53,identif:2,identifi:[2,7,21,22,26,29,32,34,44,49,55,57,59],idl:[5,50],iec:57,ietf:57,ifac:55,ifindex:11,igmp:[5,10,25,29,49,54,60],igmpv3:[5,25,26],ignor:[6,26,40],implement:[5,47,51],implicitli:[26,30,49],inc:[3,47],includ:[5,6,7,11,25,26,27,39,47,48,49,50,51,54,55,57,59,60],increas:[11,49,50],increment:[49,53,55],indent:57,index:[11,12,53],infin:[6,26,41,44,59],info:[1,3,5,6,10,11,17,18,50,55,60],inform:[1,3,6,7,10,11,17,18,55,57,60],infrastructur:[2,51],init:50,initi:[1,5,6,25,26,31,39,40],inject:[51,55,57],inner:[1,2,3,6,11,26,29,43,44,49,50,53,55,59],input:[50,60],instal:[47,50],instanc:[4,5,7,11,13,26,30,32,49,50,57],instead:53,integr:[4,51],interact:[11,50,60],intercept:[0,47],interconnect:57,interfac:[1,2,3,4,5,6,7,12,21,22,25,27,28,29,30,34,42,43,44,46,47,48,50,51,53,54,55,57,59,60],interl:[21,26],interleav:[21,26],intermedi:[2,57],intern:[4,57],internet:[2,47,51,55,57],interv:[1,3,4,5,6,7,23,25,26,27,31,32,40,49,50,57,59],introduc:2,introduct:47,invok:59,io:[26,27,48,49,50,59,60],ip6cp:[3,11,16,29,38,49,50,54],ip:[1,3,5,6,25,26,35,39,44,49,50,51,53,59,60],ipcp:[3,11,16,29,35,39,49,50,54],ipo:[0,2,29,31,43,47,49,51,54],iptv:[0,47,51],ipv4:[1,2,3,4,5,7,8,11,22,23,29,30,31,32,35,42,44,46,49,50,53,54,55,57,59],ipv4_address_list:57,ipv4_prefix:57,ipv4_prefix_list:57,ipv6:[1,3,4,7,29,30,31,32,42,44,46,49,50,54,55,57,59],ipv6pd:[1,6,7,26,42,44,50,54,59],isi:[7,13,30,32,33,34,47,49,56,60],isis_areaentri:57,isis_areatlv:57,isis_commonhdr:57,isis_l1_lsp:57,iso:57,iter:[1,5,25,26,29,43,49],its:[47,49],itself:57,j:[50,54],jitter:53,join:[10,11,25,26,49,60],jq:[1,6,11,50,57,59],json:[11,48,50,57,60],jsonpath:59,jumbo:49,junk:57,just:[3,48],k:[50,57],kb:50,keepal:[3,6,26,40,50],kei:[5,7,11,26,32,50,53,57],kernel:[26,27,46,49,51,54],keyboard:50,kind:6,kwarg:57,l1:[26,30,34,49,50,57],l2:[26,30,34,49,50,57,59],l2bsa:[0,47,49],l2tp:[0,14,26,35,44,47,49,59,60],l2tpv2:[3,47],l3:59,l:[5,50,55,57,60],label1:[26,44,59],label2:[26,44,59],label:[26,42,44,47,50,55,58,59],lac:3,lacp:[2,49],lane:51,laptop:51,larg:[49,57],larger:49,last:[5,51,53,59],latenc:[51,53],later:57,layer:[2,26,27,44,49,51,59],lcp:[3,11,14,35,39,40,50,54],le:53,lead:[5,47],leak:57,learn:[49,57,60],leas:1,least:[2,5,11,49,51],leav:[10,11,25,26,49,60],left:50,legal:[0,47],len:59,length:[2,3,5,25,26,35,44,50,55,57,59],let:50,level1:[7,26,32,50,57],level2:[7,26,32,57],level:[7,11,13,26,29,30,32,34,49,50,55,57],li:[0,15,47],libcmocka:48,libcunit1:48,libdict:48,libdict_1:48,libjansson4:48,libjansson:48,libncurses5:48,librari:[51,55],libssl1:48,libssl:48,lifetim:[7,26,32,50,55,57],lightweight:[2,50,51],liid:4,like:[5,26,44,47,49,55,56,57,59],limit:[2,49,59],line:[1,2,3,6,20,21,29,49,59],link:[2,21,26,49,50,57],linux:[47,48,51],list:[8,11,12,14,15,17,49,50,51,55,57,60],ll:50,ln:[3,35,47,60],lns10:3,lns11:3,lns12:3,lns13:3,lns14:3,lns15:3,lns16:3,lns17:3,lns18:3,lns19:3,lns1:3,lns20:3,lns21:3,lns22:3,lns23:3,lns24:3,lns25:3,lns26:3,lns27:3,lns28:3,lns29:3,lns2:3,lns30:3,lns3:3,lns4:3,lns5:3,lns6:3,lns7:3,lns8:3,lns9:3,load:[8,11,13,50,54,55,57],local:[2,8,11,14,22,26,30,49,50,55],local_pref:55,locat:2,log:[5,11,50,55,57],loop:51,loss:[1,5,6,47,50,51,53,54,59,60],low:[21,26,47,51],lsdb:[11,13,57],lsp:[7,11,13,26,32,50],lspgen:50,lspid:57,lt:48,lua:60,lua_script:60,m:[50,55,57],ma:[26,29,49],mac:[1,2,6,26,27,28,30,49,50,59],machin:[47,50,51],mai:[2,5,55],main:[49,57],mainten:[26,29,49],make:[2,48,55],manag:2,mandat:2,mandatori:[3,8,9,10,11,12,13,14,15,16,17,18,19,21,26,35,44,59],mani:[2,50,51],manual:[26,28,30,48,49,55,57],manufactur:2,map:[2,51],mar:50,mark:57,marker:55,market:2,massiv:[47,51],match:[8,11,14],max:[1,2,3,5,6,7,21,25,26,27,29,35,37,38,39,40,41,43,44,49,50,54,59],maximum:[5,6,21,25,26,29,36,49,59],mbp:59,mc1:5,mc2:5,md5:[7,26,32,50,57],mean:[1,2,6,7,26,31,40,47,49,53,55,59],measur:[5,7,25,26,47,49,59],mediat:4,medium:51,memori:[47,51,55],mention:[5,25,26],merg:59,messag:[3,6,11,14,26,35,40,50,55,57],meta:60,metric:[26,30,34,49,50,57],might:[49,57,59],migrat:2,million:[47,59],millisecond:[5,6,25,26,27,40,49],min:[1,2,3,6,7,21,26,29,43,49,50,54,59],mini:49,minimum:[21,26,29,49,59],ministri:2,miss:5,mix:51,mkdir:48,mmap:[49,51],mode:[1,3,6,26,27,29,35,48,49,51],model:[2,49,51],modern:[47,48],modifi:[26,27,49,55,57],more:[2,5,25,26,47,49,50,55,57,59],most:[1,3,26,29,49,51,59,60],move:57,mpl:[26,42,44,47,56,59],mpls_ipv4_flag:57,mpls_ipv6_flag:57,mrt:[11,13,26,33,50,55],mru:[3,6,26,36],ms:[5,7,26,32,54,57],msg:50,mtu:49,much:59,multicast:[0,11,19,25,26,47,51,54,59],multipl:[2,5,7,11,25,26,49,55,57,59],multiprotocol:50,must:[2,11,50,59],n1:57,n:[1,3,6,11,26,29,43,44,49,50,55,57,59],nak:1,name:[2,3,5,6,26,28,29,30,35,41,44,49,50,54,55,59,60],nano:53,nanosecond:59,navig:50,nc:11,need:[2,5,11,48,49,50,57],neighbor:50,neighbor_list:57,netmask:1,netplan:49,network:[1,2,3,4,5,6,7,22,25,29,30,42,44,47,48,50,51,54,55,57,59,60],networkd:49,newer:57,next:[4,50,55],nga:2,node:[2,7,26,32,47,50,57],node_flag:57,node_id:57,non:[3,26,35,47,51,56],none:57,normal:[48,57],notif:50,now:[50,57],nsec:59,nsp:2,num:55,number:[3,4,5,7,11,26,44,49,50,54,55,57,59,60],o:51,obvious:49,occur:46,octet:50,off:[9,11,50],offer:1,offic:2,offload:[50,59],offset:[3,26,35,53],often:[5,25,26],ok:[1,3,4,5,6,11,50,57,59],old:5,onc:55,one:[2,4,5,49,50,51,55,57,59],onli:[3,4,5,11,17,25,26,29,44,46,49,53,57,59,60],ont:[21,26],onu:[21,26],onupeak:[21,26],open:[6,11,16,47,50,54,55,57],openconfirm:50,opens:50,oper:[2,47,49,55],optim:[47,48],option:[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25,26,28,30,38,39,44,48,49,50,51,53,54,55,57,59,60],order:[3,53],org:57,origin:57,os:57,osi:57,other:[2,6,11,26,37,46,49,50,51,57],oui:6,our:51,out:[3,48,50],outer:[1,2,3,6,11,26,28,29,35,43,44,46,49,50,53,55,59,60],output:[3,55,60],outq:50,outstand:[6,26,43],over:[1,5,6,21,26,43,44,57,59],overhead:51,overlap:5,overload:[7,26,32,57],overseen:46,overwrit:[26,29,44,49,59],own:[49,55,57],p2p:[26,30,49,50,57],p:[50,55,57,60],packag:48,packet:[1,2,3,4,5,6,26,27,35,44,46,48,49,50,51,53,54,55,57,59],packet_mmap:48,packet_mmap_raw:[26,27,48,49,51],packet_rx_r:51,packet_tx_r:51,pad:[7,26,32,54,57],padi:[6,26,41,54],pado:54,padr:[6,26,41,54],padt:54,pair:50,pap:[3,6,26,37,54],paramet:[49,50],pars:48,particular:5,pass:48,password:[3,6,26,29,37,49],path:[11,55,57],payload:[26,44,59],pbit:[1,6,23,26,41,59],pcap:[46,50,55,57],pdu:[11,13,57],peak:[21,26],peer:[3,8,11,22,26,35,50,55,57],pend:[11,17],per:[2,5,6,7,11,25,26,27,29,32,43,44,48,49,51,53,54,55,57,59,60],perform:[47,49],period:[1,26,31],permiss:48,permit:[3,26,35],phase:55,place:60,plan:[2,55],point:2,polici:55,poll:[26,27,49,51,54],pon:[21,26],popular:51,port:[2,4],possibl:[3,5,48,49,51,57,59],post:2,potenti:46,power:[7,21,26],pp:[2,3,5,6,7,26,42,44,50,51,54,55,59],ppi:[26,27,49],ppp:[3,29,36,37,38,39,40,41,49],pppoe:[0,2,3,5,29,41,43,46,47,49,51,54,59,60],pre:[49,55],precis:[5,49],pref:55,prefer:[7,55],prefix:[1,6,47,49,50,51,55,57,59],present:[11,47],press:50,prevent:46,primari:[6,26,39,48,51,53],print:[50,57],prioriti:[1,2,3,5,6,21,23,25,26,35,41,44,50,59],process:[3,5,25,26,53],profil:[21,29,49],program:51,project:48,promot:2,proper:[5,60],propos:[6,26,36],protocol:[3,4,5,6,7,11,14,25,26,29,32,37,38,39,46,47,49,50,51,54,55,57],protocol_list:57,provid:[1,2,3,4,5,6,11,48,49,51,57],provis:2,proxi:3,pt:4,pta:49,purg:57,purpos:47,python3:54,python:[11,54,55],q:57,qdisc:[26,27,49],qinq:[2,26,28,29,49,50],qmx:4,qo:[47,49,59],queri:59,question:47,queue:[47,49],quickli:[7,51],quickstart:47,r1:[50,57],r2:[50,57],r3:57,r:57,railwai:2,rang:[2,7,26,32,43,49,50,57],rapid:[1,6,24,26],rate:[2,3,5,6,7,20,21,26,29,43,44,49,51,54,59],rather:57,raw1:[50,59],raw2:59,raw:[5,8,11,22,26,44,48,49,50,51],rcvd:50,rdi:[9,11],re:2,reachabl:[51,55,57],read:[50,51,57],real:[5,48,57],receiv:[2,3,4,5,6,7,26,35,36,44,49,50,51,53,54,57,58,59,60],recogn:5,recommend:[5,48,49],reconnect:[2,3,6,11,17,22,26,41,50,55],record:[5,25,26],recov:46,recv:57,ref:48,refer:[2,4,6,47,49,51,55,57],referenc:55,refresh:[7,26,32,50,57],region:2,regulatori:2,reject:[6,26,37],relat:[2,60],releas:[1,23,26,48,55],reliabl:[3,5,26,35],remain:57,remot:[1,2,3,6,11,14,20,26,29,49,50],remote_node_id:57,render:49,renew:1,replac:[11,49],repli:[1,50],report:[5,7,25,26,47,50,59],republish:57,request:[1,3,5,6,11,14,25,26,37,38,39,40,43,49,54,57],requir:[6,48,49],reserv:53,reset:[10,11,18],resolv:[1,26,30,31,43,49,50],resourc:51,respond:[6,49],respons:[6,11],restart:51,result:[3,5,11,14,25,26,50,54,59],retail:2,retri:[1,2,3,6,7,23,24,26,31,32,35,37,38,39,40,41,57],rev:48,rfc2661:[3,11,14,26,35],rfc3145:[11,14],rfc6396:57,rfc:[6,57],rib:55,right:5,ring:[26,27,49,51],robot:51,rollout:2,root:[48,50],rout:[47,49,50,51,55,57],router:[7,26,32,46,47,49,50,56,57],router_id:57,rpc:[11,50],rpf:[26,44,59],rs:54,rtbrick:[1,3,6,11,26,37,47,48,49,50,53],rule:55,run:[1,3,4,5,6,11,14,26,44,47,50,51,55,57,59],rx:[1,3,4,5,6,26,27,44,49,50,54,55,59],s1:[2,50],s2:2,s:[2,5,7,11,25,26,27,32,49,50,51,55,57],safi:50,same:[2,4,5,11,49,50,55],sbin:48,scale:[51,59],scapi:55,sccrq:[3,26,35],scenario:2,scratch:51,script:[11,54,55,59,60],search:5,sec:48,second:[1,5,6,7,11,17,22,23,24,25,26,31,32,37,38,39,40,41,43,44,50,51,53,55,57,59],secondari:[6,26,39],secret123:50,secret:[3,26,35,57],section:[2,5,11,21,26,29,49,59],see:[47,50,59],seed:57,segment:47,segment_id:57,select:[7,26,29,44,49,59],self:57,send:[2,3,5,6,7,11,14,21,25,26,32,42,44,46,47,48,49,50,51,54,55,57,58,59,60],sens:55,sent:[49,50,51],separ:[26,44,47,59],seq:[1,6,50,54,57,59],seqnum:57,sequenc:[5,7,50,54,57,59,60],sequenti:53,seri:55,serv:51,server:[1,2,3,6,35,39,47,50],servic:[2,5,6,26,41,47,57],session:[0,1,2,3,4,5,6,8,9,14,16,17,18,19,25,27,29,30,37,41,42,43,44,46,47,49,50,51,54],set:[3,5,6,9,11,21,25,26,28,29,30,35,37,48,50,51,53,55,59],setcap:48,setup:[7,26,43,47,50,54,59],sha:48,share:51,should:[5,48,49,50,53,59],show:[5,7,49,50,55,57,59,60],shown:[1,3,4,5,11,14,48,49,54,57,60],sid:[7,26,32,50,57],side:[50,51],signal:51,signatur:[5,25,26],signific:49,similar:54,simpl:[7,11,26,32,50,51,54,55,57,59],simul:51,singl:[2,3,5,11,25,26,47,51,59,60],size:[3,7,26,27,32,35,49,53,57],skip:[11,50],slot:[26,27,49,50],slow:[3,26,35],small:51,so:[2,47,51,56],sock:[1,3,4,5,6,11,14,50,55,57,59],sock_stream:57,socket:[3,11,49,50,51,57],socket_path:57,softwar:[47,49],solicit:1,some:[2,4,5,25,26,46,49,50,60],soo:7,soon:[55,59],sourc:[4,5,22,25,26,44,53,55,57,59],source1:[5,10,11],source2:[5,10,11],source3:[5,10,11],space:[47,51],special:[5,25,26],specif:[2,6,26,40],specifi:[5,25,26,42,50],speed:[11,14,51],spt:4,sr:[7,26,32,50,57],srgb:50,srgb_base:57,srgb_rang:57,stack:51,standalon:[4,50],standard:[48,55,57,60],start:[3,5,6,7,9,10,11,17,18,19,22,25,26,29,30,35,40,42,43,44,45,46,48,49,50,51,53,55,57,60],startup:[55,57],stat:[10,11,18,50,54],state:[1,2,3,5,6,21,26,47,49,50,57],statist:[4,7,11,15,17,18,50,51,54,59],statu:[1,3,4,5,6,11,26,40,50,57,59],stderr:57,steam:59,step:[26,29,49,50],stick:[3,26,35],still:50,stop:[5,6,9,10,11,17,18,19,26,43,44,45,50],store:[3,6,46,53,59],stream:[2,4,5,17,18,19,27,29,44,45,47,49,50,51,54,55,57,60],string:[26,29,49],sub:[3,4,53],subscrib:[1,47,51],subset:2,substitut:49,subtract:59,subtyp:57,successfulli:11,sudo:[1,3,4,5,6,11,14,48,49,50,55,57,59,60],suit:47,support:[1,3,4,5,6,11,26,35,44,47,49,50,51,55,56,57,59,60],sy:57,symbol:48,synchron:57,system:[7,26,32,34,49,50,51,53,55,57],t1:1,t2:1,t:[50,57,59],tabl:[47,51,55,59],tag:[2,4],take:5,target:48,task:57,tc:[26,44,59],tcp:[4,50,60],te:57,teardown:[7,8,11,13,22,26,32,43,55,57],telecommun:2,term:[2,49,51],termin:[6,11,14,17,26,41,50],test10:3,test11:3,test12:3,test13:3,test14:3,test15:3,test16:3,test17:3,test18:3,test19:3,test1:3,test20:3,test21:3,test22:3,test23:3,test24:3,test25:3,test26:3,test27:3,test28:3,test29:3,test2:3,test30:3,test3:3,test4:3,test5:3,test6:3,test7:3,test8:3,test9:3,test:[3,6,10,11,14,26,37,44,46,47,49,50,51,53,54,55,56,57,59,60],tester:[4,47],testprotocol:48,than:[2,5,49,55,57,59],thei:[2,49,50],them:[50,57],therefor:[5,26,43,49,50,55,59],thi:[1,2,3,5,6,7,11,14,17,23,24,25,26,29,37,38,39,44,46,47,48,49,50,51,53,55,57,59,60],third:[26,27,29,48,49],those:[2,6,7,21,26,44,49,50,54,55,57,59,60],thousand:[47,51],thread:[5,26,44,49,55],three:[2,5,25,26,49,51,57],threshold:[5,25,26],through:[50,51],throughput:[21,26,49],thu:2,time:[1,5,6,7,22,26,32,41,47,48,50,51,54,55,57,60],timeout:[1,2,3,6,23,24,26,31,37,38,39,40,41,54],timer:[51,57,60],timestamp:[49,57,59],tlv:57,todai:[4,49],took:[7,59],tool:[7,11,14,50,55,57],top:50,topic:50,topolog:[47,50],tos:[1,3,5,23,25,26,35,59],total:[1,6,48,50,54],tr:[2,49,51],track:47,traffic:[0,1,2,3,4,6,17,18,19,22,23,25,27,35,41,42,44,45,47,49,50,51,52,54,55,58,60],transmit:[5,51],transpar:2,tree:[21,26],tri:46,trigger:[2,55],troubleshoot:[47,48],trough:49,ttl:[26,44,59],tunnel:[3,11,14,26,35],two:[2,49,50,51,55,57,58,59],tx:[1,3,4,5,6,7,26,27,32,44,49,50,53,54,55,57,59],txqueuelen:49,type:[1,2,4,5,6,7,20,21,26,29,32,44,49,50,51,53,55,57,59],typic:[5,55],u:[2,11],udp:4,under:[3,46,47,49,55,57],unicast:[7,50,55,59],uniq:[2,6,26,41],uniqu:53,unit:[6,26,36],unix:11,unknown:54,unlabel:[26,42],unset:[9,11],untag:[2,26,29,30],until:[7,26,30,49,59],up:[2,3,5,6,20,21,26,29,49,50,51,57,58,59],updat:[8,11,13,14,22,26,50],update1:55,update2:55,upstream:[2,4,20,21,26,44,53,59],us:[1,2,3,4,5,6,7,11,14,25,26,35,44,47,48,49,50,51,53,54,55,56,57,59,60],usabl:2,usag:[26,29,49,55,57],user10:11,user1:[6,50],user:[2,6,11,26,37,47,48,50,51],usernam:[3,6,11,26,29,37,49,50],userspac:51,usr:[48,54],utf:57,v1:48,v6:2,v:[2,48,49,51,57],valid:[4,53,55,57],valu:[6,11,21,26,29,37,49],variabl:[49,57],variou:[47,56,59],vector:55,vendor:[3,26,40,47],veri:51,verif:[47,51,59],verifi:[1,2,5,6,7,26,45,47,50,51,54,59,60],version:[5,25,26,29,48,49,50,57],veth1:50,veth:50,via:[3,5,6,26,36,49,51,55],view:[5,25,26,50],virtual:[47,50,51,57],vlan:[1,2,3,6,11,23,26,28,29,30,41,43,44,46,49,50,51,53,59,60],voic:59,volum:59,w:[55,57],wa:[2,6,11,51,57],wai:[1,5,24,26,48,57],wait:[5,26,30,43,44,49,59],walk:50,warn:[11,55],we:[11,50,59],well:[2,5],were:2,wget:48,what:50,where:[3,7,26,35,44,49,50,51,59,60],which:[2,4,5,11,14,26,43,47,48,49,50,51,53,54,55,57,59,60],who:2,whole:[53,57],wholesal:2,window:[3,7,26,32,35,50,51,57,60],withdraw:[50,55],within:[5,25,26,46,57],without:[2,5,48,49,50,51,59],word:53,work:[4,5,7,50,59],world:5,would:[7,59],write:[51,55,57],written:57,wrong:[54,59],x:[57,60],y:48,you:[2,11,47,49,50,56,57,60],your:[46,47,49,50,55],youtub:47,z:57,zap:[10,11,25,26],zero:[3,26,35,49,59],zip:48},titles:["Access Protocols","IPoE","L2BSA","L2TP","Legal Interception (LI)","Multicast and IPTV","PPPoE","Session Traffic","<no title>","<no title>","<no title>","API/CLI","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","Configuration","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","<no title>","Frequently Asked Questions","BNG Blaster","Installation","Interfaces","Quickstart Guide","Architecture","Reference","BNG Blaster Traffic","Reports","BGP","Routing Protocols","ISIS","MPLS","Traffic Streams","Troubleshooting"],titleterms:{"static":1,a10nsp:[26,49],access:[0,26,49],address:1,adjac:57,api:11,architectur:51,ask:46,authent:[6,26],bgp:[11,26,50,55],blaster:[11,47,48,53],bng:[11,47,48,53],build:48,cfm:11,cli:11,command:[1,3,6,57,59],configur:[3,6,7,26,55,57,59],connect:26,contact:47,content:47,copyright:47,data:3,databas:57,decod:53,depend:48,dhcp:[1,26],dhcpv4:1,dhcpv6:[1,26],doubl:49,extens:6,extern:26,fast:53,file:[55,57,59],flood:57,flow:53,frequent:46,from:[48,57],gener:[5,55],guid:50,header:[3,53],identifi:53,igmp:[11,26],instal:48,intercept:[4,11],interfac:[11,26,49],ip6cp:[6,26],ipcp:[6,26],ipo:[1,26],iptv:5,ipv4:[6,26],ipv6:[6,26],isi:[11,26,50,57],join:5,json:54,l2bsa:2,l2tp:[3,11],l2tpv2:26,lcp:[6,26],leav:5,legal:[4,11],li:[4,11],licens:47,limit:[5,55,57],line:26,ln:26,log:60,lsp:57,lspgen:57,magic:53,manual:5,mpl:58,mrt:57,multicast:[5,53],nanosecond:53,network:[26,49],number:53,output:54,pcap:60,plugin:60,ppp:[6,11,26],pppoe:[6,26,50],profil:26,protocol:[0,56],question:46,quickstart:50,random:57,raw:[55,59],refer:52,report:54,rfc5515:3,rout:56,run:48,scapi:57,send:53,sequenc:53,server:26,session:[7,11,26,53,55,59],set:49,signatur:53,singl:49,sourc:[47,48],standard:54,start:59,stop:59,stream:[11,26,59],tag:49,test:[5,48],thread:59,timestamp:53,topolog:57,traffic:[5,7,11,26,53,59],tripl:49,troubleshoot:60,ubuntu:48,unicast:53,unit:48,untag:49,updat:[55,57],v6:1,variabl:3,vendor:6,verif:7,via:57,wireshark:60,zap:5}}) \ No newline at end of file From 41e6a42bb1033230ec259f14b6ad69d66ba9b9c6 Mon Sep 17 00:00:00 2001 From: Christian Giese Date: Thu, 21 Apr 2022 14:40:51 +0200 Subject: [PATCH 06/10] fix compiler warning #80 --- code/bngblaster/src/bbl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/bngblaster/src/bbl.h b/code/bngblaster/src/bbl.h index 92e1507e..30372f88 100644 --- a/code/bngblaster/src/bbl.h +++ b/code/bngblaster/src/bbl.h @@ -39,8 +39,8 @@ #include "bgp/bgp.h" #include "isis/isis.h" -WINDOW *log_win; -WINDOW *stats_win; +extern WINDOW *log_win; +extern WINDOW *stats_win; void enable_disable_traffic(bbl_ctx_s *ctx, bool status); From 08c5509776e857e66ef9a5f9a0b016a770732e64 Mon Sep 17 00:00:00 2001 From: Hannes Gredler Date: Tue, 19 Apr 2022 15:06:43 +0000 Subject: [PATCH 07/10] add support for dynamic LSP refreshes over Ctrl socket --- code/common/src/timer.c | 18 ++++-- code/lspgen/src/lspgen.c | 28 +++++++++- code/lspgen/src/lspgen_ctrl.c | 40 ++++++++----- code/lspgen/src/lspgen_lsdb.c | 14 ++++- code/lspgen/src/lspgen_lsdb.h | 2 + code/lspgen/src/lspgen_packet.c | 99 ++++++++++++++++++++++++++------- 6 files changed, 160 insertions(+), 41 deletions(-) diff --git a/code/common/src/timer.c b/code/common/src/timer.c index 7d03b7c3..23ccad1e 100644 --- a/code/common/src/timer.c +++ b/code/common/src/timer.c @@ -290,8 +290,10 @@ timer_del_internal (timer_s *timer) /* Add to GC list */ CIRCLEQ_INSERT_TAIL(&timer_root->timer_gc_qhead, timer, timer_qnode); timer_root->gc++; - *timer->ptimer = NULL; /* delete references to this timer */ - timer->ptimer= NULL; + if (timer->ptimer) { + *timer->ptimer = NULL; /* delete references to this timer */ + timer->ptimer= NULL; + } } } @@ -565,8 +567,14 @@ timer_walk(timer_root_s *root) LOG(TIMER_DETAIL, " Sleep %lu.%06lus\n", sleep.tv_sec, sleep.tv_nsec / 1000); res = nanosleep(&sleep, &rem); if (res == -1) { - LOG(TIMER, " nanosleep(): error %s (%d)\n", strerror(errno), errno); - } + switch (errno) { + case EINTR: /* Ctrl-C */ + break; + default: + LOG(TIMER, " nanosleep(): error %s (%d)\n", strerror(errno), errno); + break; + } + } } } @@ -609,4 +617,4 @@ timer_flush_root (timer_root_s *timer_root) timer_root->gc--; free(timer); } -} \ No newline at end of file +} diff --git a/code/lspgen/src/lspgen.c b/code/lspgen/src/lspgen.c index 9903d552..e87d0475 100644 --- a/code/lspgen/src/lspgen.c +++ b/code/lspgen/src/lspgen.c @@ -13,6 +13,11 @@ #include "lspgen_lsdb.h" #include "lspgen_isis.h" +/* + * Globals + */ +bool loop_running = true; + /* * Prototypes */ @@ -705,6 +710,20 @@ lspgen_add_connector(struct lsdb_ctx_ *ctx, char *conn_src) LOG(NORMAL, "Add connector to 0x%llx\n", node_id); } +void +lspgen_sig_handler (int signum) +{ + LOG(NORMAL, "Received %s signal\n", sys_siglist[signum]); + + switch (signum) { + case SIGINT: + loop_running = false; /* Get out of event loop */ + break; + default: + break; + } +} + int main(int argc, char *argv[]) { @@ -956,7 +975,14 @@ main(int argc, char *argv[]) */ signal(SIGPIPE, SIG_IGN); - timer_walk(&ctx->timer_root); + /* + * Keep running until Ctrl-C is hit. + */ + signal(SIGINT, lspgen_sig_handler); + + while (loop_running) { + timer_walk(&ctx->timer_root); + } } /* diff --git a/code/lspgen/src/lspgen_ctrl.c b/code/lspgen/src/lspgen_ctrl.c index a93cbe04..ef0b2267 100644 --- a/code/lspgen/src/lspgen_ctrl.c +++ b/code/lspgen/src/lspgen_ctrl.c @@ -38,6 +38,7 @@ lspgen_enqueue_node_packets(lsdb_ctx_t *ctx, lsdb_node_t *node) if (packet->on_change_list) { CIRCLEQ_REMOVE(&ctx->packet_change_qhead, packet, packet_change_qnode); + ctx->ctrl_stats.packets_queued--; } CIRCLEQ_INSERT_TAIL(&ctx->packet_change_qhead, packet, packet_change_qnode); packet->on_change_list = true; @@ -109,7 +110,14 @@ lspgen_write_ctrl_buffer(lsdb_ctx_t *ctx) timer_del(ctx->ctrl_socket_write_timer); timer_add_periodic(&ctx->timer_root, &ctx->ctrl_socket_connect_timer, "connect", 1, 0, ctx, &lspgen_ctrl_connect_cb); - return; + + /* + * Requeue all packets to the change list. + */ + lspgen_enqueue_all_packets(ctx); + LOG(ERROR, "Requeued %u packets to %s\n", ctx->ctrl_stats.packets_queued, ctx->ctrl_socket_path); + + return; default: LOG(ERROR, "write(): error %s (%d)\n", strerror(errno), errno); break; @@ -191,6 +199,11 @@ lspgen_ctrl_close_cb(timer_s *timer) */ timer_del(ctx->ctrl_socket_write_timer); + /* + * Reset statistics. + */ + memset(&ctx->ctrl_stats, 0, sizeof(ctx->ctrl_stats)); + /* * Close the connection. */ @@ -236,8 +249,8 @@ lspgen_ctrl_write_cb(timer_s *timer) buffer_left = ctx->ctrl_io_buf.size - ctx->ctrl_io_buf.idx; /* - * Hexdumping doubles the data plus 4 bytes for two quotation marks, comma and whitespace. - */ + * Hexdumping doubles the data plus 4 bytes for two quotation marks, comma and whitespace. + */ if (buffer_left < ((packet->buf.idx * 2) + 4)) { /* no space, release buffer and try later */ @@ -252,10 +265,11 @@ lspgen_ctrl_write_cb(timer_s *timer) lspgen_ctrl_encode_packet(ctx, packet); /* - * Packet got encoded, take packet off the change queue. - */ + * Packet got encoded, take packet off the change queue. + */ CIRCLEQ_REMOVE(&ctx->packet_change_qhead, packet, packet_change_qnode); packet->on_change_list = false; + ctx->ctrl_stats.packets_queued--; } json_footer = "]\n}\n}\n"; @@ -283,6 +297,11 @@ lspgen_ctrl_connect_cb(timer_s *timer) ctx = timer->data; + if (ctx->ctrl_socket_close_timer) { + LOG(CTRL, "Close timer to %s still running, retry later\n", ctx->ctrl_socket_path); + return; + } + memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, ctx->ctrl_socket_path, sizeof(addr.sun_path)-1); @@ -305,23 +324,14 @@ lspgen_ctrl_connect_cb(timer_s *timer) ctx->ctrl_io_buf.start_idx = 0; ctx->ctrl_io_buf.idx = 0; - /* - * Reset statistics. - */ - memset(&ctx->ctrl_stats, 0, sizeof(ctx->ctrl_stats)); - /* * Write header before the first packet. */ ctx->ctrl_packet_first = true; - /* - * Enqueue all packets to the change list, which will be worked in the write CB. - */ - lspgen_enqueue_all_packets(ctx); LOG(NORMAL, "Enqueued %u packets to %s\n", ctx->ctrl_stats.packets_queued, ctx->ctrl_socket_path); return; } LOG(ERROR, "Error connecting to %s, %s\n", ctx->ctrl_socket_path, strerror(errno)); -} \ No newline at end of file +} diff --git a/code/lspgen/src/lspgen_lsdb.c b/code/lspgen/src/lspgen_lsdb.c index 876ae20f..45ea3f2a 100644 --- a/code/lspgen/src/lspgen_lsdb.c +++ b/code/lspgen/src/lspgen_lsdb.c @@ -249,6 +249,7 @@ lsdb_free_packet(__attribute__((unused))void *key, void *datum) if (packet->on_change_list) { CIRCLEQ_REMOVE(&ctx->packet_change_qhead, packet, packet_change_qnode); + ctx->ctrl_stats.packets_queued--; } free(datum); @@ -384,6 +385,12 @@ lsdb_delete_node(struct lsdb_ctx_ *ctx, struct lsdb_node_ *node_template) lsdb_delete_link(ctx, link); } + /* + * Stop refresh timer. + */ + timer_del(node->refresh_timer); + node->refresh_timer->ptimer = NULL; /* Reset field such that timer library does not late ref */ + dict_remove(ctx->node_dict, &node_template->key); free(node); } @@ -443,6 +450,11 @@ lsdb_add_node(struct lsdb_ctx_ *ctx, struct lsdb_node_ *node_template) ctx->nodecount++; node->ctx = ctx; + /* + * Default sequence number to inherit from context. + */ + node->sequence = ctx->sequence; + LOG(LSDB, " Add node %s (%s) node-ptr %p\n", lsdb_format_node(node), lsdb_format_node_id(node->key.node_id), (void *)node); @@ -921,4 +933,4 @@ lsdb_dump_graphviz(lsdb_ctx_t *ctx) fprintf(graphviz, "}\n"); fclose(graphviz); LOG(NORMAL, "Wrote %u nodes into graphviz file %s\n", nodes, filename); -} \ No newline at end of file +} diff --git a/code/lspgen/src/lspgen_lsdb.h b/code/lspgen/src/lspgen_lsdb.h index 30332f72..3d1575f7 100644 --- a/code/lspgen/src/lspgen_lsdb.h +++ b/code/lspgen/src/lspgen_lsdb.h @@ -129,6 +129,8 @@ typedef struct lsdb_node_ { uint32_t sequence; uint16_t lsp_lifetime; + timer_s *refresh_timer; + /* * List of links */ diff --git a/code/lspgen/src/lspgen_packet.c b/code/lspgen/src/lspgen_packet.c index ab26892e..ec6617d3 100644 --- a/code/lspgen/src/lspgen_packet.c +++ b/code/lspgen/src/lspgen_packet.c @@ -12,6 +12,11 @@ #include "lspgen_isis.h" #include "hmac_md5.h" +/* + * Prototypes. + */ +void lspgen_gen_packet_node(lsdb_node_t *); + void lspgen_gen_packet_header(lsdb_ctx_t *ctx, lsdb_node_t *node, lsdb_packet_t *packet) { @@ -52,13 +57,7 @@ lspgen_gen_packet_header(lsdb_ctx_t *ctx, lsdb_node_t *node, lsdb_packet_t *pack push_be_uint(&packet->buf, 1, 0); /* PSN # */ push_be_uint(&packet->buf, 1, packet->key.id); /* Fragment # */ - /* sequence */ - if (node->sequence) { - push_be_uint(&packet->buf, 4, node->sequence); - } else { - push_be_uint(&packet->buf, 4, ctx->sequence); - } - + push_be_uint(&packet->buf, 4, node->sequence); /* Sequence */ push_be_uint(&packet->buf, 2, 0); /* Checksum */ lsattr = 0; @@ -517,6 +516,7 @@ lspgen_add_packet(lsdb_ctx_t *ctx, lsdb_node_t *node, uint32_t id) */ CIRCLEQ_INSERT_TAIL(&ctx->packet_change_qhead, packet, packet_change_qnode); packet->on_change_list = true; + ctx->ctrl_stats.packets_queued++; /* * Parent @@ -534,22 +534,73 @@ lspgen_add_packet(lsdb_ctx_t *ctx, lsdb_node_t *node, uint32_t id) return *p; } +/* + * Refresh timer has expired. Bump the sequence number of the node and rebuild all fragments. + */ +void +lspgen_refresh_cb (timer_s *timer) +{ + struct lsdb_node_ *node; + struct lsdb_ctx_ *ctx; + + node = timer->data; + ctx = node->ctx; + + node->sequence++; + LOG(LSDB, "Refresh LSP for %s, sequence 0x%0x\n", lsdb_format_node(node), node->sequence); + + lspgen_gen_packet_node(node); + + /* + * Set up a ctrl session to drain the refreshed LSPs. + */ + if (ctx->ctrl_socket_path) { + timer_add_periodic(&ctx->timer_root, &ctx->ctrl_socket_connect_timer, + "connect", 1, 0, ctx, &lspgen_ctrl_connect_cb); + } +} + +/* + * The refresh interval is lsp_lifetime minus 300 seconds. + * Ensure that it does not go below 60 secs. + */ +unsigned int +lspgen_refresh_interval (lsdb_ctx_t *ctx) +{ + int refresh; + + refresh = ctx->lsp_lifetime - 300; + if (refresh < 60) { + refresh = 60; + } + + return refresh; +} + /* * Walk the graph of the LSDB and serialize packets. */ void -lspgen_gen_packet_node(lsdb_ctx_t *ctx, lsdb_node_t *node) +lspgen_gen_packet_node(lsdb_node_t *node) { + lsdb_ctx_t *ctx; struct lsdb_packet_ *packet; struct lsdb_attr_ *attr; dict_itor *itor; uint32_t id, last_attr, tlv_start_idx, min_len; + ctx = node->ctx; + packet = NULL; id = 0; last_attr = 0; tlv_start_idx = 0; + /* + * Flush old serialized packets. + */ + dict_clear(node->packet_dict, lsdb_free_packet); + if (!node->attr_dict) { /* * No attributes. This is a purge. @@ -576,6 +627,14 @@ lspgen_gen_packet_node(lsdb_ctx_t *ctx, lsdb_node_t *node) return; } + /* + * Start refresh timer. + */ + if (ctx->ctrl_socket_path) { + timer_add_periodic(&ctx->timer_root, &node->refresh_timer, "refresh", + lspgen_refresh_interval(ctx), 0, node, &lspgen_refresh_cb); + } + do { attr = *dict_itor_datum(itor); @@ -662,22 +721,24 @@ lspgen_gen_packet(lsdb_ctx_t *ctx) do { node = *dict_itor_datum(itor); - if (node->packet_dict) { - /* - * Flush old serialized packets. - */ - dict_free(node->packet_dict, lsdb_free_packet); - } else { - node->packet_dict = hb_dict_new((dict_compare_func)lsdb_compare_packet); - } + /* + * Init per-packet tree for this node. + */ + if (!node->packet_dict) { + node->packet_dict = hb_dict_new((dict_compare_func)lsdb_compare_packet); + } - /* + /* * Generate the link-state packets for this node. */ - lspgen_gen_packet_node(ctx, node); + lspgen_gen_packet_node(node); } while (dict_itor_next(itor)); dict_itor_free(itor); -} + /* + * Distribute expiration of refresh timer over time. + */ + timer_smear_bucket(&ctx->timer_root, lspgen_refresh_interval(ctx), 0); +} From 506cd55427073b2e379e2fe0f63f12ff1570ba47 Mon Sep 17 00:00:00 2001 From: Hannes Gredler Date: Tue, 19 Apr 2022 16:46:24 +0000 Subject: [PATCH 08/10] Add robustness fixes for high-frequency LSP refreshes --- code/lspgen/src/lspgen_ctrl.c | 18 ++++++++++++++++++ code/lspgen/src/lspgen_packet.c | 7 +++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/code/lspgen/src/lspgen_ctrl.c b/code/lspgen/src/lspgen_ctrl.c index ef0b2267..9c454464 100644 --- a/code/lspgen/src/lspgen_ctrl.c +++ b/code/lspgen/src/lspgen_ctrl.c @@ -211,6 +211,15 @@ lspgen_ctrl_close_cb(timer_s *timer) LOG(NORMAL, "Closing connection to %s\n", ctx->ctrl_socket_path); } +bool +lspgen_buffer_is_empty (lsdb_ctx_t *ctx) { + if (ctx->ctrl_io_buf.idx - ctx->ctrl_io_buf.start_idx) { + return false; + } else { + return true; + } +} + void lspgen_ctrl_write_cb(timer_s *timer) { @@ -276,6 +285,15 @@ lspgen_ctrl_write_cb(timer_s *timer) push_data(&ctx->ctrl_io_buf, (uint8_t *)json_footer, strlen(json_footer)); lspgen_write_ctrl_buffer(ctx); + /* + * Optimization. + * If the buffer has been fully drained then kill the write timer right away, + * else keep it running. It will be killed once the close timer fires. + */ + if (lspgen_buffer_is_empty(ctx)) { + timer_del(ctx->ctrl_socket_write_timer); + } + LOG(NORMAL, "Sent %u packets, %u bytes to %s\n", ctx->ctrl_stats.packets_sent, ctx->ctrl_stats.octets_sent, diff --git a/code/lspgen/src/lspgen_packet.c b/code/lspgen/src/lspgen_packet.c index ec6617d3..88d8d9bf 100644 --- a/code/lspgen/src/lspgen_packet.c +++ b/code/lspgen/src/lspgen_packet.c @@ -555,8 +555,11 @@ lspgen_refresh_cb (timer_s *timer) * Set up a ctrl session to drain the refreshed LSPs. */ if (ctx->ctrl_socket_path) { - timer_add_periodic(&ctx->timer_root, &ctx->ctrl_socket_connect_timer, - "connect", 1, 0, ctx, &lspgen_ctrl_connect_cb); + + if (!ctx->ctrl_socket_connect_timer) { + timer_add_periodic(&ctx->timer_root, &ctx->ctrl_socket_connect_timer, + "connect", 1, 0, ctx, &lspgen_ctrl_connect_cb); + } } } From f114fffd425129d7d719f87215e44d37c18f3ff0 Mon Sep 17 00:00:00 2001 From: Hannes Gredler Date: Tue, 19 Apr 2022 17:05:22 +0000 Subject: [PATCH 09/10] revert to statistics reset once the connection opens. Do not reset the queued counter --- code/lspgen/src/lspgen_ctrl.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/code/lspgen/src/lspgen_ctrl.c b/code/lspgen/src/lspgen_ctrl.c index 9c454464..b92956fe 100644 --- a/code/lspgen/src/lspgen_ctrl.c +++ b/code/lspgen/src/lspgen_ctrl.c @@ -199,11 +199,6 @@ lspgen_ctrl_close_cb(timer_s *timer) */ timer_del(ctx->ctrl_socket_write_timer); - /* - * Reset statistics. - */ - memset(&ctx->ctrl_stats, 0, sizeof(ctx->ctrl_stats)); - /* * Close the connection. */ @@ -342,6 +337,12 @@ lspgen_ctrl_connect_cb(timer_s *timer) ctx->ctrl_io_buf.start_idx = 0; ctx->ctrl_io_buf.idx = 0; + /* + * Reset statistics. + */ + ctx->ctrl_stats.octets_sent = 0; + ctx->ctrl_stats.packets_sent = 0; + /* * Write header before the first packet. */ From 439073448090dfff8fb617774877c7db7850d151 Mon Sep 17 00:00:00 2001 From: Hannes Gredler Date: Tue, 19 Apr 2022 20:59:03 +0000 Subject: [PATCH 10/10] fix valgrind socket leak and invalid write errors --- code/lspgen/src/lspgen_ctrl.c | 10 +++++++++- code/lspgen/src/lspgen_lsdb.c | 9 +++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/code/lspgen/src/lspgen_ctrl.c b/code/lspgen/src/lspgen_ctrl.c index b92956fe..9baca9bc 100644 --- a/code/lspgen/src/lspgen_ctrl.c +++ b/code/lspgen/src/lspgen_ctrl.c @@ -202,7 +202,10 @@ lspgen_ctrl_close_cb(timer_s *timer) /* * Close the connection. */ - close(ctx->ctrl_socket_sockfd); + if (ctx->ctrl_socket_sockfd > 0) { + close(ctx->ctrl_socket_sockfd); + ctx->ctrl_socket_sockfd = 0; + } LOG(NORMAL, "Closing connection to %s\n", ctx->ctrl_socket_path); } @@ -318,6 +321,9 @@ lspgen_ctrl_connect_cb(timer_s *timer) memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, ctx->ctrl_socket_path, sizeof(addr.sun_path)-1); + if (ctx->ctrl_socket_sockfd != 0) { + LOG(CTRL, "CTRL socket to %s still unfreed\n", ctx->ctrl_socket_path); + } ctx->ctrl_socket_sockfd = socket(AF_UNIX, SOCK_STREAM, 0); res = connect(ctx->ctrl_socket_sockfd, (struct sockaddr *)&addr, SUN_LEN(&addr)); @@ -352,5 +358,7 @@ lspgen_ctrl_connect_cb(timer_s *timer) return; } + close(ctx->ctrl_socket_sockfd); + ctx->ctrl_socket_sockfd = 0; LOG(ERROR, "Error connecting to %s, %s\n", ctx->ctrl_socket_path, strerror(errno)); } diff --git a/code/lspgen/src/lspgen_lsdb.c b/code/lspgen/src/lspgen_lsdb.c index 45ea3f2a..a7bf0210 100644 --- a/code/lspgen/src/lspgen_lsdb.c +++ b/code/lspgen/src/lspgen_lsdb.c @@ -814,13 +814,13 @@ void lsdb_delete_ctx(struct lsdb_ctx_ *ctx) { + timer_flush_root(&ctx->timer_root); + dict_free(ctx->link_dict, lsdb_free_link); ctx->link_dict = NULL; dict_free(ctx->node_dict, lsdb_free_node); ctx->node_dict = NULL; - timer_flush_root(&ctx->timer_root); - lsdb_free_name(&ctx->instance_name); lsdb_free_name(&ctx->protocol_name); lsdb_free_name(&ctx->topology_name); @@ -837,6 +837,11 @@ lsdb_delete_ctx(struct lsdb_ctx_ *ctx) ctx->ctrl_io_buf.data = NULL; } + if (ctx->ctrl_socket_sockfd > 0) { + close(ctx->ctrl_socket_sockfd); + ctx->ctrl_socket_sockfd = 0; + } + free(ctx); }