2015-11-12 1 views
0

Je tente d'ajouter des files d'attente (liées aux ports) à plusieurs commutateurs d'un environnement réseau émulé par mininet. Le commutateur utilisé implemention est ofsoftswitch13Ajout de files d'attente pour basculer de l'implémentation de ofsoftswitch13 ne fonctionne pas

commande pour démarrer MININET:

sudo mn --custom mininet-mesh-topology.py --topo test --controller remote,ip=192.168.56.1,port=6653 --switch=user,protocols=OpenFlow13 --link tc 

Quand j'essayer d'utiliser:

sudo dpctl unix:/tmp/s1 queue-mod 1 1 10 

il retourne:

SENDING (xid=0xF0FF00F0): 
expmodqueue{port="1", queue={q="1", props=[minrate{rate="10"}]}} 


RECEIVED (xid=0xF0FF00F0): 
error{type="QUEUE_OP_FAILED", code="EPERM", dlen="56"} 

Le message d'erreur indique, qu'il y a probablement une erreur d'autorisation, mais je ne sais pas comment résoudre ce problème. L'insertion/modification de flux fonctionne comme prévu, qu'elle soit effectuée par dpctl ou par un contrôleur sdn.

Quelqu'un peut-il aider?

Répondre

0

J'ai réussi à résoudre ma propre question. Pour ceux qui sont intéressés:

Le ofsoftswitch13 utilise deux composantes principales:

  • ofprotocol
  • ofdatapath

Il semble que les paramètres par défaut de MININET inclut l'utilisation du'' option no-slicing'' au sein de ofdatapath cmd, ce qui m'empêche d'ajouter des files d'attente. Donc, la solution de base est de lancer ofdatapath sans le drapeau d'option mentionné. Lorsque j'ai créé mon réseau virtuel avec mininet, j'ai dû changer une ligne de fichiers mininet python.

Dans le changement ./mininet/mininet/node.py la ligne 923 de:

def __init__(self, name, dpopts='--no-slicing', **kwargs): 

à

def __init__(self, name, dpopts='', **kwargs): 

reconstruction Après MININET avec

sudo make install 

Si vous utilisez maintenant mininet pour créer votre réseau, le drapeau mentionné n'est plus utilisé et l'ajout de files d'attente est possible!

Espérons que cela aide, si quelqu'un se bat le même problème.