2023-09-04 14:55:57 +00:00
<!DOCTYPE html>
2024-03-25 22:01:36 +00:00
< html class = "writer-html5" lang = "en" data-content_root = "../" >
2023-09-04 14:55:57 +00:00
< head >
2024-03-25 22:01:36 +00:00
< meta charset = "utf-8" />< meta name = "viewport" content = "width=device-width, initial-scale=1" />
2023-09-04 14:55:57 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" />
< title > LSPGEN — BNG Blaster 0.8 documentation</ title >
2024-03-25 22:01:36 +00:00
< link rel = "stylesheet" type = "text/css" href = "../_static/pygments.css?v=80d5e7a1" />
< link rel = "stylesheet" type = "text/css" href = "../_static/css/theme.css?v=19f00094" />
< link rel = "stylesheet" type = "text/css" href = "../_static/tabs.css?v=a5c4661c" />
< link rel = "stylesheet" type = "text/css" href = "../_static/custom.css?v=411f5019" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
2023-09-04 14:55:57 +00:00
2024-03-25 22:01:36 +00:00
< script src = "../_static/jquery.js?v=5d32c60e" ></ script >
< script src = "../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c" ></ script >
< script src = "../_static/documentation_options.js?v=a0e24af7" ></ script >
< script src = "../_static/doctools.js?v=888ff710" ></ script >
< script src = "../_static/sphinx_highlight.js?v=dc90522c" ></ script >
2023-09-04 14:55:57 +00:00
< script src = "../_static/js/theme.js" ></ script >
< link rel = "index" title = "Index" href = "../genindex.html" />
< link rel = "search" title = "Search" href = "../search.html" />
< link rel = "next" title = "Traffic Streams" href = "../streams.html" />
< link rel = "prev" title = "LDP" href = "ldp.html" />
</ head >
< body class = "wy-body-for-nav" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-scroll" >
< div class = "wy-side-nav-search" >
2024-03-25 22:01:36 +00:00
< a href = "../index.html" class = "icon icon-home" >
BNG Blaster
< img src = "../_static/rtbrick_logo.png" class = "logo" alt = "Logo" />
2023-09-04 14:55:57 +00:00
</ a >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "../search.html" method = "get" >
2024-03-25 22:01:36 +00:00
< input type = "text" name = "q" placeholder = "Search docs" aria-label = "Search docs" />
2023-09-04 14:55:57 +00:00
< input type = "hidden" name = "check_keywords" value = "yes" />
< input type = "hidden" name = "area" value = "default" />
</ form >
</ div >
</ div >< div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "Navigation menu" >
< ul class = "current" >
< li class = "toctree-l1" >< a class = "reference internal" href = "../install.html" > Installation</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../quickstart.html" > Quickstart Guide</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../interfaces.html" > Interfaces</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../access/index.html" > Access Protocols</ a ></ li >
< li class = "toctree-l1 current" >< a class = "reference internal" href = "index.html" > Routing Protocols</ a >< ul class = "current" >
< li class = "toctree-l2" >< a class = "reference internal" href = "isis.html" > ISIS</ a ></ li >
< li class = "toctree-l2" >< a class = "reference internal" href = "ospf.html" > OSPF</ a ></ li >
< li class = "toctree-l2" >< a class = "reference internal" href = "mpls.html" > MPLS</ a ></ li >
< li class = "toctree-l2" >< a class = "reference internal" href = "bgp.html" > BGP</ a ></ li >
< li class = "toctree-l2" >< a class = "reference internal" href = "ldp.html" > LDP</ a ></ li >
< li class = "toctree-l2 current" >< a class = "current reference internal" href = "#" > LSPGEN</ a >< ul >
< li class = "toctree-l3" >< a class = "reference internal" href = "#connector" > Connector</ a ></ li >
< li class = "toctree-l3" >< a class = "reference internal" href = "#random-topologies" > Random Topologies</ a ></ li >
< li class = "toctree-l3" >< a class = "reference internal" href = "#topology-from-configuration-file" > Topology from Configuration File</ a ></ li >
</ ul >
</ li >
</ ul >
</ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../streams.html" > Traffic Streams</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../http.html" > HTTP Emulation</ a ></ li >
2023-11-03 08:56:38 +00:00
< li class = "toctree-l1" >< a class = "reference internal" href = "../nat.html" > NAT / CGNAT</ a ></ li >
2023-09-04 14:55:57 +00:00
< li class = "toctree-l1" >< a class = "reference internal" href = "../reports.html" > Reports</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../configuration/index.html" > Configuration</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../api/index.html" > API/CLI</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../controller.html" > Controller</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../performance.html" > Performance Guide</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../troubleshooting.html" > Troubleshooting</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "../faq.html" > Frequently Asked Questions</ a ></ li >
</ ul >
</ div >
</ div >
</ nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" >< nav class = "wy-nav-top" aria-label = "Mobile navigation menu" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" ></ i >
< a href = "../index.html" > BNG Blaster</ a >
</ nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
< div role = "navigation" aria-label = "Page navigation" >
< ul class = "wy-breadcrumbs" >
2024-03-25 22:01:36 +00:00
< li >< a href = "../index.html" class = "icon icon-home" aria-label = "Home" ></ a ></ li >
< li class = "breadcrumb-item" >< a href = "index.html" > Routing Protocols</ a ></ li >
< li class = "breadcrumb-item active" > LSPGEN</ li >
2023-09-04 14:55:57 +00:00
< li class = "wy-breadcrumbs-aside" >
< a href = "../_sources/routing/lspgen.rst.txt" rel = "nofollow" > View page source</ a >
</ li >
</ ul >
< hr />
</ div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
< section id = "lspgen" >
2024-03-25 22:01:36 +00:00
< span id = "id1" ></ span >< h1 > LSPGEN< a class = "headerlink" href = "#lspgen" title = "Link to this heading" > </ a ></ h1 >
2023-09-04 14:55:57 +00:00
< p > The BNG Blaster includes a tool called < code class = "docutils literal notranslate" >< span class = "pre" > lspgen</ span ></ code > which is able to generate
ISIS and OSPF topologies with the corresponding link state packets for export
as MRT and PCAP files. Initially, < code class = "docutils literal notranslate" >< span class = "pre" > lspgen</ span ></ code > was developed exclusively for ISIS,
hence its name. However, with the introduction of OSPF support in BNG Blaster,
< code class = "docutils literal notranslate" >< span class = "pre" > lspgen</ span ></ code > has been enhanced to accommodate OSPF topologies as well.</ p >
< p > The default protocol is ISIS which can be changed using the argument < code class = "docutils literal notranslate" >< span class = "pre" > -P</ span > < span class = "pre" > ospf2</ span ></ code > .</ p >
< div class = "highlight-none notranslate" >< div class = "highlight" >< pre >< span ></ span > $ lspgen --help
____ __ ____ _ __ ,/
/ __ \ / /_ / __ ) _____ (_)_____ / /__ ,' /
/ /_/ // __// __ |/ ___// // ___// //_/ ,' /
/ _, _// /_ / /_/ // / / // /__ / ,< ,' /_____,
/_/ |_| \__//_____//_/ /_/ \___//_/|_| .' ____ ,'
__ _____ ____ ______ / ,'
/ / / ___// __ \/ ____/__ ____ / ,'
/ / \__ \/ /_/ / / __/ _ \/ __ \ /,'
/ /______/ / ____/ /_/ / __/ / / / /
/_____/____/_/ \____/\___/_/ /_/
Usage: lspgen [OPTIONS]
-v --version
-a --area < args>
2024-02-20 20:56:15 +00:00
-P --protocol isis|ospf2|ospf3
2023-09-04 14:55:57 +00:00
-K --authentication-key < args>
-T --authentication-type none|simple|md5
2024-02-20 20:56:15 +00:00
-r --read-config-file < filename>
-w --write-config-file < filename>
2023-09-04 14:55:57 +00:00
-C --connector < args>
-S --control-socket < args>
2024-02-20 20:56:15 +00:00
-l --ipv4-link-prefix < ip-prefix>
-L --ipv6-link-prefix < ip-prefix>
-n --ipv4-node-prefix < ip-prefix>
-N --ipv6-node-prefix < ip-prefix>
-x --ipv4-external-prefix < ip-prefix>
-X --ipv6-external-prefix < ip-prefix>
-u --link-multiplier < args>
2023-09-04 14:55:57 +00:00
-M --lsp-lifetime < args>
-z --no-ipv4
-Z --no-ipv6
-y --no-sr
-e --external-count < args>
2024-02-20 20:56:15 +00:00
-g --graphviz-file < filename>
2023-09-04 14:55:57 +00:00
-h --help
2024-02-20 20:56:15 +00:00
-m --mrt-file < filename>
2023-09-04 14:55:57 +00:00
-c --node-count < args>
2024-02-20 20:56:15 +00:00
-p --pcap-file < filename>
2023-09-15 07:11:54 +00:00
-G --purge
2024-02-20 20:56:15 +00:00
-f --stream-file < filename>
2023-09-04 14:55:57 +00:00
-s --seed < args>
-q --sequence < args>
-Q --quit-loop
-V --level < args>
-t --log normal|debug|lsp|lsdb|packet|ctrl|error
</ pre ></ div >
</ div >
< p > You can generate random topologies or define a topology manually
using configuration files.</ p >
< section id = "connector" >
2024-03-25 22:01:36 +00:00
< h2 > Connector< a class = "headerlink" href = "#connector" title = "Link to this heading" > </ a ></ h2 >
2023-09-04 14:55:57 +00:00
< p > The connector (< code class = "docutils literal notranslate" >< span class = "pre" > -C</ span > < span class = "pre" > --connector</ span > < span class = "pre" > < args> </ span ></ code > ) represents the link between the generated
topology and the attached BNG Blaster instance.</ p >
< p > For ISIS topologies, the connector must be set to the < code class = "docutils literal notranslate" >< span class = "pre" > system-id</ span ></ code > of the ISIS
instance to which this topology is attached. In the BNG Blaster configuration,
the < code class = "docutils literal notranslate" >< span class = "pre" > system-id</ span ></ code > of the root node from the generated toplogy must be referenced.</ p >
< img alt = "ISIS" src = "../_images/bbl_isis.png" />
< div class = "highlight-none notranslate" >< div class = "highlight" >< pre >< span ></ span > $ lspgen -a 49.0001/24 -K secret123 -T md5 -C 1921.6800.1001 -m isis.mrt
...
Sep 04 10:50:55.780109 Generating a graph of 10 nodes and 20 links
Sep 04 10:50:55.780127 Root node 1921.6800.0000.00 (node1)
...
</ pre ></ div >
</ div >
2024-03-25 22:01:36 +00:00
< div class = "highlight-json notranslate" >< div class = "highlight" >< pre >< span ></ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " isis" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " instance-id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 1</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " area" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " 49.0001/24" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " system-id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1921.6800.1001" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " router-id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 192.168.1.1" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " hostname" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " R1" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " level1-auth-key" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " secret123" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " level1-auth-type" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " md5" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " external" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " mrt-file" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " isis.mrt" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " connections" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " system-id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1921.6800.0000.00" </ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ]</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ]</ span >
< span class = "p" > }</ span >
2023-09-04 14:55:57 +00:00
</ pre ></ div >
</ div >
< p > This is simlar for OSPFv2 but here the connector is constructed based on remote router-id
and local link IPv4 address (< code class = "docutils literal notranslate" >< span class = "pre" > remote-router-id:local-ipv4-address</ span ></ code > ).</ p >
< img alt = "OSPF" src = "../_images/bbl_ospf.png" />
< div class = "highlight-none notranslate" >< div class = "highlight" >< pre >< span ></ span > $ lspgen -P ospf2 -m ospf.mrt -n 10.10.0.1 --connector " 10.0.0.11:10.0.0.2" -p lspgen.pcap
...
Sep 04 11:02:59.242810 Generating a graph of 10 nodes and 20 links
Sep 04 11:02:59.242827 Root node 10.10.0.1 (node1)
...
</ pre ></ div >
</ div >
2024-03-25 22:01:36 +00:00
< div class = "highlight-json notranslate" >< div class = "highlight" >< pre >< span ></ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " ospf" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " instance-id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 1</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " version" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 2</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " router-id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.0.0.11" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " hostname" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "nt" > " R1" </ span >
< span class = "w" > </ span >< span class = "nt" > " external" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " mrt-file" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " ospf.mrt" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " connections" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " router-id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.10.0.1" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " local-ipv4-address" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.0.0.1" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ]</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ]</ span >
< span class = "p" > }</ span >
2023-09-04 14:55:57 +00:00
</ pre ></ div >
</ div >
</ section >
< section id = "random-topologies" >
2024-03-25 22:01:36 +00:00
< h2 > Random Topologies< a class = "headerlink" href = "#random-topologies" title = "Link to this heading" > </ a ></ h2 >
2023-09-04 14:55:57 +00:00
< p > The following example generates a random topology with 1000 nodes.</ p >
< div class = "highlight-none notranslate" >< div class = "highlight" >< pre >< span ></ span > lspgen -m isis.mrt -c 1000 -K < secret> -T md5
</ pre ></ div >
</ div >
< p > The arguments < code class = "docutils literal notranslate" >< span class = "pre" > -K</ span ></ code > and < code class = "docutils literal notranslate" >< span class = "pre" > -T</ span ></ code > add a valid authentication TLV
to the generated LSPs in the MRT file.</ p >
< p > Those topologies could be even exported as configuration file
with the argument < code class = "docutils literal notranslate" >< span class = "pre" > -w</ span ></ code > and later imported with the argument < code class = "docutils literal notranslate" >< span class = "pre" > -r</ span ></ code > .
This allows the generation of a large random topology that can be modified
manually.</ p >
</ section >
< section id = "topology-from-configuration-file" >
2024-03-25 22:01:36 +00:00
< h2 > Topology from Configuration File< a class = "headerlink" href = "#topology-from-configuration-file" title = "Link to this heading" > </ a ></ h2 >
2023-09-04 14:55:57 +00:00
< p > In addition to randomly generated topologies, it is also possible to
2024-02-20 20:56:15 +00:00
create them specifically using configuration. The following example
shows the configuration for a topology with three nodes.</ p >
2024-03-25 22:01:36 +00:00
< div class = "highlight-json notranslate" >< div class = "highlight" >< pre >< span ></ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " instance" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " default" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " protocol" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " isis" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " level1" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " node_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1337.0000.0001" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " hostname" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " R1" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " area_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " 49.1337/24" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " protocol_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " ipv4" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_address_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " 10.13.37.1" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_prefix_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_prefix" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.13.37.1/32" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " segment_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 30005</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " node_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > true</ span >
< span class = "w" > </ span >< span class = "p" > },</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_prefix" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.0.1.0/24" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 1000</ span >
< span class = "w" > </ span >< span class = "p" > },</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_prefix" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.0.2.0/24" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 1000</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " capability_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " router_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.13.37.1" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " mpls_ipv4_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > true</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " mpls_ipv6_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > false</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " srgb_base" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 100000</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " srgb_range" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 36000</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " neighbor_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " remote_node_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1337.0000.0000.00" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 10</ span >
< span class = "w" > </ span >< span class = "p" > },</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " remote_node_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1337.0000.0002.00" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 10</ span >
< span class = "w" > </ span >< span class = "p" > },</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " remote_node_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 0204.0000.0003.00" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 10</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ]</ span >
< span class = "w" > </ span >< span class = "p" > },</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " node_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1337.0000.0002" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " hostname" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " R2" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " area_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " 49.1337/24" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " protocol_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " ipv4" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_address_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " 10.13.37.2" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_prefix_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_prefix" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.13.37.2/32" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " segment_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 30003</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " node_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > true</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " capability_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " router_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.13.37.2" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " mpls_ipv4_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > true</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " mpls_ipv6_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > false</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " srgb_base" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 100000</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " srgb_range" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 36000</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " neighbor_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " remote_node_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1337.0000.0001.00" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 10</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ]</ span >
< span class = "w" > </ span >< span class = "p" > },</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " node_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1337.0000.3" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " hostname" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " R3" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " area_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " 49.1337/24" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " protocol_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " ipv4" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_address_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "s2" > " 10.13.37.3" </ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_prefix_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " ipv4_prefix" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.13.37.3/32" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " segment_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 30003</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " node_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > true</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " capability_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " router_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 10.13.37.3" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " mpls_ipv4_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > true</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " mpls_ipv6_flag" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "kc" > false</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " srgb_base" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 100000</ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " srgb_range" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 36000</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ],</ span >
< span class = "w" > </ span >< span class = "nt" > " neighbor_list" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "p" > [</ span >
< span class = "w" > </ span >< span class = "p" > {</ span >
< span class = "w" > </ span >< span class = "nt" > " remote_node_id" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "s2" > " 1337.0000.0001.00" </ span >< span class = "p" > ,</ span >
< span class = "w" > </ span >< span class = "nt" > " metric" </ span >< span class = "p" > :</ span >< span class = "w" > </ span >< span class = "mi" > 10</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ]</ span >
< span class = "w" > </ span >< span class = "p" > }</ span >
< span class = "w" > </ span >< span class = "p" > ]</ span >
< span class = "p" > }</ span >
2023-09-04 14:55:57 +00:00
</ pre ></ div >
</ div >
2024-02-20 20:56:15 +00:00
< p > The randomly generated topologies can be also written to a file
to have an example or starting point for the desired topologies.</ p >
< div class = "highlight-none notranslate" >< div class = "highlight" >< pre >< span ></ span > lspgen -P isis -w isis.json
lspgen -P ospf2 -w ospf2.json
lspgen -P ospf3 -w ospf3.json
</ pre ></ div >
</ div >
2023-09-04 14:55:57 +00:00
</ section >
</ section >
</ div >
</ div >
< footer >< div class = "rst-footer-buttons" role = "navigation" aria-label = "Footer" >
< a href = "ldp.html" class = "btn btn-neutral float-left" title = "LDP" accesskey = "p" rel = "prev" >< span class = "fa fa-arrow-circle-left" aria-hidden = "true" ></ span > Previous</ a >
< a href = "../streams.html" class = "btn btn-neutral float-right" title = "Traffic Streams" accesskey = "n" rel = "next" > Next < span class = "fa fa-arrow-circle-right" aria-hidden = "true" ></ span ></ a >
</ div >
< hr />
< div role = "contentinfo" >
2024-02-23 20:14:00 +00:00
< p > © Copyright 2020-2024, RtBrick, Inc..</ p >
2023-09-04 14:55:57 +00:00
</ div >
Built with < a href = "https://www.sphinx-doc.org/" > Sphinx</ a > using a
< a href = "https://github.com/readthedocs/sphinx_rtd_theme" > theme</ a >
provided by < a href = "https://readthedocs.org" > Read the Docs</ a > .
</ footer >
</ div >
</ div >
</ section >
</ div >
< script >
jQuery ( function () {
SphinxRtdTheme . Navigation . enable ( true );
});
</ script >
</ body >
</ html >