678 Commits

Author SHA1 Message Date
FUJITA Tomonori
8fcbebb849 Ryu 1.9
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v1.9
2013-04-30 07:27:34 +09:00
OHMURA Kei
45fa75afba of1.0: add nx_aggregate_stats support
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 17:43:07 +09:00
Can Zhang
32f219666b of1.0: OFPMatch support keyword-style parameters
Signed-off-by: Can Zhang <can@canx.me>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 10:15:31 +09:00
YAMAMOTO Takashi
b103538674 ovs.poller: workaround a bug in eventlet
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 08:14:29 +09:00
YAMADA Hideki
507d11d00b run_tests.sh: support integrated tests
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 08:13:59 +09:00
YAMADA Hideki
0d4ff7d34d tests/integrated: auto testing script using Mininet and OVS
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 08:13:57 +09:00
YAMADA Hideki
84ef5c5046 tests/integrated: Skip MPLS related test
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 08:13:55 +09:00
Kyle Mestery
78c0d632be Fix typo in comments in GRE tunnel class
gre_tunnel: Fix typo.

Signed-off-by: Kyle Mestery <kmestery@cisco.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-27 14:14:07 +09:00
OHMURA Kei
15a185177a ryu/app/simple_vlan: fix typo
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-27 09:46:41 +09:00
YAMAMOTO Takashi
3488d0b820 add a template for ryu.lib.packet class documentation.
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-24 19:39:39 +09:00
YAMAMOTO Takashi
3ed8040393 ryu.lib.packet: docstring tweaks for better rendering
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-24 19:39:38 +09:00
Can Zhang
4ed1379fee nx_match: support IPv4 mask
Signed-off-by: Can Zhang <can@canx.me>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-24 19:20:07 +09:00
YAMAMOTO Takashi
74310115d5 rest_tunnel: fix comment typos
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-24 19:19:23 +09:00
Isaku Yamahata
97c1aad368 of1.3: parser should return msg, not implicit None
And OFPSetConfig should have serializer, not parser Because the message
is sent by controller to OF switch.

Cc: nitish nagesh <nagesh.nitish@gmail.com>
Cc: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-24 19:17:44 +09:00
YAMAMOTO Takashi
ec38a0233a nx_match: remove an unnecessary import
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-24 19:15:12 +09:00
Yoshihiro Kaneko
ca5292e477 of1.3: remove port_no argument
These request bodies are empty on OF1.3/1.3.1 spec.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-24 19:13:36 +09:00
Yoshihiro Kaneko
4dfaf65f86 of1.3: fix typos in ofproto_v1_3.py
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-24 19:11:52 +09:00
watanabe.fumitaka
67c4f23e4e ryu/app/rest_firewall.py: handling of no switch connection
This patch improves operation when there is no switch connection.

Cc: Shivaram Mysore <shivaram.mysore@gmail.com>
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-20 05:03:09 +09:00
YAMAMOTO Takashi
c3c6ad3426 ryu.lib.packet: docstring
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-20 04:56:49 +09:00
YAMAMOTO Takashi
b2bba21e93 ryu.lib.packet: docstring
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-18 09:38:40 +09:00
OHMURA Kei
fc161ff848 of1.0: add nx_match to NXFlowStatsRequest
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-18 09:38:35 +09:00
Can Zhang
fd7723eaa1 lib: ip address presentation convert helper methods
Signed-off-by: Can Zhang <can@canx.me>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 07:52:33 -07:00
YAMAMOTO Takashi
db46baf4e8 g/c a stale reference to find_protocol
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:55:09 +09:00
YAMAMOTO Takashi
84374d2da5 packet lib: docstring
also, prefix a private method with _.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:54:16 +09:00
Isaku Yamahata
2b18979305 tests/unit, lib/packet/vrrp: unit test for vrrp packet parser/serializer
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:48:02 +09:00
Isaku Yamahata
af97e2b26f lib/packet: VRRP packet parser/serializer
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:48:01 +09:00
Isaku Yamahata
1a36bbd667 lib/packet/ipv6: add constants for parse/serialize
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:47:53 +09:00
Isaku Yamahata
66f69f234a lib/packet/ipv4: add constants for parse/serialize
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:47:52 +09:00
Isaku Yamahata
d2322882eb ofproto/inet: add VRRP protocol number
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:47:46 +09:00
Isaku Yamahata
e20fcad468 lib/packet/arp.py: add convenience function to create arp for ip
Since ip case is most often used, introduce a convenience
function for that.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:47:45 +09:00
Isaku Yamahata
3f3b683d20 ofproto/nx_match: pep8
> $ pep8 --version
> 1.4.5
> ryu/ofproto/nx_match.py:743:20: E128 continuation line under-indented for visual indent
>                    ofproto_v1_0.NXM_NX_IPV6_SRC_W])
>                    ^
> ryu/ofproto/nx_match.py:764:20: E128 continuation line under-indented for visual indent
>                    ofproto_v1_0.NXM_NX_IPV6_DST_W])
>                    ^

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16 02:43:52 +09:00
FUJITA Tomonori
964e48ce97 doc: fix the mailing list address
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-13 04:40:34 +09:00
Eder Leão Fernandes
7f5bd07a8c of1.3: Add special group identifier values defined on OpenFlow 1.3.1
This patch add missing group special values of OpenFlow 1.3, added to
the 1.3.1 version.

