mirror of
https://github.com/rtbrick/bngblaster.git
synced 2024-05-06 15:54:57 +00:00
429 lines
34 KiB
HTML
429 lines
34 KiB
HTML
<!DOCTYPE html>
|
|
<html class="writer-html5" lang="en" data-content_root="../">
|
|
<head>
|
|
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>LSPGEN — BNG Blaster 0.8 documentation</title>
|
|
<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]-->
|
|
|
|
<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>
|
|
<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" >
|
|
|
|
|
|
|
|
<a href="../index.html" class="icon icon-home">
|
|
BNG Blaster
|
|
<img src="../_static/rtbrick_logo.png" class="logo" alt="Logo"/>
|
|
</a>
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
|
<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>
|
|
<li class="toctree-l1"><a class="reference internal" href="../nat.html">NAT / CGNAT</a></li>
|
|
<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">
|
|
<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>
|
|
<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">
|
|
<span id="id1"></span><h1>LSPGEN<a class="headerlink" href="#lspgen" title="Link to this heading"></a></h1>
|
|
<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>
|
|
-P --protocol isis|ospf2|ospf3
|
|
-K --authentication-key <args>
|
|
-T --authentication-type none|simple|md5
|
|
-r --read-config-file <filename>
|
|
-w --write-config-file <filename>
|
|
-C --connector <args>
|
|
-S --control-socket <args>
|
|
-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>
|
|
-M --lsp-lifetime <args>
|
|
-z --no-ipv4
|
|
-Z --no-ipv6
|
|
-y --no-sr
|
|
-e --external-count <args>
|
|
-g --graphviz-file <filename>
|
|
-h --help
|
|
-m --mrt-file <filename>
|
|
-c --node-count <args>
|
|
-p --pcap-file <filename>
|
|
-G --purge
|
|
-f --stream-file <filename>
|
|
-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">
|
|
<h2>Connector<a class="headerlink" href="#connector" title="Link to this heading"></a></h2>
|
|
<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>
|
|
<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>
|
|
</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>
|
|
<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>
|
|
</pre></div>
|
|
</div>
|
|
</section>
|
|
<section id="random-topologies">
|
|
<h2>Random Topologies<a class="headerlink" href="#random-topologies" title="Link to this heading"></a></h2>
|
|
<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">
|
|
<h2>Topology from Configuration File<a class="headerlink" href="#topology-from-configuration-file" title="Link to this heading"></a></h2>
|
|
<p>In addition to randomly generated topologies, it is also possible to
|
|
create them specifically using configuration. The following example
|
|
shows the configuration for a topology with three nodes.</p>
|
|
<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>
|
|
</pre></div>
|
|
</div>
|
|
<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>
|
|
</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">
|
|
<p>© Copyright 2020-2024, RtBrick, Inc..</p>
|
|
</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> |