summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2013-07-13gre_tunnel.py: race conditionIsaku Yamahata
When tunnel key add/del event fires, the corresponding network_id does not necessarily exists due to race condition. So mask it. (15612) accepted ('127.0.0.1', 45714) 127.0.0.1 - - [25/Jun/2013 12:18:18] "DELETE /v1.0/networks/462be334-3160-48ae-9ef8-a456dc866f8f HTTP/1.1" 200 115 0.000393 (15612) accepted ('127.0.0.1', 45715) 127.0.0.1 - - [25/Jun/2013 12:18:18] "DELETE /v1.0/tunnels/networks/462be334-3160-48ae-9ef8-a456dc866f8f/key HTTP/1.1" 200 115 0.000260 hub: uncaught exception: Traceback (most recent call last): File "/opt/stack/ryu/ryu/lib/hub.py", line 50, in _launch func(*args, **kwargs) File "/opt/stack/ryu/ryu/base/app_manager.py", line 104, in _event_loop handler(ev) File "/opt/stack/ryu/ryu/app/gre_tunnel.py", line 233, in tunnel_key_del_handler for (dpid, port_no) in self.nw.list_ports(network_id): File "/opt/stack/ryu/ryu/controller/network.py", line 325, in list_ports return self.networks.list_ports(network_id) File "/opt/stack/ryu/ryu/controller/network.py", line 103, in list_ports raise NetworkNotFound(network_id=network_id) NetworkNotFound: no such network id 462be334-3160-48ae-9ef8-a456dc866f8f Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-13network: add a helper function to list ports that doesn't raiseIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-13gre_tunnel: exception due to race conditionIsaku Yamahata
This depends on thread scheduling. When event handler is invoked, there may not corresponding network_id in network module. In fact, Network.remove_network() fires EventNetworkPort(add_del=False) before EventNetworkDel event so that it is unnecessary to call _vm_port_mac_handler(). > 127.0.0.1 - - [19/Jun/2013 11:24:25] "DELETE > /v1.0/networks/8179bb70-a63f-4c74-a82e-a21f3c275c9a HTTP/1.1" 200 115 0.000488 > hub: uncaught exception: Traceback (most recent call last): > File "/opt/stack/ryu/ryu/lib/hub.py", line 50, in _launch > func(*args, **kwargs) > File "/opt/stack/ryu/ryu/base/app_manager.py", line 104, in _event_loop > handler(ev) > File "/opt/stack/ryu/ryu/app/gre_tunnel.py", line 210, in network_del_handler > for (dpid, port_no) in self.nw.list_ports(network_id): > File "/opt/stack/ryu/ryu/controller/network.py", line 319, in list_ports > return self.networks.list_ports(network_id) > File "/opt/stack/ryu/ryu/controller/network.py", line 97, in list_ports > raise NetworkNotFound(network_id=network_id) > NetworkNotFound: no such network id 8179bb70-a63f-4c74-a82e-a21f3c275c9a Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-13network.py: exception in Networks.remove_port()Isaku Yamahata
Neutron plugin can call remove_port after network deletion for automatic delete port like router/dhcp port. So ignore NetworkNotFound exception. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-13network: sort out order between event and actual deletion of networkIsaku Yamahata
And make Network.remove_network more robust. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-13network.py: sort out order between event and actual deletion of portIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-13app/gre_tunnel.py: typo has_network -> has_networksIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12app/quantum_adapter: pylintIsaku Yamahata
W: 18,0: Unused import logging W: 28,0: Unused import event Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12app/simple_vlan: pylintIsaku Yamahata
W: 17,0: Unused import logging Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12controller/network: pylintIsaku Yamahata
W: 18,0: Unused import logging Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12add a test for ryu.lib.stringifyYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12test_parser_v12: abuse this to test to_jsondict and from_jsondictYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12of1.3: omit mask attribute from str() when appropriateYAMAMOTO Takashi
normalize str() outputs so that tests like str(msg1) == str(msg2) more likely succeed. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12of1.3: of-wire json adaptYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12of1.2: omit mask attribute from str() when appropriateYAMAMOTO Takashi
normalize str() outputs so that tests like str(msg1) == str(msg2) more likely succeed. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12of1.2: of-wire json adaptYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12of1.0: of-wire json adaptYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-12StringifyMixin: json supportYAMAMOTO Takashi
factor out guts of StringifyMixin into a separate module. add methods to convert to/from json.loads/dumps-compatible dictionary. this is mainly for json representation of of-wire (OFPxxx) classes. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-11ryu/flags: rename config paramerters related to openstackYoshihiro Kaneko
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-11app/quantum_adapter: fix missing change to neutronYoshihiro Kaneko
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-11app/quantum_adapter: project rename quantum -> neutronIsaku Yamahata
Catch up for rename from quantumclient to neutronclient. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-11app/client: update for quantum->neutron changeIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-10fix comment typos (ofprotp -> ofproto)YAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-10fix typos (mpls_lable -> mpls_label)YAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-09base/app_manager: teach event dispatcher stateIsaku Yamahata
When independent methods for different dispatchers defined, all methods are called independent of state. This patch teach event dispatcher state. The following class class PacketTesting(app_manager.RyuApp): @set_ev_cls(ofp_event.EventOFPEchoRequest, MAIN_DISPATCHER) def _echo_rep_main(self, ev): print "DEBUG: In Handler for Echo Request (Main)" @set_ev_cls(ofp_event.EventOFPEchoRequest, CONFIG_DISPATCHER) def _echo_rep_conf(self, ev): print "DEBUG: In Handler for Echo Request (Config)" @set_ev_cls(ofp_event.EventOFPEchoRequest, HANDSHAKE_DISPATCHER) def _echo_rep_hand(self, ev): print "DEBUG: In Handler for Echo Request (Handshake)" output > EVENT ofp_event->PacketTesting EventOFPEchoRequest > DEBUG: In Handler for Echo Request (Config) > DEBUG: In Handler for Echo Request (Dead) > DEBUG: In Handler for Echo Request (Handshake) > DEBUG: In Handler for Echo Request (Main) Reported-by: Alan Barr <alanbarr2002@gmail.com> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-09use ofproto.OFP_NO_BUFFER in some placesYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-09define OFP_NO_BUFFERYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-09ryu/app/conf_switch_key: fix a commentOHMURA Kei
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-09update the site urlOHMURA Kei
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-09man: remove man page of ryu clientIsaku Yamahata
ryu-client isn't installed any more as it has been moved to ryu/tests. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-09packege: rpmlint warningIsaku Yamahata
ryu.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/ryu/tests/unit/lib/test_hub.py 0644L /usr/bin/env ryu.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/ryu/lib/hub.py 0644L /usr/bin/env Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-09MANIFEST.in: fix up to address warningIsaku Yamahata
> warning: manifest_maker: MANIFEST.in, line 4: 'recursive-include' expects <dir> <pattern1> <pattern2> ... > warning: no previously-included files matching '*' found under directory 'doc/build/*/' Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-02openstack copyright noticeYAMAMOTO Takashi
restore openstack copyright notice for the code taken from them. > commit f2c6dfe1066aeecb5fdf2fb1cd5ce6476565fd24 > Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> > Date: Fri Nov 30 15:54:12 2012 +0900 > > set setup.py install_requires properly > > 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> Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-02lib/packet: teach packet library to truncate padding octetIsaku Yamahata
The patch teaches packet library to truncate padding octets. Change packet_base.parser() to return (header, next_type, rest_of_packet) The protocol class that knows its payload length should rest_of_packet where padding octets at the last of packet is truncated. As bonus, - fix ipv6 parser as ipv6 header doesn't have options. It seems copy-and-paste from ipv4 - improve ipv4, tcp a bit Cc: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Cc: Shaun Crampton <Shaun.Crampton@metaswitch.com> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-02lib/packet: make packet_base.parser abstract methodIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-02lib/packet: make protocol_name property instead of attributesIsaku Yamahata
Because it is read-only and to prevent accidental over-write. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-01Ryu 2.1FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-01rename ryu-client under ryu/testsIsaku Yamahata
Since it is debugging tool for developer, don't install it. and move it under ryu/rests directory. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-29of1.3: fix OFPSetConfig default argumentsFUJITA Tomonori
The equivalent fix for of1.2 is the commit 3d90147. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-29of1.2: OFPGroupFeaturesStats: tuple -> listYAMAMOTO Takashi
tuples are json-unfriendly. (of1.3 version was completely broken until very recently and the way i fixed it is consistent with this change.) Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-29of1.3: fix OFP_GROUP_DESC_STATS_PACK_STRYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-29of1.3: fix OFPMeterStatsYAMAMOTO Takashi
len -> length as the latter seems to be expected by OFPMultipartReply.parser_stats_body. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-28topology/switches: exception during serializationIsaku Yamahata
Datapath.send_packet_out() requires buffer_id, not dpid. > 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 "ryu/base/app_manager.py", line 126, in _event_loop > handler(ev) > File "/ryu/topology/switches.py", line 697, in packet_in_handler > self._drop_packet(msg) > File "/ryu/topology/switches.py", line 640, in _drop_packet > dp.send_packet_out(dp.id, msg.in_port, []) > File "/ryu/controller/controller.py", line 242, in send_packet_out > self.send_msg(packet_out) > File "/ryu/controller/controller.py", line 216, in send_msg > msg.serialize() > File "/ryu/ofproto/ofproto_parser.py", line 119, in serialize > self._serialize_body() > File "/ryu/ofproto/ofproto_v1_0_parser.py", line 1987, in _serialize_body > self.buffer_id, self.in_port, self.actions_len) > File "/ryu/ofproto/ofproto_parser.py", line 128, in msg_pack_into > buf += struct.pack(fmt, *args) > error: 'I' format requires 0 <= number <= 4294967295 > <Greenlet at 0x229bd98: <bound method Switches._event_loop of <switches.Switches object at 0x1c8e690>>> failed with error Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-28topology/switches: packet in handlerIsaku Yamahata
The logic of counting sent packet seems wrong. Reported-by: Q Lady <holynn.q@gmail.com> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-28packet lib: stop tlv parsing when finding LLDP_TLV_ENDIsaku Yamahata
There may be padding at the end of payload. So the assumption that there is no payload after LLDP_TLV_END is not correct. Reported-by: Q Lady <holynn.q@gmail.com> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-28packet lib: add ICMP sub encoder/decoder classwatanabe.fumitaka
Add ICMP sub encoder/decoder class for Destination Unreachable Message. and, add parser to Time Exceeded Message class. Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-20ofctl_v1_2.actions_to_str: ignore unknown instructionsYAMAMOTO Takashi
avoid crashing when the switch happens to have flows with non OFPInstructionActions instructions. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-20of13: prefix private attributes of OFPMatch with _YAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-20of12: prefix private attributes of OFPMatch with _YAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-20nx_match: some commentsYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>