關於Ryu App的一些疑問

476 views
Skip to first unread message

Kun-Lin Lu

unread,
Sep 24, 2015, 8:12:49 AM9/24/15
to SDNDS-tw
最近在測試Ryu的app發現不少問題(配合mininet和postman使用)
1.rest_firewall.py和rest_qos.py隨著ryu-manager一起啟動時,GET /qos/rules/{switch-id}在postman上會出現500的錯誤,如附圖1。

2.若開啟rest_router.py,則mininet的ping功能會失效?例如h1 ping h2會整個停滯,ctrl+c結束時反饋的消息寫說封包都遺失了?

3.若添加--observe-links的參數,則GET /qos/rules/{switch-id}又會出現錯誤了(又是他),如附圖2(錯誤訊息有不同)。若不加--observe-links就可以正常運作,但我們又需要用到--obverse-links來GET /v1.0/topology/links。

不知道各位有沒有遇過相同的事情,因為這些問題我們實在是google不到,希望能幫忙分享經驗解惑,或者是否知道還有無其他對Ryu有研究的blog或論壇(英文也可)能讓小弟也去發問一下。

萬分感激~

Ping Chun Huang

unread,
Sep 24, 2015, 12:08:44 PM9/24/15
to Kun-Lin Lu, SDNDS-tw
hi,

你能給你如何測試的流程嗎? 附上版本及流程, 讓我們能重現.

謝謝

Ping-Chun Huang 黃秉鈞 pichuang
http://blog.night9.cc

Wireless Internet Laboratory
Computer Center, Department of Computer Science
National Chiao Tung University

--
Welcome to http://sdnds.tw/
---
這是 Google 網上論壇針對「SDNDS-tw」群組發送的訂閱通知郵件。
如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子郵件到 sdnds-tw+u...@googlegroups.com
如要在這個群組張貼留言,請傳送電子郵件到 sdnd...@googlegroups.com
請前往以下網址造訪這個群組:http://groups.google.com/group/sdnds-tw
如要在網路上查看這項討論,請造訪 https://groups.google.com/d/msgid/sdnds-tw/e7f17de4-6994-4884-baf2-6365064ee04b%40googlegroups.com
如需更多選項,請前往:https://groups.google.com/d/optout

Kun-Lin Lu

unread,
Sep 25, 2015, 2:33:36 AM9/25/15
to SDNDS-tw
好的,很抱歉當初忘記附圖了,附檔是一開始問題提到的圖一、圖二

使用的版本為OpenFlow 1.3,使用的作業系統為Ubuntu 14.04

第一個情況:
1.以終端機輸入「sudo mn --topo single,3 --mac --switch ovsk,protocols=OpenFlow13 --controller=remote,127.0.0.1 」執行mininet 2.以另一個終端機輸入「ryu-manager --verbose --observe-links ryu.app.rest_qos ryu.app.qos_simple_switch_13 ryu.app.rest_conf_switch ryu.app.rest_firewall」執行ryu (註:qos_simple_switch_13.py 是參考 https://osrg.github.io/ryu-book/en/html/rest_qos.html) 3.以Postman 嘗試Get/qos/rules/{switch-id},出現錯誤訊息(如圖一) 第二個情況: 1.以終端機輸入「sudo mn --topo single,3 --mac --switch ovsk,protocols=OpenFlow13 --controller=remote,127.0.0.1 」執行mininet 2.以另一個終端機輸入「ryu-manager --verbose --observe-links ryu.app.rest_qos ryu.app.qos_simple_switch_13 ryu.app.rest_conf_switch ryu.app.qos_rest_router」執行ryu (註:qos_rest_router.py 是參考 https://osrg.github.io/ryu-book/en/html/rest_qos.html) 3.以Postman 嘗試Get/qos/rules/{switch-id}、Get/router/{switch-id} 皆成功 4.回到mininet的終端機,嘗試h1 ping h2 則會如附檔圖三一樣,卡在這裡 (如果將ryu和mininet關掉重開,但是沒有qos_rest_router的話就可以ping了) 5.以Ctrl+c 強制結束ping,訊息回饋是100% packet loss (註:這時加 --observe-links,是可以Get/qos/rules/{switch-id}的。) 第三個情況: 1.以終端機輸入「sudo mn --topo single,3 --mac --switch ovsk,protocols=OpenFlow13 --controller=remote,127.0.0.1 」執行mininet 2.以另一個終端機輸入「ryu-manager --verbose --observe-links ryu.app.rest_qos ryu.app.qos_simple_switch_13 ryu.app.rest_conf_switch ryu.app.rest_topology ryu.topology.switches ryu.app.ofctl_rest」執行ryu 3.以Postman 嘗試Get/qos/rules{switch-id},出現錯誤訊息(如圖二) 4.回到mininet的終端機,嘗試h1 ping h2,功能正常 5.目前我們再度測試,是發現只要有 ryu.app.rest_topology 或 ryu.topology.switches,並加入--observe-links的參數,Get/qos/rules/{switch-id}就會出錯。 非常謝謝您!
1.jpg
2.jpg
3.jpg
Reply all
Reply to author
Forward
0 new messages