猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

rest.pyの動作確認

 RyuのRESTを扱うサンプルコードの内で、最もシンプルなrest.pyを動かしてみました。ローカルでrest.pyを起動させ、同じくローカルから自身に対してcurlコマンドでhttpリクエストを送信します。

 下の例ではGETリクエストでの表示とPOSTリクエストでの登録しかおこなってません。DELETEおよびUPDATEで削除・更新することもできます。

起動

# ryu-manager ryu/app/rest.py

ネットワークの登録・表示

ネットワーク名としてtestNWを使用してみます。

$ curl -X POST http://localhost:8080/v1.0/networks/testNW
$ curl http://localhost:8080/v1.0/networks
["testNW"]

登録したネットワークに対してdatapathIDとportの登録・表示

datapathIDに00003e8b61071c50を、portに1を使用します。

$ curl -X POST http://localhost:8080/v1.0/networks/testNW/00003e8b61071c50_1
$ curl http://localhost:8080/v1.0/networks/testNW
[[68768349232208, 1]]

登録したdatapathIDとportに対してmacアドレスの登録・表示

 macアドレスとしてaa:aa:aa:bb:bb:bbを使用します。

$ curl -X POST http://localhost:8080/v1.0/networks/testNW/00003e8b61071c50_1/mac/aa:aa:aa:bb:bb:bb
$ curl http://localhost:8080/v1.0/networks/testNW/00003e8b61071c50_1/macs
["aa:aa:aa:bb:bb:bb"]

 次はrest.pyのソースコードリーディングをやってみます。