Closed vdanchev closed 6 years ago
Hi,
I had the same problem : when suppressed the --no-slicing argument my mininet network stopped working. I don't know the reasons that cause this behaviour, but I solved it by creating a custom topology with more parameters in links and nodes definition, and with --link tc option enabled.
This is my topology :
h1 ---
\ 1M
h2 ---- s1 --- s2 ---- h4
/
h3 ---
#!/usr/bin/python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import Controller, RemoteController
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.util import dumpNodeConnections
class MyTopo( Topo ):
def __init__( self ):
# Initialize topology
Topo.__init__( self )
# Add hosts and switches
h1 = self.addHost( 'h1', ip='10.0.0.1', mac='00:00:00:00:00:01' )
h2 = self.addHost( 'h2', ip='10.0.0.2', mac='00:00:00:00:00:02' )
h3 = self.addHost( 'h3', ip='10.0.0.3', mac='00:00:00:00:00:03' )
h4 = self.addHost( 'h4', ip='10.0.0.4', mac='00:00:00:00:00:04' )
s1 = self.addSwitch( 's1' )
s2 = self.addSwitch( 's2' )
# Add links
'''
OPT 1 : with -tc
self.addLink( A, B, bw = N, bw = N, use_htb=True/False, max_queue_size = N)
The parameter bw is expressed as a number in Mbit;
delay is expressed as a string with units in place (e.g. '5ms', '100us', '1s');
loss is expressed as a percentage (between 0 and 100);
max_queue_size is expressed in packets.
source : https://github.com/mininet/mininet/wiki/Introduction-to-Mininet
'''
self.addLink( h1, s1, use_htb=True, max_queue_size = 1 )
self.addLink( h2, s1, use_htb=True, max_queue_size = 1 )
self.addLink( h3, s1, use_htb=True, max_queue_size = 1 )
self.addLink( s1, s2, bw = 1, use_htb=True, max_queue_size = None)
self.addLink( s2, h4, use_htb=True, max_queue_size = 1 )
topos = { 'mytopo': ( lambda: MyTopo() ) }
to launch the topology :
sudo mn --custom ~/mininet/custom/topo.py --topo mytopo --switch user,protocols=OpenFlow13, --link tc
If you add some rules to the switches it should ping, and the bandwidth between s1 and s2 will be limited to 1 mbps.
Unfortunatly I don't manage to make queues working with this solution.
I hope it will help you, before getting a better answer.
7075dec54d877b497de50b78d230ffee6c14474d should finally fix it now.
Hi,
I am experiencing some issues while running CPqD in Mininet. First, I had a permissions issue when trying to add a queue. Removed the "--no-slicing" argument from mininet as suggested, and ran make install. Unfortunately, now it seems that the datapath cannot be established. When running:
mn --topo single,2 --switch user, --controller remote
The topology is created, but no unix socket file is created. I only see log entries:
root@mininet-vm:/tmp# cat s1-ofd.log RTNETLINK answers: No such file or directory May 31 00:57:01|00001|netdev|WARN|Problem configuring qdisc for device s1-eth1 May 31 00:57:01|00002|dp_ports|ERR|failed to configure slicing on s1-eth1 device: check INSTALL for dependencies, or rerun using --no-slicing option to disable slicing ofdatapath: failed to add port s1-eth1 (Unknown error 512)
Is it possible to actually use queues or I am missing some dependencies (and which ones, if that is the case) ? Also, is it possible to use queues on the CPqD switch along with link bandwidth limiting using TCLink in Mininet?
Regards, VD