summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2012-05-07doc/source/step_by_step.rst: add item to setup quantum dbIsaku Yamahata
The step to create quantum db was missing. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-07Fix OFP_ACTION_DL_ADDR_PACK_STRFUJITA Tomonori
Use '6s' for a mac address. It's consistent with nx code and works with mac.haddr_to_bin helper function. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Reviewed-by: Simon Horman <horms@verge.net.au>
2012-05-07Fix OFPActionHeader class 'serialize' methodFUJITA Tomonori
OFPActionHeader class should have 'serialize' method. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Reviewed-by: Simon Horman <horms@verge.net.au>
2012-05-01controller/controller: make send_flow_mod() allow default value for priorityIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01app: use symbol instead of 32678 for default priorityIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01ofproto/ofproto_v1_0_parser: flowmod default parameterIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01ofproto/ofproto_v1_0_parser: make FlowMod allow meaningful default parameterIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Reviewed-by: Simon Horman <simon@horms.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01controller, ofproto_v1_0: avoid format for argumentIsaku Yamahata
format is defined in builtin, so it should be avoid for argument. use flow_format instead. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Reviewed-by: Simon Horman <simon@horms.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01ofproto/ofproto_v1_0_parser: serializer for NXActionResbumitIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01ofproto/ofproto_v1_0_parser: serializer for nxt_flow_mod_table_idIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01ofproto/ofproto_v1_0_parser: improve NXTRequest initializerIsaku Yamahata
initialize subtype by base class, NXTRequest, instead of subclass. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Reviewed-by: Simon Horman <simon@horms.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01ofproto/ofproto_v1_0: more constants for nxIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01app/wsapi: make WSPathComponent inherit objectIsaku Yamahata
Later we create subclass of WSPathComponent so that make super() work. app/wsapi: super().__init__() Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01app/wsapi/WSPathArbitraryString: wrong indentIsaku Yamahata
WSPathArbitraryString.__str__ method should be instance method. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01add missing super().__init__()Isaku Yamahata
- app/event_dumper - controller/dispatcher - controller/mac_to_network - controller/mac_to_port - app/simple_switch Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-01app/simple_isolation: unbreak nx patchIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-04-11fix find_flagfile path handling bugYoshihiro Kaneko
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-04-06update docs on the license switchFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-04-06Switch to Apache 2.0 licenseFUJITA Tomonori
To make the further integration into IaaS OSS (OpenStack and CloudStack) easier, we switch to Apache 2.0 license. ryu/app/wsapi.py is still under GPL3 or later. We replace it later. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-04-06Use the original file licenseFUJITA Tomonori
This file is based on code distributed under GPL3 or later so it should stick to the same license. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-04-04ryu 0.2FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-16ignore GreenletExit exceptionFUJITA Tomonori
We get a pretty anonying message every time a datapath has gone since we kill send_thr gleenlet in the normal termination. Let's ignore the exception. In the long term, we should improve error message delivering. Just printing an error is pretty useless. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13Add NXActionSetTunnel and NXActionSetTunnel64Simon Horman
These actions allow setting of the tunnel id when a packet is transmitted over a tunnel. For example, to set a tenant-specific id when transmitting packets over a tunnel used by more than one tenant. The NXActionSetTunnel64 was added to OpenvSwtich after NXActionSetTunnel. NXActionSetTunnel64 seems to be the preferred action although GRE tunnels only support 32bit keys.t Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13Allow send_flow_mod() to send NXTFlowMod messagesSimon Horman
Allow send_flow_mod() to send NXTFlowMod messages in place of OFPFlowMod messages if the match includes fields chat can't be encoded by OFPMatch The flow format will be upgraded as necessary Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13Add match_tuple() and flow_format() methods to ClsRuleSimon Horman
This will be used to allow send_flow_mod() to send either OFPFlowMod or NXTFlowMod messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13Add NXTFlowModSimon Horman
Allow Nicira Extension NXT_FLOW_MOD vendor messages to be serialised. This is to allow setting flows which require the use of NXM matches, for example matching on the tunnel id. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13NXM: Add MFIPDSCP and MFIPECN classesSimon Horman
This is to handle IP_DSCP and IP_ECN NXM fields respectively. This will be used when sending NXT_FLOW_MOD messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13NXM: Add MFEthType classSimon Horman
This is to handle ETH_TYPE NXM fields. This will used when sending NXM_FLOW_MOD messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13NXM: Add MFEthSrc classSimon Horman
This is to handle ETH_SRC NXM fields. This will be used when sending NXM_FLOW_MOD messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13NXM: Add MFEthDst classSimon Horman
This is to handle ETH_DST NXM fields. This will used when sending NXT_FLOW_MOD messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13NXM: Add MFTunId classSimon Horman
This is to handle TUN_ID and TUN_ID_W NXM fields. This will be used when sending NXT_FLOW_MOD messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13NXM: Add MFInPort classSimon Horman
This is to handle IN_PORT NXM fields. This will be used when sending NXT_FLOW_MOD messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13Add base for serialising NXM matchesSimon Horman
This will be used when sending NXT_FLOW_MOD messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13Add support for NXT_SET_FLOW_FORMATSimon Horman
This message may be used to request that the NXM flow format may be used. NXM is used as the match in NX vendor extension messages such as NXT_FLOW_MOD. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-13Add Nicira vendor extensionsSimon Horman
Add framework for Nicira vendor request messages. This will be used to add support for NXT_SET_FLOW_FORMAT and NXT_FLOW_MOD messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-08ryu/handler: class decorator should return class objectIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-08controller: print stack trace when datapath main loop goes wrong and log itIsaku Yamahata
log errors when serving datapath. And a comment to clarify the intention. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-08controller/network: fix key errorIsaku Yamahata
This patch fixes key error exception. The switch may connect to the controller before network creation API call. > 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 "/ryubin/ryu/controller/controller.py", line 237, in datapath_connection_factory > datapath.serve() > File "/ryubin/ryu/controller/controller.py", line 184, in serve > self._recv_loop() > File "/ryubin/ryu/controller/controller.py", line 63, in deactivate > method(self) > File "/ryubin/ryu/controller/controller.py", line 136, in _recv_loop > self.ev_q.queue(ofp_event.ofp_msg_to_ev(msg)) > File "/ryubin/ryu/controller/dispatcher.py", line 106, in queue > self._dispatcher(ev) > File "/ryubin/ryu/controller/dispatcher.py", line 170, in __call__ > self.dispatch(ev) > File "/ryubin/ryu/controller/dispatcher.py", line 187, in dispatch > handled = self._dispatch(ev, self.events.get(ev.__class__, [])) > File "/ryubin/ryu/controller/dispatcher.py", line 178, in _dispatch > ret = h(ev) > File "/ryubin/ryu/app/simple_isolation.py", line 45, in switch_features_handler > self.nw.add_datapath(ev.msg) > File "/ryubin/ryu/controller/network.py", line 137, in add_datapath > self.port_added(datapath, port_no) > File "/ryubin/ryu/controller/network.py", line 144, in port_added > dp = self.dpids[datapath.id] > KeyError: None Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-07Avoid loop in OFPAction.parser()Simon Horman
OFPAction.parser() should call the parser of one of the classes registered in _ACTION_TYPES() rather than calling itself until a buffer underflow occurs. Also, it is not necessary to increment offset as the parser method of the registered classes re-parse the type and length and thus do not expect it to be incremented. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-06Increment offset in OFPFlowStats.parser()Simon Horman
After reading the third portion of the header the offset needs to be incremented as it is used to parse actions later on in the function. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-06Use struct.unpack_from() in OFPFlowStats.parser()Simon Horman
struct.unpack_from() is needed in place of struct.unpack() when an offset argument is passed. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01doc: update README.rst (OpenStack mainline inclusion status)FUJITA Tomonori
Update OpenStack mainline inclusion status Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01Correct typos in OFPFlowStatsRequestBase classSimon Horman
These changes correct what appear to be typos * Parameters should be separated by a comma * The type of the class is OFPFlowStatsRequestBase Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01yield the CPU to other greenletsFUJITA Tomonori
We need to yield the CPU to other greenlets. Otherwise, ryu can't accept new switches or handle the existing switches. The limit is arbitrary. I guess that we need to think about the better approach in the future (e.g. non greenlet framework). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01avoid reading too much data from socketFUJITA Tomonori
Currently, we try to read OFP_MSG_SIZE_MAX (65535) from sockets. This hurts the performance badly. This patch changes ryu to read a single request from socket. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01limit the queue size (send_q)FUJITA Tomonori
cbench in throughtput mode doesn't work with ryu. We need to limit queue size to prevent the queue from eating memory up. The size is arbitrary. It can be the startup parameter. But I think that we should solve this in the better way. So let's not make it global for now Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01kill recv_qFUJITA Tomonori
Using Queue hurts the performance badly. So let's kill recv_q. It's not useufl. Killing send_q is difficult because letting multiple greenlets to send data to a switch is tricky. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01dispatcher: eliminate weakref.WeakValueDictionaryIsaku Yamahata
For dispatcher to track children, WeakValueDictionary is used. By using explicit destructor, don't use it Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01dispatcher: eliminate use of weakref for EventQueue event queueIsaku Yamahata
event queue for EventQueue event can be normal reference by assuming the queue is never freed. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01controller: eliminate weakref of datapath.ev_q.auxIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>