From 5b1f5aea29df7738bcc0c80b6c986e6dfe4dc5c5 Mon Sep 17 00:00:00 2001 From: YAMADA Hideki Date: Mon, 23 Jun 2014 15:41:28 +0900 Subject: [PATCH] document: ryu.app.gui_topology Signed-off-by: YAMADA Hideki Signed-off-by: FUJITA Tomonori --- doc/source/configuration.rst | 1 + doc/source/gui.png | Bin 0 -> 24672 bytes doc/source/gui.rst | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 doc/source/gui.png create mode 100644 doc/source/gui.rst diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst index f65382d1..265ee1e1 100644 --- a/doc/source/configuration.rst +++ b/doc/source/configuration.rst @@ -6,4 +6,5 @@ Configuration :maxdepth: 2 tls.rst + gui.rst diff --git a/doc/source/gui.png b/doc/source/gui.png new file mode 100644 index 0000000000000000000000000000000000000000..4e5cb8c6bbc85d74c12936e4ac8a06941714ecb2 GIT binary patch literal 24672 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 literal 0 HcmV?d00001 diff --git a/doc/source/gui.rst b/doc/source/gui.rst new file mode 100644 index 00000000..e51d7840 --- /dev/null +++ b/doc/source/gui.rst @@ -0,0 +1,33 @@ +*************** +Topology Viewer +*************** + +ryu.app.gui_topology.gui_topology provides topology visualization. + +This depends on following ryu applications. + +===================== ================================================= +ryu.app.rest_topology Get node and link data. +ryu.app.ws_topology Being notified change of link up/down. +ryu.app.ofctl_rest Get flows of datapaths. +===================== ================================================= + +Usage +===== + +Run mininet (or join your real environment):: + + $ sudo mn --controller remote --topo tree,depth=3 + +Run GUI application:: + + $ PYTHONPATH=. ./bin/ryu run --observe-links ryu/app/gui_topology/gui_topology.py + +Access http://:8080 with your web browser. + +Screenshot +========== + +.. image:: gui.png + :width: 640 px +