summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2013-02-05ryu/lib/quantum_ifaces.py: track the relation of quantum iface-idFUJITA Tomonori
Based on the following patch: From: Isaku Yamahata <yamahata@valinux.co.jp> Date: Tue, 20 Nov 2012 12:21:51 +0900 Subject: ryu/lib/quantum_ifaces.py: track the relation of quantum iface-id This is needed for quantum plugin in order to track the association from iface-id to network id or other info. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05bin/ryu-client: support switch_confIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05bin/ryu-client: support gre tunnel clientIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05ryu/app/client: support conf_switchIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05ryu/app: REST API to set per-switch configurationIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05controller/switch_conf: introduce a class to manage per-switch configurationFUJITA Tomonori
This should be merged into dpset... Based on the following patch: From: Isaku Yamahata <yamahata@valinux.co.jp> Subject: controller/switch_conf: introduce a class to manage per-switch configuration For tunnel application and generally, it is necessary to associate configurations to each switches. Such as tunnel port ip address for each switches. So introduce a helper class to manage those configurations. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05app/client: add tunnel clientIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05app/rest_tunnel: REST API for tunnelIsaku Yamahata
With this API, other component such as openstack quantum tells informations necessary for tunnel. - tunnel key corresponding to network id - tunnel port related information which tunnel port of a given datapath connected to which remote datapath Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05controller/tunnel: introduce new class for tunnelingFUJITA Tomonori
This should be renamed (already used for non tunnel stuff, e.g. VLAN). Based on the following patch: From: Isaku Yamahata <yamahata@valinux.co.jp> Subject: controller/tunnel: introduce new class that tracks infos related to tunneling - helper functions and event generator for gre tunnel - plug events for gre tunnel app Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05dpset: add port event supportFUJITA Tomonori
Based on the following patch: From: Isaku Yamahata <yamahata@valinux.co.jp> Subject: dpset: add port{add, delete, modify} event for convenience and helper functions It is sometimes commonly interesting to track datapath/port appearance/disappearance. The applications usually want to see that ports appear after datapath becomes ready, and ports disappear when datapath is dead. It requires to handle properly events, hand shaking, port_mod event, switch_feature_reply. So introduce a common layer to handle them. GRE tunnel is interested in datapath/port appearance/disappearance. With this, tunnel app doesn't have to handle those conditions. Discovery is interested only in datapath/port appearance/disappearance. With this, discovery app would not have to handle OFP events directly. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05controller/network: add event supportsFUJITA Tomonori
Base on the following patch: From: Isaku Yamahata <yamahata@valinux.co.jp> Subject: controller/network: factor out network.py and add event generator for gre tunnel and helper methods - Factor out from network.py the logic to track network and dpid - introduce class Port to allow other info Later we'll track mac address associated to port. So allow intermediate layer to contain infos related to Port. - make network track mac address associated to port - generate events Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05controller/handler: allow set_ev_cls not to specify dispatchersFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05packet lib: add ipv6 ICMP supportHenkel, Michael
Signed-off-by: "Henkel, Michael" <michael.henkel@hp.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05packet lib: add ipv6 supportHenkel, Michael
Signed-off-by: "Henkel, Michael" <michael.henkel@hp.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05packet lib: add LLDP support.YAMADA Hideki
See "ryu/tests/unit/packet/test_lldp.py" to use this library. This patch is based on Yamahata's topology discovery patch series. http://thread.gmane.org/gmane.network.ryu.devel/467 Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05xflow: add netflow supportOHMURA Kei
This patch only implements netflowV5 parser. Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05remove event dumper applicationFUJITA Tomonori
This needs to be reimplemented so that each componet is enable to debug its own events. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05remove old dispatcher and friendsFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04bin/ryu-manager: import ryu.flags for common optionsIsaku Yamahata
Otherwise those options can't be specified. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04app/client: add helper function to ignore NOT_FOUND, 404Isaku Yamahata
Sometimes client code just wants to ignore 404 when deleting resources. So provide helper function for it. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04ryu/app/client: factor out rest client codeIsaku Yamahata
REST API will be enhanced. So factor out reset client code such that it affords extension. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04app/rest_nw_id: add port type for reserved port and vport-greIsaku Yamahata
This patch adds new port type for reserved port and vport-gre. They will be used later. Via this REST API, ryu knows which port is used for gre or reserved port. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04app/rest: add requirements to path componentIsaku Yamahata
This patch adds requirements to path component so that URL is verified. And simplify with submapper. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04replace dispatcher mechanismFUJITA Tomonori
This is purely internal change and no API for applications is changed. At least, I confirmed that folsom OpenStack plugin works. With the current dispatcher mechanism, multiple greenlets call applications' handlers and might be blocked anywhere so we need various locks to handle that concurrency. This makes things difficult for application developers. With this patch, each applications are connected with events. Each application has the own greenlet(s) to handle events and might send events to other applications. If an application registers handlers for some OF events, it subscribes to OF component and registers the OF events that it's interested. OF application delivers such OF events to the application and the application's greenlet executes the handlers. With this, we can completely remove dispatcher.py and its friends. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04lib/ovs/bridge: helper class to manipulate ovs bridgeIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04lib/ovs/vsctl: python reimplementation of ovs-vsctlIsaku Yamahata
This implements subset of ovs-vsctl which is used later. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-04lib/ovs: add constants for ovsdb Open_vSwitch dbIsaku Yamahata
Those constants are used to manipulate Open_vSwitch db of ovsdb. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-02contrib: fix a comment typoYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-30dpset: fix join racemarcelo
the datapath object should be added to the list in DPSet before datapath_join event is fired. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-30packet lib: pep8 warning fixYAMAMOTO Takashi
run_tests.sh complained. ryu/lib/packet/icmp.py:102:15: E271 multiple spaces after keyword return msg ^ Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-30test: remove some unnecessary bash dependenciesYAMAMOTO Takashi
/bin/bash is not so ubiquitous. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-30Ryu 1.6FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-29test: add mininet-test suiteHIYAMA Manabu
This patch adds a test framework using mininet. The following tests can be performed. - Set the flow for the OVS-switch from Ryu-app, we test the actual packet is to be handled properly in accordance with the flow; The packet that generated by "mz" or replayed by "tcpreplay" is routed through the ovs-switch, are processed according to the flow, then compare test conditions and the results captured by "tshark". - Create a packet with ryu using the packet-lib, we test the packet and response are correct; to compare test conditions and the results captured by "tshark". $ ./run_mnet-test.sh [OPTION] [TEST DIR or FILE]... $ ./run_mnet-test.sh l2 l3/icmp packet_lib/arp/ARP_gratuitous.mn $ ./run_mnet-test.sh --help Requirements package: - mininet: git://github.com/mininet/mininet.git - openvswitch: git://openvswitch.org/openvswitch - Mausezahn 0.40: http://www.perihel.at/sec/mz/ - TShark 1.6.2: http://www.wireshark.org/ - tcpreplay 3.4: http://tcpreplay.synfin.net/ Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-29test: Add "Decrement IP TTL" integration testHIYAMA Manabu
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-25ofctl_v1_0: fix stats timeout handlingOHMURA Kei
This patch fixes a issue reported by https://github.com/osrg/ryu/issues/7 Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-23fix lack of comma in flagfile listYoshihiro Kaneko
When flagfile option is omitted, ryu-manager cannot find "/etc/ryu/ryu.conf". Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-10of1.3: Fix a typo in OFPPacketOutKrzysztof Rutka
- in_port was missing an underscore Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-08setup: update installation infosIsaku Yamahata
- clean up setup.py and MANIFEST.in - simplejson isn't needed anymore - allow webob >= 1.0.8 as openstack quantum uses >= 1.0.8 version - allow gflags >= 1.3 as Fedora 18 uses gflags 1.5 Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-01-07test: change the branch of openvswitch to 'of12'HIYAMA Manabu
Change the branch of openvswitch used by integration tests to 'of12' Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-20ofp_handler: receiving side of OFPHelloElem version negotiationIsaku Yamahata
Teach Hello handler OFPHelloElemBitmapVersion Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-20of1.3: improve OFPHello and OFPHelloElemVerionsBitmapIsaku Yamahata
- fix bitmap offset calculation - un-tuple bitmap. The result of struct.unpack is a tuple - OFPHelloElemVerionsBitmap parser needs to be aware padding - make OFPHelloElemVerionsBitmap parse bitmap into the list of versions - make OFPHello always have elements attribute Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-20ofctl_{rest, v1_0}: update and clean upOHMURA Kei
- rename push_flow_entry to mod_flow_entry - add OFPFC_{MODIFY, DELETE} support - remove debug message Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-19ryu-manager: fix keyErrorOHMURA Kei
Exception can be be caused by importing the threading module before monkey.patch_all(). This patch fixes the following keyError: $ ryu-manager --version ryu-manager 1.5 Exception KeyError: KeyError(30027824,) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-19don't abuse __dict__ attributeIsaku Yamahata
There are built-in functions to handle attribute like hasattr. Use standard functions instead of abusing __dict__. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-19ofp_handler: Improve hello version negotiationIsaku Yamahata
When switch sends version higher than Ryu supports, Ryu fails to negotiate. In this case 4 = OF1.3 from switch 3 = OF1.2 from Ryu datapath.supported_ofp_version = (3 = OF1.2,) In such cases, we should use OF1.2 instead of error. > Connection to controller closed because of {"localhost",6633,0, {unsupported_version,4}} Reported-by: Shivaram Mysore <shivaram.mysore@gmail.com> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-18of1.3: fix OFPMultipartReply parserFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-12-15of1.3: support OFPHET_VERSIONBITMAPFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
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>