Finish the four areas isis scenario

This commit is contained in:
Wojciech Kozlowski 2019-04-15 21:08:27 +02:00
parent 6d770006ea
commit b6aa9a4447
32 changed files with 500 additions and 2 deletions

View File

@ -13,6 +13,8 @@ Adding a new topology is straightforward.
1. Create a new directory in the `topology` directory.
2. Create a `topo.py` file and define a class `NetTopo` that inherits from
`mininet.topo.Topo` and build your new topology in its constructor.
`WARNING:` Mininet will number the interfaces according to the order they
are added to a given node. Make sure the `README.md` reflects this.
3. Create a `zebra` directory and populate it with configuration files for the
`zebra` daemon to configure the interfaces in your topology.
4. Create a `staticd` directory and populate it with configuration files for

View File

View File

@ -129,8 +129,8 @@ Interface | Name | Address/Subnet
Interface | Name | Address/Subnet
----------|---------|---------------
0 | lo | -
1 | R8-eth1 | Level-2
2 | R8-eth2 | Level-1-2
1 | R8-eth1 | Level-1-2
2 | R8-eth2 | Level-2
3 | R8-eth3 | Level-1
## Area 4

View File

@ -0,0 +1,18 @@
! -*- isisd -*-
hostname R1-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0001.0100.0000.0001.00
is-type level-1
interface lo
ip router isis ROUTE0
isis passive
interface R1-eth1
ip router isis ROUTE0
log file /tmp/R1-isisd.log debugging

View File

@ -0,0 +1,27 @@
! -*- isisd -*-
hostname R2-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0001.0100.0000.0002.00
is-type level-1-2
interface lo
ip router isis ROUTE0
isis passive
interface R2-eth1
ip router isis ROUTE0
isis circuit-type level-2-only
interface R2-eth2
ip router isis ROUTE0
isis circuit-type level-2-only
interface R2-eth3
ip router isis ROUTE0
isis circuit-type level-1
log file /tmp/R2-isisd.log debugging

View File

@ -0,0 +1,27 @@
! -*- isisd -*-
hostname R3-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0002.0100.0000.0003.00
is-type level-1-2
interface lo
ip router isis ROUTE0
isis passive
interface R3-eth1
ip router isis ROUTE0
isis circuit-type level-1
interface R3-eth2
ip router isis ROUTE0
isis passive
interface R3-eth3
ip router isis ROUTE0
isis circuit-type level-2-only
log file /tmp/R3-isisd.log debugging

View File

@ -0,0 +1,18 @@
! -*- isisd -*-
hostname R4-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0002.0100.0000.0004.00
is-type level-1
interface lo
ip router isis ROUTE0
isis passive
interface R4-eth1
ip router isis ROUTE0
log file /tmp/R4-isisd.log debugging

View File

@ -0,0 +1,21 @@
! -*- isisd -*-
hostname R5-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0003.0100.0000.0005.00
is-type level-1
interface lo
ip router isis ROUTE0
isis passive
interface R5-eth1
ip router isis ROUTE0
interface R5-eth2
ip router isis ROUTE0
log file /tmp/R5-isisd.log debugging

View File

@ -0,0 +1,27 @@
! -*- isisd -*-
hostname R6-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0003.0100.0000.0006.00
is-type level-1-2
interface lo
ip router isis ROUTE0
isis passive
interface R6-eth1
ip router isis ROUTE0
isis circuit-type level-2-only
interface R6-eth2
ip router isis ROUTE0
isis circuit-type level-1-2
interface R6-eth3
ip router isis ROUTE0
isis circuit-type level-1
log file /tmp/R6-isisd.log debugging

View File

@ -0,0 +1,21 @@
! -*- isisd -*-
hostname R7-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0003.0100.0000.0007.00
is-type level-1
interface lo
ip router isis ROUTE0
isis passive
interface R7-eth1
ip router isis ROUTE0
interface R7-eth2
ip router isis ROUTE0
log file /tmp/R7-isisd.log debugging

View File

@ -0,0 +1,27 @@
! -*- isisd -*-
hostname R8-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0003.0100.0000.0008.00
is-type level-1-2
interface lo
ip router isis ROUTE0
isis passive
interface R8-eth1
ip router isis ROUTE0
isis circuit-type level-1-2
interface R8-eth2
ip router isis ROUTE0
isis circuit-type level-2-only
interface R8-eth3
ip router isis ROUTE0
isis circuit-type level-1
log file /tmp/R8-isisd.log debugging

View File

@ -0,0 +1,22 @@
! -*- isisd -*-
hostname R9-isisd
password route0
enable password route0
router isis ROUTE0
net 49.0004.0100.0000.0009.00
is-type level-2-only
interface lo
ip router isis ROUTE0
isis passive
interface R9-eth1
ip router isis ROUTE0
isis passive
interface R9-eth2
ip router isis ROUTE0
log file /tmp/R9-isisd.log debugging

View File

@ -0,0 +1,9 @@
! -*- staticd -*-
hostname R1-staticd
password route0
enable password route0
ip route 0.0.0.0/0 10.0.0.2
log file /tmp/R1-staticd.log debugging

View File

@ -0,0 +1,9 @@
! -*- staticd -*-
hostname R4-staticd
password route0
enable password route0
ip route 0.0.0.0/0 10.0.0.3
log file /tmp/R4-staticd.log debugging

View File

@ -0,0 +1,9 @@
! -*- staticd -*-
hostname R5-staticd
password route0
enable password route0
ip route 0.0.0.0/0 10.0.0.6
log file /tmp/R5-staticd.log debugging

