Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
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>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
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>
|
|
- 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>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
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>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Update OpenStack mainline inclusion status
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|