2759 Commits

Author SHA1 Message Date
FUJITA Tomonori
d090b291be Ryu 4.3
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v4.3
2016-06-03 08:01:56 +09:00
Atzm Watanabe
24a041ecca nx_match: add tun_ipv6_{src,dst}
Open vSwitch accepts NXM_NX_TUN_IPV6_SRC(109) and
NXM_NX_TUN_IPV6_DST(110) since v2.5.

Signed-off-by: Atzm Watanabe <atzm@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:43:01 +09:00
IWASE Yusuke
1bcb23e556 packet_data_generator3: Clear xid into zero
Because ovs-ofctl increments the xid field automatically, the xid
of the generated packets is set to be 0x02.
So, we should specify {"xid": 2} in json data, but when Ryu dumping
json data from message instance, "xid" are omitted and this causes
assertion error in test_parser.py

This patch enables to clear the xid filed in the generated packets
and solves this problem.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:40:17 +09:00
IWASE Yusuke
709b3ad28f ofproto: Implement OFPFlowMod parser
Currently, Ryu does not have the parser for Controller-to-Switch
one-way messages, but when testing Actions or Match fields,
OFPFlowMod parser is convenient in order to test them.

This patch implements the parser for OFPFlowMod messages.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:40:12 +09:00
IWASE Yusuke
f3e931b03f doc: Add PCAP file library reference
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:40:04 +09:00
IWASE Yusuke
ad481c7de8 test_pcaplib: Add unit tests for pcaplib
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:39:59 +09:00
IWASE Yusuke
6643bae823 pcaplib: Reduce Pylint warnings
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:39:54 +09:00
IWASE Yusuke
35fc29a8d3 test_bgp: Enable to test parser with pcap file
Currently, test_bgp uses packet_data/bgp4/* files which contain only
BGP protocol binary data.
This patch convert packet_data file into pcap file and enable to test
BGP packet library with pcap file.
With pcap file, we can easily check packet data validity by using
Wireshark or other packet sniffer tools.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:39:03 +09:00
IWASE Yusuke
b3b8238e6c packet/bgp: Reduce Pylint warnings
This patch removes the following Pylint warnings:
  - anomalous-backslash-in-string
  - arguments-differ
  - bad-builtin
  - bad-staticmethod-argument
  - superfluous-parens
  - super-init-not-called
  - unidiomatic-typecheck
  - unused-variable
  - wrong-import-order

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:38:57 +09:00
IWASE Yusuke
171b35f0db bgp: fix typos
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:38:50 +09:00
IWASE Yusuke
9b57e7bd07 test-requires: Update to use the latest Pylint
Current specified Pylint(==0.25.0) are not enough to support Python 3.
This patch updates test-requires to use the latest one.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:38:39 +09:00
IWASE Yusuke
4fa85d1e4b test-requires: Add tinyrpc for RPC controller in wsgi
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01 20:38:27 +09:00
YAMAMOTO Takashi
9e3aaaf2d8 Make ovs optional
Requiring a dev version of ovs here causes version conflict issues
for projects which don't want to use dev versions of libraries. [1]

Make it optional and document it in README instead.

[1] https://bugs.launchpad.net/neutron/+bug/1584858

Signed-off-by: YAMAMOTO Takashi <yamamoto@ovn.org>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-26 23:30:49 +09:00
IWASE Yusuke
a6c3d38789 packet: Add VXLAN parser
IANA has assigned the value 4789 for the VXLAN UDP destination port,
this patch registers dst_port 4789 into UDP packet parser.
Additionally, early adopters might be using UDP dst_port 8472,
we register this number for the backward compatibility.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-23 12:48:08 +09:00
IWAMOTO Toshihiro
7f38397442 packet/bgp: Add missing __hash__ function
This commit fixes up the commit 7d42aecb, which added __eq__ without
adding __hash__ and left some copy-paste error.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 17:49:25 +09:00
IWASE Yusuke
a7e804fdec controller: Add backward compatibility for 6633 port
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 16:01:23 +09:00
IWASE Yusuke
7d446f3f79 Update default OpenFlow port to 6653
IANA has registered TCP port 6653 for OpenFlow, but 6633 was the
de facto standard for a long while.
So some applications might be using 6633 as the default.
But now, Mininet has adopted port 6653 as the default, we migrate
to port 6653 too.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 16:01:22 +09:00
IWASE Yusuke
a20b9e1fcd BGP: Make RouteFamily class hashable
In Python 3, the key objects of dict must be hashable,
but RouteFamily class does not have '__hash__' method.
This patch adds this method.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 16:01:16 +09:00
IWASE Yusuke
13ae023f2d doc: Remove warnings when building doc pages
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 16:00:51 +09:00
IWASE Yusuke
9d9f28519f doc: Move Ryu App API doc into each source code
To improve maintainability, this patch moves the descriptions of
"Ryu application API" into each source code.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 16:00:34 +09:00
IWASE Yusuke
68025e66b1 network: Fix unresolved reference
Because ryu/app/rest_nw_id.py has been deleted, the reference for
NW_ID_UNKNOWN can not be resolved now.
This patch fixes this problem.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 16:00:09 +09:00
IWASE Yusuke
3cccf23238 doc: Add description for EventOFPPortStateChange
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 15:59:22 +09:00
IWASE Yusuke
9774eb60af controller: Implement EventOFPPortStateChange
To notify ofp_port state change, this patch implements
ofp_event.EventOFPPortStateChange.
This event performs like EventOFPPortStatus, but ofp_handler will
send this event after updating "ports" dict of datapath instances.

And, this patch suppresses the warning when user app accessing
to datapath.ports for backward compatibility.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-18 15:59:13 +09:00
Shinpei Muraoka
af2ae13ae3 doc/app/ofctl_rest: Remove unused match field
This patch removed unused match field in Openflow1.2 or later.
The following is removed match filed.
 - dl_dst
 - dl_src
 - dl_type
 - dl_vlan
 - nw_src
 - nw_dst
 - nw_proto
 - tp_src
 - tp_dst

Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-16 15:02:40 +09:00
Shinpei Muraoka
3f60665d1f doc/source/conf: Set the False to SmartyPants
This patch will not be converted to quotes and dashes to typographically correct entities.

Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-16 15:02:40 +09:00
Shinpei Muraoka
d435446ef5 doc/app/ofctl_rest: Add a description for openflow1.5
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-16 15:02:40 +09:00
Shinpei Muraoka
f351cd3977 doc/app/ofctl_rest: Update the optional parameter of the message
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-16 15:02:40 +09:00
Shinpei Muraoka
918edd4eff doc/app/ofctl_rest: Add pbb_uca to match field
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-16 13:15:24 +09:00
Shinpei Muraoka
a605021ccf doc/app/ofctl_rest: Update the description method of Example
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-16 13:15:22 +09:00
Shinpei Muraoka
7f1c91114b doc/app/ofctl_rest: Add Openflow version
This patch adds Openflow version to the Match message and Actions message.

Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-16 13:15:19 +09:00
Victor J. Orlikowski
89b2bf52d5 Bump version requirement for oslo.config, given usage of min parameter to IntOpt
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 23:03:52 +09:00
IWASE Yusuke
208ad9d11c tox: Integrate Coveralls.io
To check the code coverage of the unit tests on web, this patch
add integration of Coveralls.io (https://coveralls.io/).

Usage:
  1. Sign in to Coveralls.io with your GitHub account.
  2. Add repos at your account page.
  3. Execute tests on Travis-CI.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:33:21 +09:00
IWASE Yusuke
dc6e2b8691 tox: Add Python 3.5
>From Ubuntu 16.04 LTS, the default version of Python 3 has been
upgraded to 3.5.1.
  e.g.)
    $ python3 --version
    Python 3.5.1+

This patch enables to run unit tests on Python 3.5 environment.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:33:17 +09:00
Shinpei Muraoka
ead9ce79a5 test_ofctl: Add test cases for new Actions of of15
This patch adds the test cases for the following actions.
 - Copy Field Action
 - Meter Action

Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:26:15 +09:00
Minoru TAKAHASHI
e30eebbc42 test_ofctl_rest: Add unit tests for ofctl_rest
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:26:13 +09:00
Minoru TAKAHASHI
4bec6aca3d test_ofctl: Add test cases for OpenFlow 1.5
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:26:03 +09:00
Minoru TAKAHASHI
255fd1564e ofctl_rest: Support OpenFlow 1.5
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:25:56 +09:00
Minoru TAKAHASHI
a7b092747f lib/ofctl: Support OpenFlow 1.5
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:25:50 +09:00
Shinpei Muraoka
1452facb25 ofproto_v1_5_parser: Fix serialized length of OFPActionCopyField
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:25:43 +09:00
IWASE Yusuke
c9132288eb ofctl_v1_4: Port some improvements from ofctl_v1_3
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:25:41 +09:00
IWASE Yusuke
ea8c3b8fb7 ofctl_v1_4: Rename to get_queue_desc for uniformity
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:25:32 +09:00
Minoru TAKAHASHI
a67f436b8d ofctl_v1_4: Support request parameters
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:25:31 +09:00
IWASE Yusuke
9dd3b3ce4a ofctl_utils: Enhance user value conversion
Currently, OFCtlUtil._reserved_num_from_user() fails to convert
an user specified value when it is a numeric string.
This patch enhances this conversion to enable to convert an user
value as follows.

e.g.)
 - Integer: 1 -> 1
 - Numeric string: "1" -> 1
 - Reserved number: "OFPP_ANY" -> 0xffffffff
 - Invalid value: "foobar" -> "foobar" (do not conversion)

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:25:21 +09:00
IWASE Yusuke
c1047818d3 REST Apps: Adopt to Python 3
In Python 3, webob.Request.body is a byte type value and json.loads()
cannot parse it, because json.loads() suppose a str type value.

This patch fixes to use webob.Request.json to parse request body
and avoids this problem.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:25:09 +09:00
IWASE Yusuke
326b46bf6d topology: Adopt to Python 3
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:24:53 +09:00
Shinpei Muraoka
4b99579249 ofctl_rest: Enable to omit port_no and queue_id
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:24:14 +09:00
IWASE Yusuke
f60c12cbbe ofctl_rest: Adopt decorator to simplify
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:18:14 +09:00
Shinpei Muraoka
dcb1efb8e5 test_ofctl: Test cases for omitting port_no in get_queue_config
Add test cases of specify the port number for get queues config.

Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:18:05 +09:00
IWASE Yusuke
e721c181e0 lib/ofctl_v1_[23]: Unify the arguments order
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:17:56 +09:00
IWASE Yusuke
bea97ae66b ofctl_utils: Confirm binary type data in send_experimenter
In Python 3, the data field in OFPExperimenter must be a binary
type value, but when data_type='ascii', ofctl_utils may get it
as a str type value.
This patch confirms the data field is a binary type value.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-13 22:17:46 +09:00