예제 #1
0
from p4utils.mininetlib.network_API import NetworkAPI

net = NetworkAPI()

# Network general options
net.setLogLevel('info')
net.enableCli()
net.execScript('sudo python controller_two_tables.py populate 50000')

# Network definition
net.addP4Switch('s1')
net.addP4Switch('s2')
net.addP4Switch('s3')
net.addP4Switch('s4')
net.setP4SourceAll('forwarding_two_tables.p4')

net.addHost('h1')
net.setDefaultRoute('h1', '10.0.1.1')
net.addHost('h2')
net.setDefaultRoute('h2', '10.0.2.1')
net.addHost('h3')
net.setDefaultRoute('h3', '10.250.250.1')

net.addLink('h1', 's1')
net.setIntfIp('h1', 's1', '10.0.1.2/24')
net.setIntfIp('s1', 'h1', '10.0.1.1/24')
net.addLink('s1', 's2')
net.addLink('s1', 's3')
net.addLink('s2', 's4')
net.addLink('s3', 's4')
net.addLink('s4', 'h2')
예제 #2
0
from p4utils.mininetlib.network_API import NetworkAPI

net = NetworkAPI()

# Network general options
net.setLogLevel('info')
net.disableArpTables()
net.execScript('python l2_learning_controller.py s1 cpu &', reboot=True)
net.execScript('python l2_learning_controller.py s2 cpu &', reboot=True)
net.execScript('python l2_learning_controller.py s3 cpu &', reboot=True)
net.execScript('python l2_learning_controller.py s4 cpu &', reboot=True)

# Network definition
net.addP4Switch('s1')
net.setP4Source('s1','./p4src/l2_learning_copy_to_cpu.p4')
net.addP4Switch('s2')
net.setP4Source('s2','./p4src/l2_learning_copy_to_cpu.p4')
net.addP4Switch('s3')
net.setP4Source('s3','./p4src/l2_learning_copy_to_cpu.p4')
net.addP4Switch('s4')
net.setP4Source('s4','./p4src/l2_learning_copy_to_cpu.p4')
net.addHost('h1')
net.addHost('h2')
net.addHost('h3')
net.addHost('h4')
net.addHost('h5')
net.addHost('h6')
net.addLink('s1', 'h1')
net.addLink('s1', 'h2')
net.addLink('s2', 's1')
net.addLink('s2', 's3')
예제 #3
0
from p4utils.mininetlib.network_API import NetworkAPI

net = NetworkAPI()

# Network general options
net.setLogLevel('info')
net.setCompiler(p4rt=True)
net.execScript('python controller.py', reboot=True)

# Network definition
net.addP4RuntimeSwitch('s1')
net.addP4RuntimeSwitch('s2')
net.addP4RuntimeSwitch('s3')
net.addP4RuntimeSwitch('s4')
net.addP4RuntimeSwitch('s5')
net.addP4RuntimeSwitch('s6')
net.addP4RuntimeSwitch('s7')
net.setP4SourceAll('basics.p4')

net.addHost('h1')
net.addHost('h2')
net.addHost('h3')

net.addLink("h1", "s1", port2=1)
net.addLink("s1", "s2", port1=2, port2=1)
net.addLink("s1", "s3", port1=3, port2=1)
net.addLink("s2", "s4", port1=2, port2=1)
net.addLink("s3", "s4", port1=2, port2=2)
net.addLink("s4", "s5", port1=3, port2=1)
net.addLink("s4", "s6", port1=4, port2=1)
net.addLink("s5", "s7", port1=2, port2=1)
예제 #4
0
from p4utils.mininetlib.network_API import NetworkAPI

net = NetworkAPI()

# Network general options
net.setLogLevel('info')
net.setCompiler(p4rt=True)
net.execScript('python controller-other-ports.py', reboot=True)
net.disableArpTables()

# Network definition
net.addP4RuntimeSwitch('s1')
net.setP4Source('s1', './p4src/l2_flooding_other_ports.p4')
net.addHost('h1')
net.addHost('h2')
net.addHost('h3')
net.addHost('h4')
net.addLink('s1', 'h1')
net.addLink('s1', 'h2')
net.addLink('s1', 'h3')
net.addLink('s1', 'h4')

