summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2012-12-11doc: setup TLS connectionOHMURA Kei
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-07of1.3: fix OFPT_PACKET_IN parserFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-30Ryu 1.5FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-30set setup.py install_requires properlyFUJITA Tomonori
Let's enable pip to solve the dependency. The code is taken from OpenStack. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-30python/ovs/stream: Fix Stream.connect() retval for incomplete connection.Isaku Yamahata
This code is a backport from the upstream OVS (commit dcb66da): If the loop condition in Stream.connect() was false, which is especially likely for TCP connections, then Stream.connect() would return None, which violates its documented behavior. This commit fixes the problem. Reported-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-30Revert "contrib/ovs/stream.py: TypeError: bad operand type for unary -: ↵Isaku Yamahata
'NoneType'" This reverts commit c3a41d06a654ea81cdc79d7bda5106d05f2e1deb. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-28ryu/log: bugfixYAMADA Hideki
$ ryu-manager --log_file $HOME/ryu.log Traceback (most recent call last): (...) File "/usr/local/lib/python2.7/dist-packages/ryu-1.1-py2.7.egg/ryu/log.py", line 74, in init_log logging.addHandler(logging.handlers.WatchedFileHandler(log_file)) AttributeError: 'module' object has no attribute 'addHandler' $ ryu-manager --log_file $HOME/ryu.log Traceback (most recent call last): (...) File "/usr/local/lib/python2.7/dist-packages/ryu-1.4-py2.7.egg/ryu/log.py", line 74, in init_log log.addHandler(logging.handlers.WatchedFileHandler(log_file)) AttributeError: 'module' object has no attribute 'handlers' $ ryu-manager --log_file $HOME/ryu.log Traceback (most recent call last): (...) File "/usr/local/lib/python2.7/dist-packages/ryu-1.4-py2.7.egg/ryu/log.py", line 76, in init_log mode = int(FLAGS.log_file_mnode, 8) File "/usr/local/lib/python2.7/dist-packages/gflags.py", line 810, in __getattr__ raise AttributeError(name) AttributeError: log_file_mnode $ ryu-manager --log_dir $HOME/log/ Traceback (most recent call last): (...) File "/usr/local/lib/python2.7/dist-packages/ryu-1.4-py2.7.egg/ryu/log.py", line 54, in _get_log_file return os.path.join(FLAGS.logdir, File "/usr/local/lib/python2.7/dist-packages/gflags.py", line 810, in __getattr__ raise AttributeError(name) AttributeError: logdir Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-26ofctl_v1_0: update and clean upOHMURA Kei
- add ip match support - add match_to_str() and actions_to_str() instead of action_to_str() Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23enable OF1.3 supportFUJITA Tomonori
Ryu sucessfully connects to CPqD OF1.3 switch. https://github.com/CPqD/ofsoftswitch13 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFPMP_FLOWFUJITA Tomonori
FlowStats works now. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: support OFPMatchFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23Add workaround to switch_features_handler for OF1.3FUJITA Tomonori
hacky workaround, will be removed. OF1.3 doesn't have ports. An application should not depend on them. But there might be such bad applications so let's keep this workaround for while. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFPPacketQueueFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 2649, in OFPPacketQueue @clasmethod NameError: name 'clasmethod' is not defined Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFPSetAsynFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 1555, in <module> @_set_msg_type(ofproto_v1_3.OFPT_SET_ASYNC) AttributeError: 'module' object has no attribute 'OFPT_SET_ASYNC' Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFPQueuePropFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 1398, in register_queue_property return _register_queue_property NameError: global name '_register_queue_property' is not defined Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFPMeterFeaturesStatsRequestFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 1265, in <module> @_set_stats_type(ofproto_v1_3.OFPMP_METER_FEATUERS, OFPMeterFeaturesStats) AttributeError: 'module' object has no attribute 'OFPMP_METER_FEATUERS' Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFPMeterConfigStatsReplyFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 1246, in <module> @_set_stats_type(ofproto_v1_3.OFPMP_METER_CONFIG, OFPMeterCOnfigStats) NameError: name 'OFPMeterCOnfigStats' is not defined Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFPPortStatsReplyFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 976, in <module> @_set_msg_type(ofproto_v1_3.OFPT_STATS_REPLY) AttributeError: 'module' object has no attribute 'OFPT_STATS_REPLY' Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFPMP_AGGREGATEFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 898, in <module> @_set_stats_type(ofproto_v1_3.OFPST_AGGREGATE, OFPAggregateStats) AttributeError: 'module' object has no attribute 'OFPST_AGGREGATE' Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFP_DESC_PACK_STRFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3.py", line 533, in <module> DESC_STR_LEN + 'c' TypeError: cannot concatenate 'str' and 'int' objects Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFP_METER_BAND_DSCP_REMARK_PACK_STR assertFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3.py", line 480, in <module> OFP_METER_BAND_DSCP_REMARK_SIZE) AssertionError Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFP_TABLE_MOD_PACK_STR assertFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3.py", line 383, in <module> assert (calcsize(OFP_TABLE_MOD_PACK_STR + OFP_HEADER_SIZE) == TypeError: cannot concatenate 'str' and 'int' objects Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-23of1.3: fix OFP_OXM_EXPERIMENTER_HEADER_SIZE assertFUJITA Tomonori
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_3.py", line 233, in <module> OFP_OXM_EXPERIMENTER_HEADER_SIZE) == OFP_OXM_EXPERIMENTER_HEADER_SIZE Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-22contrib/ovs: TypeError: bad operand type for unary -: 'NoneType'Isaku Yamahata
This fixes the following exception: When Stream.__scs_connecting doesn't change self.state, Stream.connect() returns None as implicit return value. Thus, the following exception is raised. conf_switch_set_handler 00003247b5e63145 ovsdb_addr tcp:172.17.60.198:6634 _ovsdb_update 00003247b5e63145 tcp:172.17.60.198:6634 172.17.60.198 _add_tunnel_ports <ryu.app.tunnel_port_updater.TunnelDP object at 0x14a5950> set([]) 172.17.60.198 - - [2012-11-21 15:01:00] "PUT /v1.0/conf/switches/00003247b5e63145/ovsdb_addr HTTP/1.1" 201 120 0.267351 remote tcp:172.17.60.198:6634 Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/gevent/greenlet.py", line 390, in run result = self._run(*self.args, **self.kwargs) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/app/tunnel_port_updater.py", line 289, in _serve_loop self._init() File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/app/tunnel_port_updater.py", line 125, in _init self.ovs_bridge.init() File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/lib/ovs/bridge.py", line 103, in init self.br_name = self._get_bridge_name() File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/lib/ovs/bridge.py", line 111, in _get_bridge_name self.run_command([command]) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/lib/ovs/bridge.py", line 99, in run_command self.vsctl.run_command(commands, self.timeout, self.exception) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/lib/ovs/vsctl.py", line 1006, in run_command self._run_command(commands) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/lib/ovs/vsctl.py", line 999, in _run_command self._do_main(commands) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/lib/ovs/vsctl.py", line 918, in _do_main self._init_schema_helper() File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/lib/ovs/vsctl.py", line 805, in _init_schema_helper vswitch_idl.OVSREC_DB_NAME) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/lib/ovs/vsctl.py", line 793, in _rpc_get_schema_json error, reply = rpc.transact_block(request) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/contrib/ovs/jsonrpc.py", line 306, in transact_block error = self.send(request) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/contrib/ovs/jsonrpc.py", line 240, in send self.run() File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/contrib/ovs/jsonrpc.py", line 200, in run retval = self.stream.send(self.output) File "/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/bin/ryu/contrib/ovs/stream.py", line 213, in send return -retval TypeError: bad operand type for unary -: 'NoneType' <Greenlet at 0x133fd10: <bound method TunnelDP._serve_loop of <ryu.app.tunnel_port_updater.TunnelDP object at 0x14a5950>>> failed with TypeError Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-21of1.2: fix some error constant typosSriram Natarajan
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-20packet lib: add arp constantsOHMURA Kei
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-16add TLS supportOHMURA Kei
This patch supports TLS connection to encrypt OF channel. Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-06of1.2: Fix MTVlanVid() parser and serializerHIYAMA Manabu
- The OFPVID_PRESENT bit indicate the presence of a valid VLAN_ID. - Reflect to unittests. Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-05don't use select.POLL* constantsFUJITA Tomonori
MacOS doesn't have POLL* constants (poll isn't supported by all OSes, I guess). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-05ofctl_v1_0: update get_flow_stats() to dump actionsOHMURA Kei
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-03wsgi/routes: add regex pattern for each REST componentIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-03contrib/ovs/dirs: replace @variables@ which is replaced by configureIsaku Yamahata
Normally dirs.py is created from dirs.py.template by configure script. Create it manually for our own copy. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2012-11-03import ovs python binding libraryIsaku Yamahata
From changeset 8087f5ff825cae3a699e5a60ca6dd0deb10fc8e5 dirs.py.template needs to be adopted for Ryu environment. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2012-11-03prepare contrib directory which holds third party libraryIsaku Yamahata
- create ryu/contrib directory - adjust module load path for third party library and prioritize our own copy than system's - teach ryu-manager ryu/contrib - run_tests.sh: exclude contrib dir for pep8 third party files will be included under ryu/contrib. Third party files aren't suitable to our pep8 check because they aren't under our control. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2012-11-01of1.2: Fix OFPActionExperimenter parserHIYAMA Manabu
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-11-01packet lib: remove unnecessary ICMP debug messageHIYAMA Manabu
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-31Ryu 1.4FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-30ryu/app/ofctl_rest: implements ofctl_rest appOHMURA Kei
This patch implements REST API for accessing state. This module helps your debugging and retrieving various statistics. It also supports flow entry pusher to allow users to manually insert flows into switch. - get all switch DPIDs connected to the controller $ curl http://<controller_ip>:8080/stats/switches - get the desc stats $ curl http://<controller_ip>:8080/stats/desc/<dpid> - get flows stats $ curl http://<controller_ip>:8080/stats/flow/<dpid> - get ports stats $ curl http://<controller_ip>:8080/stats/port/<dpid> - add a flow entry $ curl -d '{"dpid": "1", "cookie":"0", "priority":"32768", \ "actions":[{"port":2, "type":"OUTPUT"}], "match":{"in_port":1}}' \ http://<controller_ip>:8080/stats/flowentry - delete all flows of the switch $ curl -X DELETE \ http://<controller_ip>:8080/stats/flowentry/clear/<dpid> Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-30ryu/lib/ofctl_v1_0: introduce OF interfaceOHMURA Kei
This patch provides the raw OF interface. We can talk with a switch by using the OF interface via some protocols such as REST. Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-23test: add unittests for packet libraryHIYAMA Manabu
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-17silence unhandled event messageFUJITA Tomonori
Users misunderstand that this harmful message is critical. Let's silence it. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-12test: add unittests for packet libraryHIYAMA Manabu
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-12packet lib: fix udp header lengthHIYAMA Manabu
Fix the f5d2157 commit. Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-12packet lib: fix ipv4 assertion of option fieldHIYAMA Manabu
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-12tools/pip-requires: add routes which is used by wsgi.py moduleIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-11packet lib: add unparsed data to Packet.protocolsFUJITA Tomonori
Easy to access to the data that the library can't parse. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-06doc: update packet libraryFUJITA Tomonori
Use Packet class iterator feature Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-06packet lib: kill find_protocol in Packet classFUJITA Tomonori
- Now easy to know the protocol name and iterate protocols. - find_protocol doesn't handle the case the same protocols are stacked. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-06packet lib: set protocol_name in each protocolFUJITA Tomonori
With this, it's easy to know the protocol name. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-06packet lib: make Packet class iteratorFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>