2015-11-12 43 views
0

我試圖通過mininet將隊列(綁定到端口)添加到模擬網絡環境的多個交換機。 所使用的開關FPGA實現是ofsoftswitch13添加隊列來切換ofsoftswitch13實現不起作用

命令啓動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 

當我嘗試使用:

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

它返回:

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"} 

該錯誤消息表示,可能存在許可錯誤 但我不知道如何解決這個問題。 流量插入/修改按預期工作,無論是由dpctl還是由一個sdn控制器完成。

任何人都可以幫忙嗎?

回答

0

我現在設法解決了我自己的問題。 對於那些,誰是興趣:

的ofsoftswitch13利用兩個主要組件:

  • ofprotocol
  • ofdatapath

看來,mininet的默認設置包括的使用''在ofdatapath cmd中沒有 - slicing'選項,這阻止了我添加隊列。 所以基本的解決方案是運行沒有提到的選項標誌的數據通路。 當我使用mininet創建我的虛擬網絡時,我必須更改一行mininet python文件。

在./mininet/mininet/node.py改變線路923從:

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

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

sudo make install 

如果你現在使用之後重建mininet mininet創建您的網絡,提到的標誌不再使用,並添加隊列是可能的!

希望它有幫助,如果有人爭取同樣的問題。