diff options
Diffstat (limited to 'docs/usecases/networksim.md')
-rw-r--r-- | docs/usecases/networksim.md | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/docs/usecases/networksim.md b/docs/usecases/networksim.md deleted file mode 100644 index 817ddf82a29..00000000000 --- a/docs/usecases/networksim.md +++ /dev/null @@ -1,90 +0,0 @@ -Network Simulator Plugin -======================== - -Vpp includes a fairly capable network simulator plugin, which can -simulate real-world round-trip times and a configurable network packet -loss rate. It's perfect for evaluating the performance of a TCP stack -under specified delay/bandwidth/loss conditions. - -The "nsim" plugin cross-connects two physical interfaces at layer 2, -introducing the specified delay and network loss -parameters. Reconfiguration on the fly is OK, with the proviso that -packets held in the network simulator scheduling wheel will be lost. - -Configuration -------------- - -Configuration by debug CLI is simple. First, specify the simulator -configuration: unidirectional delay (half of the desired RTT), the -link bandwidth, and the expected average packet size. These parameters -allow the network simulator allocate the right amount of buffering to -produce the requested delay/bandwidth product. - -``` - set nsim delay 25.0 ms bandwidth 10 gbit packet-size 128 -``` - -To simulate network packet drops, add either "packets-per-drop <nnnnn>" or -"drop-fraction [0.0 ... 1.0]" parameters: - -``` - set nsim delay 25.0 ms bandwidth 10 gbit packet-size 128 packets-per-drop 10000 -``` -Remember to configure the layer-2 cross-connect: - -``` - nsim enable-disable <interface-1> <interface-2> -``` - -Packet Generator Configuration ------------------------------- - -Here's a unit-test configuration for the vpp packet generator: - -``` - loop cre - set int ip address loop0 11.22.33.1/24 - set int state loop0 up - - loop cre - set int ip address loop1 11.22.34.1/24 - set int state loop1 up - - set nsim delay 1.0 ms bandwidth 10 gbit packet-size 128 packets-per-drop 1000 - nsim enable-disable loop0 loop1 - - packet-generator new { - name s0 - limit 10000 - size 128-128 - interface loop0 - node ethernet-input - data { IP4: 1.2.3 -> 4.5.6 - UDP: 11.22.33.44 -> 11.22.34.44 - UDP: 1234 -> 2345 - incrementing 114 - } - } -``` - -For extra realism, the network simulator drops any specific packet -with the specified probability. In this example, we see that slight -variation from run to run occurs as it should. - -``` - DBGvpp# pa en - DBGvpp# sh err - Count Node Reason - 9991 nsim Packets buffered - 9 nsim Network loss simulation drop packets - 9991 ethernet-input l3 mac mismatch - - DBGvpp# clear err - DBGvpp# pa en - DBGvpp# sh err - sh err - Count Node Reason - 9993 nsim Packets buffered - 7 nsim Network loss simulation drop packets - 9993 ethernet-input l3 mac mismatch -``` |