# Assignment strategy
net.l2()

# Nodes general options
net.enablePcapDumpAll()
net.enableLogAll()
net.enableCli()
net.startNetwork()
예제 #5
0
from p4utils.mininetlib.network_API import NetworkAPI

net = NetworkAPI()

# Network general options
net.setLogLevel('info')
net.execScript('python routing-controller.py', reboot=True)

# Network definition
net.addP4Switch('s1')
net.addP4Switch('s2')
net.addP4Switch('s3')
net.addP4Switch('s4')
net.addP4Switch('s5')
net.addP4Switch('s6')
net.addP4Switch('s7')
net.addP4Switch('s8')
net.addP4Switch('s9')
net.addP4Switch('s10')
net.addP4Switch('s11')
net.addP4Switch('s12')
net.addP4Switch('s13')
net.addP4Switch('s14')
net.addP4Switch('s15')
net.addP4Switch('s16')
net.addP4Switch('s17')
net.addP4Switch('s18')
net.addP4Switch('s19')
net.addP4Switch('s20')
net.setP4SourceAll('p4src/loadbalancer.p4')
예제 #6
0
from p4utils.mininetlib.network_API import NetworkAPI

net = NetworkAPI()

# Network general options
net.setLogLevel('info')
net.enableCli()
net.execScript('./fill_register.py')

# Network definition
net.addP4Switch('s1')
net.setP4Source('s1', 'p4src/recirculate_and_add.p4')
net.addHost('h1')
net.addHost('h2')

net.addLink('s1', 'h1')
net.addLink('s1', 'h2')

# Assignment strategy
net.l2()

# Nodes general options
net.enablePcapDumpAll()
net.enableLogAll()

# Start network
net.startNetwork()
예제 #7
0
from p4utils.mininetlib.network_API import NetworkAPI

net = NetworkAPI()

# Network general options
net.setLogLevel('info')
net.disableArpTables()
net.execScript('python l2_learning_controller.py s1 digest &', reboot=True)
net.execScript('python l2_learning_controller.py s2 digest &', reboot=True)
net.execScript('python l2_learning_controller.py s3 digest &', reboot=True)
net.execScript('python l2_learning_controller.py s4 digest &', reboot=True)

# Network definition
net.addP4Switch('s1')
net.setP4Source('s1', './p4src/l2_learning_digest.p4')
net.addP4Switch('s2')
net.setP4Source('s2', './p4src/l2_learning_digest.p4')
net.addP4Switch('s3')
net.setP4Source('s3', './p4src/l2_learning_digest.p4')
net.addP4Switch('s4')
net.setP4Source('s4', './p4src/l2_learning_digest.p4')
net.addHost('h1')
net.addHost('h2')
net.addHost('h3')
net.addHost('h4')
net.addHost('h5')
net.addHost('h6')
net.addLink('s1', 'h1')
net.addLink('s1', 'h2')
net.addLink('s2', 's1')
net.addLink('s2', 's3')
예제 #8
0
from p4utils.mininetlib.network_API import NetworkAPI

net = NetworkAPI()

# Network general options
net.setLogLevel('info')
net.enableCli()
net.execScript('sudo python controller_one_table.py populate 50000')

# Network definition
net.addP4Switch('s1')
net.addP4Switch('s2')
net.addP4Switch('s3')
net.addP4Switch('s4')
net.setP4SourceAll('forwarding_one_table.p4')

net.addHost('h1')
net.setDefaultRoute('h1', '10.0.1.1')
net.addHost('h2')
net.setDefaultRoute('h2', '10.0.2.1')
net.addHost('h3')
net.setDefaultRoute('h3', '10.250.250.1')

net.addLink('h1', 's1')
net.setIntfIp('h1', 's1', '10.0.1.2/24')
net.setIntfIp('s1', 'h1', '10.0.1.1/24')
net.addLink('s1', 's2')
net.addLink('s1', 's3')
net.addLink('s2', 's4')
net.addLink('s3', 's4')
net.addLink('s4', 'h2')