It is useful to create a flow_mod message with an out_group with no >
group restrictions and for flow_stats messages.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-13 04:34:51 +09:00
Isaku Yamahata
3a4bdd3296 lib/packet/lldp.py: pylint
> W: 78,0:LLDPBasicTLV.__init__: Unused argument 'args'
> W: 78,0:LLDPBasicTLV.__init__: Unused argument 'kwargs'
> W:109,4:lldp.__init__: __init__ method from base class 'PacketBase' is not called

Cc: "can." <can@canx.me>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-11 04:24:43 +09:00
Isaku Yamahata
521fbcf000 ryu/lib/packet/lldp.py: remove __str__ method from class LLDPBasicTLV and class lldp
Those methods are legacy when lldp.py was written for dpkt.
They don't make sense. remove them.

Cc: "can." <can@canx.me>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-11 04:24:34 +09:00
Isaku Yamahata
5ccf67169f tests/integrated/test_of_config: comment on how to run
Cc: 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>
2013-04-09 21:31:20 +09:00
Isaku Yamahata
1f529be407 tests/integrated/test_of_config: disable known host check
This test can fail with unknow hosts as follows.
Since this is a OF-config test/sample, known host check is not essential.
Disable the check to avoid non-essential problem for easy test.

> ryu $ PYTHONPATH=. ./bin/ryu-manager --verbose ryu/tests/integrated/test_of_config.py
> loading app ryu/tests/integrated/test_of_config.py
> loading app ryu.controller.ofp_handler
> instantiating app ryu/tests/integrated/test_of_config.py of OFConfigClient
> <SSHSession(session, initial daemon)> created: client_capabilities=['urn:ietf:params:netconf:capability:writable-running:1.0', 'urn:ietf:params:netconf:capability:rollback-on-error:1.0', 'urn:ietf:params:netconf:capability:validate:1.0', 'urn:ietf:params:netconf:capability:confirmed-commit:1.0', 'urn:ietf:params:netconf:capability:url:1.0?scheme=http,ftp,file,https,sftp', 'urn:ietf:params:netconf:base:1.0', 'urn:liberouter:params:netconf:capability:power-control:1.0', 'urn:ietf:params:netconf:capability:candidate:1.0', 'urn:ietf:params:netconf:capability:xpath:1.0', 'urn:ietf:params:netconf:capability:startup:1.0', 'urn:ietf:params:netconf:capability:interleave:1.0']
> starting thread (client mode): 0x2348650L
> Connected (version 2.0, client Erlang)
> kex algos:['diffie-hellman-group1-sha1'] server key:['ssh-rsa', 'ssh-dss'] client encrypt:['aes128-cbc', '3des-cbc'] server encrypt:['aes128-cbc', '3des-cbc'] client mac:['hmac-sha1'] server mac:['hmac-sha1'] client compress:['none', 'zlib'] server compress:['none', 'zlib'] client lang:[''] server lang:[''] kex follows?False
> Ciphers agreed: local=aes128-cbc, remote=aes128-cbc
> using kex diffie-hellman-group1-sha1; server key type ssh-rsa; cipher: local aes128-cbc, remote aes128-cbc; mac: local hmac-sha1, remote hmac-sha1; compression: local none, remote none
> Switch to new keys ...
> Traceback (most recent call last):
>   File "./bin/ryu-manager", line 87, in <module>
>     main()
>   File "./bin/ryu-manager", line 67, in main
>     app_mgr.instantiate_apps(**contexts)
>   File "/ryu/ryu/base/app_manager.py", line 289, in instantiate_apps
>     self._instantiate(app_name, cls, *args, **kwargs)
>   File "/ryu/ryu/base/app_manager.py", line 275, in _instantiate
>     app = cls(*args, **kwargs)
>   File "/ryu/ryu/tests/integrated/test_of_config.py", line 123, in __init__
>     host=HOST, port=PORT, username=USERNAME, password=PASSWORD)
>   File "/ryu/ryu/lib/of_config/capable_switch.py", line 49, in __init__
>     self.netconf = connect(*self._connect_args, **self._connect_kwargs)
>   File "/ryu/ryu/contrib/ncclient/manager.py", line 67, in connect_ssh
>     session.connect(*args, **kwds)
>   File "/ryu/ryu/contrib/ncclient/transport/ssh.py", line 193, in connect
>     raise SSHUnknownHostError(host, fingerprint)
> ncclient.transport.errors.SSHUnknownHostError: Unknown host key [63:c2:19:95:97:29:84:f6:86:41:1a:15:17:d7:90:0d] for [127.0.0.1]

