Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
> 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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
The equivalent fix for of1.2 is the commit 3d90147.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
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>
|
|
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
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>
|
|
Signed-off-by: Philipp Aeschlimann <aepp@zhaw.ch>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
With this, more understandable error will be produced.
Otherwise it results in mysterious error like
transaction error: {"details":"Table Bridge column controller row 69da7121-51fa-4d6e-ad24-18ff9c857b87 references nonexistent row 17c4aa64-ed91-4d8a-a905-a137e6969ad9 in table Controller.","error":"referential integrity violation"}
hub: uncaught exception: Traceback (most recent call last):
File "/ryu/ryu/lib/hub.py", line 50, in _launch
func(*args, **kwargs)
File "/ryu/ryu/base/app_manager.py", line 104, in _event_loop
handler(ev)
File "/ryu/ryu/app/quantum_adapter.py", line 383, in conf_switch_set_handler
self._conf_switch_set_ovsdb_addr(ev.dpid, ev.value)
File "/ryu/ryu/app/quantum_adapter.py", line 372, in _conf_switch_set_ovsdb_addr
ovs_switch.set_ovsdb_addr(dpid, value)
File "/ryu/ryu/app/quantum_adapter.py", line 169, in set_ovsdb_addr
ovs_bridge.set_controller([self.ctrl_addr])
File "/ryu/ryu/lib/ovs/bridge.py", line 128, in set_controller
self.run_command([command])
File "/ryu/ryu/lib/ovs/bridge.py", line 101, in run_command
self.vsctl.run_command(commands, self.timeout, self.exception)
File "/ryu/ryu/lib/ovs/vsctl.py", line 1006, in run_command
self._run_command(commands)
File "/ryu/ryu/lib/ovs/vsctl.py", line 999, in _run_command
self._do_main(commands)
File "/ryu/ryu/lib/ovs/vsctl.py", line 927, in _do_main
if self._do_vsctl(idl_, commands):
File "/ryu/ryu/lib/ovs/vsctl.py", line 898, in _do_vsctl
vsctl_fatal('transaction error: %s' % txn_.get_error())
File "/ryu/ryu/lib/ovs/vsctl.py", line 132, in vsctl_fatal
raise Exception(msg) # not call ovs.utils.ovs_fatal for reusability
Exception: transaction error: {"details":"Table Bridge column controller row 69da7121-51fa-4d6e-ad24-18ff9c857b87 references nonexistent row 17c4aa64-ed91-4d8a-a905-a137e6969ad9 in table Controller.","error":"referential integrity violation"}
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
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>
|
|
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
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>
|
|
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
make the parser return specific classes like OFPGroupFeaturesStatsReply
instead of always returning OFPMultipartReply.
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
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>
|
|
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
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>
|
|
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Make parsing similar to that of OpenFlow 1.2 (message has the same format as in 1.3)
Signed-off-by: Oren Spector <oren@oliver-solutions.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
returns a list of protocols that matches to the specified protocol.
Cc: 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>
|
|
you can do something like:
if arp.arp in Packet(msg.data):
a = arp.arp(...)
if a in Packet(msg.data):
>>> from ryu.lib.packet import packet
>>> from ryu.lib.packet import arp
>>> a = arp.arp_ip(1, 0, 0, 0, 0)
>>> p = packet.Packet()
>>> p.protocols = [a]
>>> arp.arp in p
True
>>> a in p
True
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>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Make ipv4 more handy by not asking for every args. I prefer to use
more human-readble representation for src and dst but it leads to the
API change so let's do it later with another patch.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Used mainly for traceroute.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
If you use initialize like the following way:
OFPSetConfig(dp, miss_send_len=1600)
You get the following assertion when it's serialized:
File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_v1_2_parser.py", line 244, in _serialize_body
assert self.flags is not None
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
force to use virtual env.
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: Shaun Crampton <Shaun.Crampton@metaswitch.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Protocols can mow be accesed as packet[n].
Signed-off-by: Shaun Crampton <Shaun.Crampton@metaswitch.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
- OFPActionSetField
- OFPBucket parser
- OFPMeterBandStats
Signed-off-by: Shaun Crampton <Shaun.Crampton@metaswitch.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|