Routing Fantasy – Easy To Use Route Simulator

Routing Fantasy

Easy To Use Route Simulator

RouterOSv7 includes Routing Fantasy which is a route simulator you can use in a variety of ways. Here are just a few of the uses:

  • Route generation for hardware performance testing. (i.e. How well does this product handles large routing tables as far as CPU and Memory are concerned.
  • Route generation for protocol testing. (You can use this feature to watch routes get transported accross the routing protocols.)
  • Route generation for routing protocol performance testing. (The three main routing protocols, RIP, OSPF, and BGP, can all redistribute the fantasy routes. This can provide an accurate idea of convergence times and protocol specific behaivors.)
  • Route generation for security testing. (i.e. Are routing filters and security mechanisms sufficent?)

Not only is Routing Fantasy easy to use, it significantly out performs trying to accomplish the same tasks by using scripts to generate a suffcient number of routes. It can also be turned off easily and quickly, which was problem trying to do this with scripts. At the time of this writing, Routing Fantasy is CLI only, but I would expect it to get added into the GUI in time.

It is possible to create a maximum of 4,294,967,295 routes per fantasy instance and you can theoretically create up to 4,294,967,295 instances (assuming you have the resources to do that). That’s a lot of routes. This means that you can literally create routes for every IPv4 address there is and easily create authenticate-enough routing tables to cover all routes used for the Internet. Its not perfect yet, but its already useable for many different testing scenarios.


Setting Meaning Comments
Comment String Administrative comment
Count Integer
0 – 4294967295
How many routes to generate.
Dealer-ID Start – End
0 – 4294967295
Disabled Yes/No Whether or not this instance should be disabled.
DST-Address Prefix Prefix from which the routes will be generated. (i.e
Gateway String
Can be an IP address or an interface
Gateway to be assciated with these routes. Note that the routes will all be installed as active even though they may not be otherwise possible. Ping and traceroute will still work from the route’s perspective.
Instance-ID Start – End
0 – 4294967295
Name String Administrative name.
Offset Integer
0 – 4294967295
Prefix Length Start – End
0 – 4294967295
Prefix length of the generated routes. For example, if the dst-address is set to, the count is set to 10, and the prefix-length is set to 30, it will generate 10 random routes that are contained within the prefix that all have a CIDR of /30. This can also be a range. If the prefix length is set to 25-30, then it will generate routes with random CIDRs from that range contained within the dst-address value.
Priv-Offs Start – End
0 – 4294967295
Priv-Size Start – End
0 – 4294967295
Scope Start – End
0 – 4294967295
Scope value to be used in generated routes. Default scope is 150.
Seed String
Target Scope Start – End
0 – 4294967295
Target Scope value to be used in generated routes. Default target scope is 140.
Use-Hold Yes/No


1) Generate just one single route (dst= gateway=

/routing fantasy
add count=0 dst-address= gateway= name=F1

2) Generate 256 /32 routes from a /24 prefix with random gateways

/routing fantasy
add count=255 disabled=no dst-address= gateway=ether4 name=F1 prefix-length=32

3) Generate 10 routes with the scope set to 50 and target scope set to 50.

/routing fantasy
add count=9 disabled=no dst-address= gateway=ether4 name=F1 prefix-length=27 scope=50 target-scope=50

These are the default scope and target scope values in ROS:

Enjoy 😉

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.