View File

@ -0,0 +1,9 @@
! -*- staticd -*-
hostname R7-staticd
password route0
enable password route0
ip route 0.0.0.0/0 10.0.0.8
log file /tmp/R7-staticd.log debugging

View File

@ -0,0 +1,9 @@
! -*- staticd -*-
hostname h3_1-staticd
password route0
enable password route0
ip route 0.0.0.0/0 10.3.0.254
log file /tmp/h3_1-staticd.log debugging

View File

@ -0,0 +1,9 @@
! -*- staticd -*-
hostname h9_1-staticd
password route0
enable password route0
ip route 0.0.0.0/0 10.9.0.254
log file /tmp/h9_1-staticd.log debugging

View File

@ -0,0 +1,9 @@
! -*- staticd -*-
hostname h3_1-staticd
password route0
enable password route0
ip route 0.0.0.0/0 10.3.0.254
log file /tmp/h3_1-staticd.log debugging

View File

@ -0,0 +1,9 @@
! -*- staticd -*-
hostname h9_1-staticd
password route0
enable password route0
ip route 0.0.0.0/0 10.9.0.254
log file /tmp/h9_1-staticd.log debugging

View File

@ -0,0 +1,40 @@
import os
from mininet.topo import Topo
class NetTopo(Topo):
"""The network topology.
"""
def __init__(self):
# Add default members to class.
super(NetTopo, self).__init__()
# Add routers
r_1 = self.addSwitch('R1')
r_2 = self.addSwitch('R2')
r_3 = self.addSwitch('R3')
r_4 = self.addSwitch('R4')
r_5 = self.addSwitch('R5')
r_6 = self.addSwitch('R6')
r_7 = self.addSwitch('R7')
r_8 = self.addSwitch('R8')
r_9 = self.addSwitch('R9')
# Add hosts
h_3_1 = self.addSwitch('h3_1')
h_9_1 = self.addSwitch('h9_1')
# Setup links as shown in README.md
self.addLink(r_9, h_9_1)
self.addLink(r_9, r_6)
self.addLink(r_6, r_8)
self.addLink(r_6, r_5)
self.addLink(r_5, r_7)
self.addLink(r_8, r_2)
self.addLink(r_8, r_7)
self.addLink(r_4, r_3)
self.addLink(r_3, h_3_1)
self.addLink(r_3, r_2)
self.addLink(r_2, r_1)

View File

@ -0,0 +1,13 @@
! -*- zebra -*-
hostname R1-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.1/32
interface R1-eth1
ip address 10.0.1.1/24
log file /tmp/R1-zebra.log debugging

View File

@ -0,0 +1,19 @@
! -*- zebra -*-
hostname R2-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.2/32
interface R2-eth1
ip address 10.0.2.1/24
interface R2-eth2
ip address 10.0.3.1/24
interface R2-eth3
ip address 10.0.1.2/24
log file /tmp/R2-zebra.log debugging

View File

@ -0,0 +1,19 @@
! -*- zebra -*-
hostname R3-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.3/32
interface R3-eth1
ip address 10.0.4.1/24
interface R3-eth2
ip address 10.3.0.254/24
interface R3-eth3
ip address 10.0.3.2/24
log file /tmp/R3-zebra.log debugging

View File

@ -0,0 +1,13 @@
! -*- zebra -*-
hostname R4-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.4/32
interface R4-eth1
ip address 10.0.4.2/24
log file /tmp/R4-zebra.log debugging

View File

@ -0,0 +1,16 @@
! -*- zebra -*-
hostname R5-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.5/32
interface R5-eth1
ip address 10.0.5.1/24
interface R5-eth2
ip address 10.0.6.1/24
log file /tmp/R5-zebra.log debugging

View File

@ -0,0 +1,19 @@
! -*- zebra -*-
hostname R6-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.6/32
interface R6-eth1
ip address 10.0.6.1/24
interface R6-eth2
ip address 10.0.7.1/24
interface R6-eth3
ip address 10.0.5.2/24
log file /tmp/R6-zebra.log debugging

View File

@ -0,0 +1,16 @@
! -*- zebra -*-
hostname R7-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.7/32
interface R7-eth1
ip address 10.0.6.2/24
interface R7-eth2
ip address 10.0.8.1/24
log file /tmp/R7-zebra.log debugging

View File

@ -0,0 +1,19 @@
! -*- zebra -*-
hostname R8-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.8/32
interface R8-eth1
ip address 10.0.7.2/24
interface R8-eth2
ip address 10.0.2.2/24
interface R8-eth3
ip address 10.0.8.2/24
log file /tmp/R8-zebra.log debugging

View File

@ -0,0 +1,16 @@
! -*- zebra -*-
hostname R9-zebra
password route0
enable password route0
interface lo
ip address 10.0.0.9/32
interface R9-eth1
ip address 10.9.0.254/24
interface R9-eth2
ip address 10.0.6.2/24
log file /tmp/R9-zebra.log debugging

View File

@ -0,0 +1,13 @@
! -*- zebra -*-
hostname h3_1-zebra
password route0
enable password route0
interface lo
no shutdown
interface h3_1-eth1
ip address 10.3.0.1/24
log file /tmp/h3_1-zebra.log debugging

View File

@ -0,0 +1,13 @@
! -*- zebra -*-
hostname h9_1-zebra
password route0
enable password route0
interface lo
no shutdown
interface h9_1-eth1
ip address 10.9.0.1/24
log file /tmp/h9_1-zebra.log debugging