How do I use python scripts or (.py files) in mininet?
This is how I do it. Copy and paste the following code or download this file: Simple_Pkt_Topo.py .
__author__ = 'Ehsan'
from mininet.node import CPULimitedHost
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.log import setLogLevel, info
from mininet.node import RemoteController
from mininet.cli import CLI
"""
Instructions to run the topo:
1. Go to directory where this fil is.
2. run: sudo -E python Simple_Pkt_Topo.py.py
The topo has 4 switches and 4 hosts. They are connected in a star shape.
"""
class SimplePktSwitch(Topo):
"""Simple topology example."""
def __init__(self, **opts):
"""Create custom topo."""
# Initialize topology
# It uses the constructor for the Topo cloass
super(SimplePktSwitch, self).__init__(**opts)
# Add hosts and switches
h1 = self.addHost('h1')
h2 = self.addHost('h2')
h3 = self.addHost('h3')
h4 = self.addHost('h4')
# Adding switches
s1 = self.addSwitch('s1', dpid="0000000000000001")
s2 = self.addSwitch('s2', dpid="0000000000000002")
s3 = self.addSwitch('s3', dpid="0000000000000003")
s4 = self.addSwitch('s4', dpid="0000000000000004")
# Add links
self.addLink(h1, s1)
self.addLink(h2, s2)
self.addLink(h3, s3)
self.addLink(h4, s4)
self.addLink(s1, s2)
self.addLink(s1, s3)
self.addLink(s1, s4)
def run():
c = RemoteController('c', '0.0.0.0', 6633)
net = Mininet(topo=SimplePktSwitch(), host=CPULimitedHost, controller=None)
net.addController(c)
net.start()
CLI(net)
net.stop()
# if the script is run directly (sudo custom/optical.py):
if __name__ == '__main__':
setLogLevel('info')
run()
Then you can run topo simply by using
sudo -E python <nameofthefile>
Now you can simply use sudo -E python Simple_Pkt_Topo.py
mininet to run.
Here is the link .
Please note that you need a controller. Let me know if you need instructions.
Hope it helps.
source to share
When you open mininet, just navigate to your custom folder by typing:
cd mininet/custom
then enter:
ls
which will show you the current files inside a custom file.
Then you can use a text editor nano
to create or edit the python / text file, for example, you can type:
nano custom.py
and it will open a custom python code example file. Then you can exit it and save it as a new file.
Since I started editing and writing python codes, it will get easier when you learn how to SSH mininet with putty.
luck
source to share