Skip to content

Commit

Permalink
update training
Browse files Browse the repository at this point in the history
  • Loading branch information
GIC-de committed Nov 14, 2024
1 parent cae9944 commit 0b0a0b5
Show file tree
Hide file tree
Showing 15 changed files with 352 additions and 37 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
docsrc/build
tmp
docsrc/build

*.DS_Store
File renamed without changes.
16 changes: 13 additions & 3 deletions 03_routing/04_bgp/config.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
{
"__comment__": "E03_04_BGP",
"interfaces": {
"links": [
{
"interface": "veth2",
"rx-threads": 2
},
{
"interface": "veth4",
"tx-threads": 2
}
],
"network": [
{
"__comment__": "veth2:10 to RBFS hostif-0/0/2",
Expand Down Expand Up @@ -29,7 +39,7 @@
{
"local-ipv4-address": "172.16.2.2",
"peer-ipv4-address": "172.16.2.1",
"network-interface": "veth2.10",
"network-interface": "veth2:10",
"raw-update-file": "update.bgp",
"local-as": 65001,
"peer-as": 65001,
Expand All @@ -38,7 +48,7 @@
{
"local-ipv4-address": "172.16.3.2",
"peer-ipv4-address": "172.16.3.1",
"network-interface": "veth3.10",
"network-interface": "veth3:10",
"raw-update-file": "update.bgp",
"local-as": 65001,
"peer-as": 65001,
Expand All @@ -47,7 +57,7 @@
{
"local-ipv4-address": "172.16.4.2",
"peer-ipv4-address": "172.16.4.1",
"network-interface": "veth4.10",
"network-interface": "veth4:10",
"local-as": 65001,
"peer-as": 65001,
"family": [ "ipv4-unicast", "ipv6-unicast" ]
Expand Down
53 changes: 50 additions & 3 deletions docs/_sources/access.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,24 @@ https://rtbrick.github.io/bngblaster/access/pppoe.html
bngblaster -S run.sock -J report.json -j sessions -C config.json -I -c 1
The parameter ``-c 1`` defines how many sessions you would like to start.
You can increase this number to setup more sessions.
.. note::

The parameter ``-c 1`` defines how many sessions you would like to start.
You can increase this number to setup more sessions.


.. code-block:: none
# > RBFS (op)
show subscriber detail
show subscriber <subscriber-id> detail
show subscriber count
show pppoe session detail
show pppoe session <subscriber-id> detail
In the other shell, use the following commands to interact
with the active BNG Blaster instance.

.. code-block:: none
Expand All @@ -51,6 +60,19 @@ Check RADIUS logs.
Checking the Grafana dashboard, you should see an increase in the subscriber count.

After the test has stopped, use the following RBFS commands to investigate why subscribers were terminated.
Start with these commands if a subscriber fails to connect or disconnects unexpectedly.

.. code-block:: none
# > RBFS (op)
show subscriber history
A list of all termination reasons can be found here:
https://documents.rtbrick.com/techdocs/current/radiusservices/radius_control.html#radius-terminate-codes


02.02. L2TP
-----------

Expand All @@ -68,6 +90,16 @@ https://rtbrick.github.io/bngblaster/access/l2tp.html
# > RBFS (op)
show l2tp tunnel sessions
show l2tp tunnel <Local TID>
After the test has stopped, you can use the following RBFS commands to investigate why the tunnel and session were closed.

.. code-block:: none
# > RBFS (op)
show l2tp tunnel history
show subscriber history filter type L2TP
02.03. IPoE (DHCP)
Expand All @@ -86,6 +118,8 @@ https://rtbrick.github.io/bngblaster/access/ipoe.html
02.04. MIX
----------

This test generates a mix of PPPoE, L2TP, and IPoE (DHCP) subscribers.

.. code-block:: none
# > Linux
Expand All @@ -97,6 +131,14 @@ https://rtbrick.github.io/bngblaster/access/ipoe.html
02.05. HTTP
-----------

This test is designed to evaluate the BNG HTTP redirect service, a common feature in modern BNG deployments.

In this scenario, the BNG Blaster functions as both an HTTP client and server. Once a subscriber is established,
the BNG Blaster IPoE client initiates a TCP connection to the HTTP server. However, this connection is intercepted
and terminated by the BNG, which is controlled via RADIUS and responds with an HTTP 302 redirect.

https://rtbrick.github.io/bngblaster/http.html

.. code-block:: none
# > Linux
Expand All @@ -105,6 +147,8 @@ https://rtbrick.github.io/bngblaster/access/ipoe.html
bngblaster -S run.sock -C config.json -l http -c 1
In the other shell, use the following commands to interact with the active BNG Blaster instance.

.. code-block:: none
# > Linux
Expand All @@ -115,15 +159,18 @@ https://rtbrick.github.io/bngblaster/access/ipoe.html
02.06. LAG
----------

https://rtbrick.github.io/bngblaster/interfaces.html#link-aggregation-lag

.. code-block:: none
# > Linux
cd ~/bngblaster-training/02_access/06_lag
# Start BNG Blaster
bngblaster -S run.sock -J report.json -j sessions -C config.json -I -l dhcp -l ip -c 3
.. note::

You may see a warning like this, which can be ignored for now.
You may see a warning like those below, which can be ignored.

.. code-block:: none
Expand Down
13 changes: 9 additions & 4 deletions docs/_sources/basic.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ Before starting the tests, use the RBFS BNG CLI to verify that all physical inte
The `lag-1` interface is expected to be in an operational down state if the BNG Blaster LAG test is not running.


Now, enter the following command to start the BNG Blaster. It’s recommended to open the terminal in full-screen mode to ensure the complete ncurses UI fits on the screen.
Now, enter the following command to start the BNG Blaster. It’s recommended to open the terminal in full-screen mode
to ensure the complete ncurses UI fits on the screen.

.. code-block:: none
Expand All @@ -37,7 +38,8 @@ In the ncurses UI, press ``F2`` to toggle network interface statistics, or use `

In the next step, we’ll interact with the BNG Blaster CLI (https://rtbrick.github.io/bngblaster/api/index.html).

Open another shell session and enter the following commands.
In the other shell, use the following commands to interact
with the active BNG Blaster instance.

.. code-block:: none
Expand Down Expand Up @@ -138,7 +140,9 @@ Delete the BNG Blaster instance.

https://rtbrick.github.io/bngblaster/troubleshooting.html#pcap

In this exercise, we will start the BNG Blaster with `-P test.pcap` to generate a PCAP file that includes all traffic sent and received by the BNG Blaster. Normally, stream traffic would be excluded, but we've set `capture-include-streams` to `true` in the configuration so that stream traffic is also captured.
In this exercise, we will start the BNG Blaster with `-P test.pcap` to generate a PCAP file that includes
all traffic sent and received by the BNG Blaster. Normally, stream traffic would be excluded, but we've
set `capture-include-streams` to `true` in the configuration so that stream traffic is also captured.

.. code-block:: none
Expand All @@ -148,7 +152,8 @@ In this exercise, we will start the BNG Blaster with `-P test.pcap` to generate
bngblaster -I -S run.sock -C config.json -l debug -P test.pcap
Wait for all flows to be verified (indicated by the log message `ALL STREAM TRAFFIC FLOWS VERIFIED`), then stop the process with `Ctrl+C`. Once the BNG Blaster has stopped, examine the PCAP file with tshark.
Wait for all flows to be verified (indicated by the log message `ALL STREAM TRAFFIC FLOWS VERIFIED`),
then stop the process with `Ctrl+C`. Once the BNG Blaster has stopped, examine the PCAP file with tshark.

.. code-block:: none
Expand Down
3 changes: 2 additions & 1 deletion docs/_sources/challenge.rst.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
Challenge
=========
=========

78 changes: 73 additions & 5 deletions docs/_sources/routing.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ https://rtbrick.github.io/bngblaster/routing/isis.html
bngblaster -S run.sock -C config.json -l isis
In the other shell, use the following commands to interact
with the active BNG Blaster instance.

.. code-block:: none
# > Linux
Expand Down Expand Up @@ -76,6 +79,9 @@ https://rtbrick.github.io/bngblaster/routing/ospf.html
bngblaster -S run.sock -C config.json -l ospf
In the other shell, use the following commands to interact
with the active BNG Blaster instance.

.. code-block:: none
# > Linux
Expand Down Expand Up @@ -117,6 +123,9 @@ https://rtbrick.github.io/bngblaster/routing/ldp.html
bngblaster -S run.sock -C config.json -l ldp
In the other shell, use the following commands to interact
with the active BNG Blaster instance.

.. code-block:: none
# > Linux
Expand All @@ -135,8 +144,9 @@ https://rtbrick.github.io/bngblaster/routing/ldp.html
bngblaster-cli run.sock stream-info flow-id 1
bngblaster-cli run.sock stream-info flow-id 2
Use ``jq`` to check received labels:
The BNG Blaster monitors each traffic flow, tracking up to two receive labels
along with the received EXP and TTL values. Use ``jq`` to check if the received
labels match with those advertised via LDP:

.. code-block:: none
Expand All @@ -151,7 +161,65 @@ Use ``jq`` to check received labels:

https://rtbrick.github.io/bngblaster/routing/bgp.html

03.05. Convergence
------------------
.. code-block:: none
# > Linux
cd ~/bngblaster-training/03_routing/04_bgp
# Generate BGP updates with corresponding streams
bgpupdate -f update.bgp -a 65001 -l 100 -n 172.16.2.2 -N 1 -p 10.1.0.0/24 -P 100000 --end-of-rib -s streams.json --stream-interface veth4:10 --stream-pps 0.1
# Start BNG Blaster
bngblaster -S run.sock -C config.json -T streams.json -l bgp -I
.. note::

The configuration shows asymmetric thread allocation, with two TX threads for the traffic source interface
and two RX threads for the traffic destination interface. All other interfaces and traffic directions are
handled by the main thread.


In the other shell, use the following commands to interact
with the active BNG Blaster instance.

.. code-block:: none
# > Linux
cd ~/bngblaster-training/03_routing/04_bgp
bngblaster-cli run.sock bgp-sessions
.. code-block:: none
# > RBFS (op)
show bgp peer
show route summary
03.05. BGP with ISIS
--------------------

.. code-block:: none
# > Linux
cd ~/bngblaster-training/03_routing/05_bgp_isis
https://github.com/rtbrick/BGP-CP-DP-Testing
# Generate ISIS Topology, BGP updates and streams
lspgen -y --level 2 --area 49.0001/24 --connector 1720.1625.5011 -e 10 -m isis.mrt
bgpupdate -f update.bgp -a 65001 -l 100 -n 192.168.0.0 -N 10 -p 10.1.0.0/24 -P 100000 -s streams.json
bgpupdate -f update.bgp -a 65001 -l 100 -n 192.168.0.0 -N 10 -m 20001 -M 1000 -p fc66:1::/48 -P 50000 --append -s streams.json --stream-append
bgpupdate -f update.bgp -a 65001 -l 100 -n 192.168.0.0 -N 10 -m 2 -p fc66:2::/48 -P 50000 --append --end-of-rib -s streams.json --stream-append
# Start BNG Blaster
bngblaster -S run.sock -C config.json -T streams.json -l bgp
03.06. BGP Convergence
----------------------

https://github.com/rtbrick/BGP-CP-DP-Testing

.. code-block:: none
# > Linux
cd ~/bngblaster-training/03_routing/06_bgp_convergence
Loading

0 comments on commit 0b0a0b5

Please sign in to comment.