Cc: 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>
2013-04-09 21:31:05 +09:00
Isaku Yamahata
30b05dec72 setup.py: install xsd files
They are necessary for OF-config support.

Cc: 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>
2013-04-09 21:30:46 +09:00
blacksheeep
1e9c9c38f4 nx: match_tuple() function now handles nw src/dst
match_tuple() function now handles nw src/dst correctly. FIX:
match_tuple function now handles the nw src/dst masks correctly. If
the mask is not valid, because there is no NX, it will be ignored.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-09 07:10:48 +09:00
Can Zhang
7a4a384fb7 nx: make pack string of IPv6 address consistent with OF1.2/1.3
Changed pack string of IPv6 address in NXM from former '!4I' to
'!8H'. Registered IPv6 src/dst field header so we could parse IPv6
addresses now.

Signed-off-by: Can Zhang <can@canx.me>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-09 07:03:33 +09:00
OHMURA Kei
e64bb2b43f topology/dumper: define contexts to receive events
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-07 13:40:26 +09:00
Isaku Yamahata
3d8d88e5dc ryu/topology/switches: simplify Switches with RyuApp.reply_to_request
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-07 11:11:17 +09:00
Isaku Yamahata
48b2665795 ryu/base/app_manager: introduce RyuApp:replay_to_request()
This is a handy method for event request/reply.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-07 11:11:16 +09:00
Isaku Yamahata
d763da58bc base/app_manager.py: sort out registering bricks
When registering RyuApps to observers with _EVENTS,
it should applied to @set_ev_cls methods, and dispatchers should be
honored.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-07 11:11:11 +09:00
Isaku Yamahata
e48512f555 ryu/base/app_manager: pylint unused variables
pylint fix

> W:201,12:AppManager.instantiate_apps: Unused variable 'key'
> W:222,24:AppManager.instantiate_apps: Unused variable 'handler'

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-07 11:09:36 +09:00
Isaku Yamahata
7bd83a89a2 topology/dumper: use handler.set_ev_cls instead of set_ev_handler
There is no point for dumper.py to use handler.set_ev_cls.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-07 11:09:36 +09:00
Yoshihiro Kaneko
9c1bc8ba2f remove openstack related document
Remove OpenStack related documents except using_with_openstack.
README of Quantum Ryu plugin refers to it.

remove:
  doc/source/images/*
  doc/source/openstack.rst
  doc/source/step_by_step.rst
  doc/source/internals_l2_isolation.rst

modified:
  doc/source/index.rst
    remove index of openstack.rst.
  doc/source/using_with_openstack.rst
    replace contents with the pointer to the wiki page.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-02 19:34:37 +09:00
Isaku Yamahata
826d727d54 ryu/lib/packet/packet.py: should use isinstance instead of __class__.__base__
The current implementation doesn't allow inheriting twice from class PacketBase.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-02 12:01:19 +09:00
Isaku Yamahata
e0bcd61f92 lib/packet/packet_utils: optimize checksum
builtin function, sum, is much faster than for loop.
The result on my machine is as follows

> def main():
>     from timeit import timeit
>     data = bytearray().zfill(1500)
>     print 'new=', timeit(lambda : checksum(data), number=1000)
>     print 'old=', timeit(lambda : checksum_old(data), number=1000)
>
> new= 0.00800108909607
> old= 0.266770124435

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-02 12:00:12 +09:00
FUJITA Tomonori
b471e1900f Ryu 1.8
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v1.8
2013-04-01 21:26:58 +09:00