summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2014-06-11fix failure of instantiating appYoshihiro Kaneko
For example, app-A has app-X in CONTEXTS, and app-B depends on app-X as SERVICE. When app-B is specified in the app-lists before app-A, the instantiating app-X fails by an assertion. $ PYTHONPATH=. bin/ryu-manager ryu.app.quantum_adapter ryu.app.gre_tunnel loading app ryu.app.quantum_adapter loading app ryu.app.gre_tunnel loading app ryu.controller.dpset loading app ryu.controller.ofp_handler loading app ryu.controller.ofp_handler loading app ryu.controller.ofp_handler instantiating app None of QuantumIfaces creating context quantum_ifaces instantiating app None of ConfSwitchSet creating context conf_switch instantiating app None of Network creating context network instantiating app None of Tunnels creating context tunnels instantiating app None of DPSet creating context dpset instantiating app ryu.app.gre_tunnel of GRETunnel instantiating app ryu.controller.dpset of DPSet Traceback (most recent call last): File "/opt/stack/ryu/bin/ryu-manager", line 19, in <module> main() File "/opt/stack/ryu/ryu/cmd/manager.py", line 77, in main services.extend(app_mgr.instantiate_apps(**contexts)) File "/opt/stack/ryu/ryu/base/app_manager.py", line 434, in instantiate_apps self._instantiate(app_name, cls, *args, **kwargs) File "/opt/stack/ryu/ryu/base/app_manager.py", line 421, in _instantiate register_app(app) File "/opt/stack/ryu/ryu/base/app_manager.py", line 50, in register_app assert app.name not in SERVICE_BRICKS AssertionError This patch avoid the double loading of app in context and service. Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-11fix: wrong copyrightFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-10sw test tool: Improve readability of IP mask valuesYuichi Ito
4294967040 -> "255.255.255.0" 4294902015 -> "255.255.0.255" 340282366920938463463374607431768145920 -> "ffff:ffff:ffff:ffff:ffff:ffff:ffff:0" 5192296858534827628530496329220095 -> "0:ffff:ffff:ffff:ffff:ffff:ffff:ffff" Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-10sw test tool: Improve readability of MAC mask valuesYuichi Ito
1099511627775 -> "00:ff:ff:ff:ff:ff" 281474976710400 -> "ff:ff:ff:ff:ff:00" 281474959998975 -> "ff:ff:ff:00:ff:ff" 281470698520575 -> "ff:ff:00:ff:ff:ff" Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-10sw test tool: Improve readability of padding dataYuichi Ito
str(\"\\x00\" * (60 - 42)) -> str('\\x00' * (60 - 42)) str(\"\\x11\" * (1500 - 54)) -> str('\\x11' * (1500 - 54)) '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00' -> str('\\x00' * 30) Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-10sw test tool: Improve readability of tcp optionsYuichi Ito
option='\\x00\\x00\\x00\\x00' -> option=str('\\x00' * 4) option='\\x11\\x11\\x11\\x11' -> option=str('\\x11' * 4) Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-10rest_qos: Enable queue setting to interface individuallyKiyonari Harigae
Added an option command to enable the queue setting to interface individually. Also, some minor fixes. Signed-off-by: Kiyonari Harigae <lakshmi@cloudysunny14.org> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-10packet lib: add Connectivity Fault Management Protocol(CFM, IEEE 802.1ag)takahashi.minoru
Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-10app_manager: Fix a crash in unregister_handlerYAMAMOTO Takashi
This fixes a regression introduced by commit d3f8f4eb. ("RyuApp: delete a key without handlers when unregistering a handler") Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-03Ryu 3.10FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-03doc: add test-of-config-with-linc pageYoshihiro Kaneko
port from wiki page. Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-03doc: add test-vrrp pageYoshihiro Kaneko
port from wiki page. Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-03ofctl_v1_2: fix errors of get_flow_statstakahashi.minoru
following match fields caused an exception at get_flow_stats command: ipv6_nd_sll, ipv6_nd_tll this patch fixes this problem. Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-03ofctl_v1_2: fix pep8takahashi.minoru
ryu/lib/ofctl_v1_2.py:444:15: E127 continuation line over-indented for visual indent Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-02bgp: remove unnecessary OutgoingRoute attribute 'bgp4_format'ISHIDA Wataru
Attribute 'bgp4_format' was intended to be used to decide whether to construct UPDATE msg in bgp4 format or mpbgp format. But we can decide this simply by checking the path type which we are going update. If the path type is IPv4, we use bgp4 format. In other cases, we use mpbgp format. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-02bgp: fix typoISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-02bgp: fix bug of exchanging paths between vrf and global_tableISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-02packet/bgp: add route distinguisher classes and refine codesISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-02bgp: keep and use nexthop value as a string internallyISHIDA Wataru
Instead of BGPPathAttributeNextHop, keep nexthop value as a string. Convert it to string as we get Update msg. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-02ofctl_v1_2/3: MAC arbitrary bitmask supporttakahashi.minoru
ofctl_rest is now enabled to use MAC arbitrary bitmask as follows: curl -X POST -d '{"dpid": 1, "actions":[{"port":2, "type":"OUTPUT"}], "match":{"dl_dst":"01:02:03:ab:cd:ef/ff:ff:ff:ff:00:00"}}' http://localhost:8080/stats/flowentry/add And now enabled to display as follows: curl http://localhost:8080/stats/flow/1 { "1": [ { "actions": ["OUTPUT:2"], "idle_timeout": 0, "cookie": 0, "packet_count": 0, "hard_timeout": 0, "byte_count": 0, "duration_nsec": 951000000, "priority": 0, "duration_sec": 35, "table_id": 0, "match": {"dl_dst": "01:02:03:ab:00:00/ff:ff:ff:ff:00:00"} } ] } Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-28bgp: add 'neighbors.get' and 'show.rib' JSON RPC APIFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27bgp: add JSON RPC APIFUJITA Tomonori
Adds JSON RPC API on web socket to dynamically configure bgp. This is the initial support (there are still tons of APIs that are not exported via JSON RPC API). $ sudo PYTHONPATH=.:$PYTHONPATH ryu-manager ryu/services/protocols/bgp/api/jsonrpc.py ryu/services/protocols/bgp/application.py then you can configure on another terminal: ~ fujita$ wsdump.py ws://127.0.0.1:8080/bgp/ws Press Ctrl+C to quit > {"jsonrpc": "2.0", "id": 1, "method": "core.start", "params" : {"as_number":64512, "router_id":"10.0.0.2"}} < {"jsonrpc": "2.0", "id": 1, "result": {}} > {"jsonrpc": "2.0", "id": 1, "method": "neighbor.create", "params" : {"ip_address":"192.168.177.32", "remote_as":64513}} < {"jsonrpc": "2.0", "id": 1, "result": {}} > {"jsonrpc": "2.0", "id": 1, "method": "network.add", "params" : {"prefix":"10.20.0.0/24"}} < {"jsonrpc": "2.0", "id": 1, "result": {}} Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27bgp: set bgp-config-file default NoneFUJITA Tomonori
allowing not use a config file. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27bgp: fix non configured peer exceptionFUJITA Tomonori
peer is None if the connection comes from non configured bgp peer. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27bgp: import lacking constantsISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27doc: add components pageYoshihiro Kaneko
port from wiki. dummy quantumclient is necessary to import ryu.app.quantum_adapter by sphinx.ext.autodoc. Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
2014-05-27bgp: use host's ssh host key if not specifiedFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27sw test tool: Add default test files (group:all/select)Yuichi Ito
These test files aim to examine 'group action' of FlowMod message. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27sw test tool: Enable sending packets using random valuesYuichi Ito
The switch test tool is now enabled to send packets using random values as follows: "tests":[ { "ingress":{ "packets":{ "data":[ "ethernet(dst=netaddr.EUI(randint(0, 2 ** 48 - 1)), ethertype=2048)", "ipv4(proto=6, src=netaddr.IPAddress(randint(0, 2 ** 32 - 1)))", "tcp(dst_port=randint(0, 2 ** 16 - 1))", "str('\\x11' * (1500 - 54))" ], "pktps":1000, "duration_time":30 } }, "egress":{ "throughput":[ { "OFPMatch":{ "oxm_fields":[ { "OXMTlv":{ "field":"in_port", "value":2 } } ] }, "kbps":1500 } ] } } ] When ingress.packets.data includes 'randint', the switch test tool will send each packet using random values. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27sw test tool: Enable parsing OFPGroupMod messages in 'prerequisite'Yuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27sw test tool: Add support for confirmation of installed group entriesYuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27sw test tool: Add support for installation of group tablesYuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27sw test tool: Add support for initialization of group tablesYuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-27sw test tool: Add a link between switchesYuichi Ito
This change is for tests that use group_table. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-24wsgi: add ws_topology applicationSatoshi Kobayashi
- Topology change is notified - JSON-RPC/WebSocket Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp> Reviewed-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-24rest_topology: use decorator apiSatoshi Kobayashi
Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp> Reviewed-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-21sw test tool: pylintYuichi Ito
E:1026, 8: Instance of 'DummyDatapath' has no 'set_xid' member (but some types could not be inferred) (maybe-no-member) E:1027, 8: Instance of 'DummyDatapath' has no 'send_msg' member (but some types could not be inferred) (maybe-no-member) NOTE: These methods are never called. This patch is only for avoiding pylint error. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-21sw test tool: Reduce similar methods of checking entries existYuichi Ito
All of _test_xxx_exist_chk() are merged as _test_exist_chk(). Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-21sw test tool: Reduce similar methods of handling eventsYuichi Ito
All of xxx_stats_reply_handler() are merged as stats_reply_handler(). Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-21sw test tool: Reduce similar methods of initializing flowsYuichi Ito
_test_initialize_flow_tester() is merged into _test_initialize_flow(). Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-21sw test tool: Reduce similar methods of deleting flowsYuichi Ito
OpenFlowSw.del_test_flow() and OpenFlowSw.del_flows_for_throughput_analysis() are merged as OpenFlowSw.del_flows(). And rename OpenFlowSw.del_test_meter() to OpenFlowSw.del_meters(), like OpenFlowSw.del_flows(). Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-21sw test tool: Reduce similar classesYuichi Ito
TargetSw and TesterSw are merged as OpenFlowSw. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-21sw test tool: Remove an unnecessary wrapper methodYuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-20simple_switch_websocket_13: Add get_arp_table RPC methodYAMADA Hideki
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-20pip-requires: WebSocket-RPC requires tinyrpcYAMADA Hideki
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-20Add WebSocket JSON RPC featureYAMADA Hideki
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-20simple_switch_websocket_13: fix typoYAMADA Hideki
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-19New API for WebSocket supportSatoshi Kobayashi
- API - @websocket decorator - WSGIApplication#websocketmanager() - bugfix - Even if a connection is cut, it continues remaining - remove restriction - Two or more connections can be accepted Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp> Reviewed-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-16Add PacketIn dumper websocket applicationYAMADA Hideki
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-16wsgi: Support WebSocketYAMADA Hideki
- Hack webob.dec.wsgify for taking start_response function. - Add websocket handshake helper method to controller. Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>