264 Commits

Author SHA1 Message Date
FUJITA Tomonori
a1a9a5440d Ryu 1.0
Bump the major version because:

- Ryu fully support OpenFlow 1.0, Nicira Extensions, and OpenFlow 1.2.
- Ryu was tested with various OpenFlow Hardware switches.
- There is lots of improvement since the last release.

Ryu is usable now so let's use the major version that implies so.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v1.0
2012-06-30 14:27:57 +09:00
FUJITA Tomonori
23bd7d88e1 of1.2: add unittest workaround to OFPPortStatus parser
Add unittest workaround to OFPPortStatus parser. Another Option is
defining something like OFP_PORT_STATUS_PACK_STR0, 'B'. I don't care
much. Let's just do as we do with OF1.0.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-30 11:46:25 +09:00
FUJITA Tomonori
f4df6174b2 of1.2: fix bugs
- typo in OFPQueueGetConfigRequest
- OFPFlowRemoved offset
- OFPActionDecMplsTtl and OFPActionDecNwTtl parsers

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-30 11:01:29 +09:00
FUJITA Tomonori
1262ead05c add '--version' command line option
Just output version information and exit.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-28 22:54:05 +09:00
FUJITA Tomonori
bead388d47 of1.2: add OFPG_ constants
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-28 10:52:39 +09:00
Simon Horman
acdf0f08ea of1.3: Add OFPQ_ALL
This is used in a queue statistics request to request statistics
of all queues.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-27 20:59:44 +09:00
Simon Horman
f4d4802d58 of1.2: Add OFPQ_ALL
This is used in a queue statistics request to request statistics
of all queues.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-27 20:58:44 +09:00
FUJITA Tomonori
4187f31ff4 test: improve the framework
run_test.sh:
  * run pylint on virtualenv to enforce version 0.25.0 for now.
    (because pylint 0.25.1 doesn't work due to a bug)
  * output pep8.log for Jenkins integration.

pylint:
  * disable some noisy messages.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-27 20:57:07 +09:00
FUJITA Tomonori
8dc9bf8ae8 doc: add the supported OF versions to README.rst
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-27 14:09:32 +09:00
FUJITA Tomonori
6a351aa570 of1.2: add OFPFlowStats support
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-27 09:51:01 +09:00
FUJITA Tomonori
6f74ab194a of1.2: fix OFPPacketIn parser to set ethernet frame
set ethernet frame in msg.data.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-26 09:44:07 +09:00
FUJITA Tomonori
6a647fd635 of1.2: improve OFPMatch parser
set type and length.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-26 09:44:06 +09:00
FUJITA Tomonori
fd7bac0f2d nxm: fix NXM_NX_REG
Needs to handle NXM_NX_REG_W.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-26 09:41:45 +09:00
FUJITA Tomonori
8748812e5e of1.2: add OXM_OF_IPV6_ND_SLL and OXM_OF_IPV6_ND_TLL
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-26 09:38:29 +09:00
FUJITA Tomonori
3b3dcae115 of1.2: add OXM_OF_IPV6_ND_TARGET
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-26 09:38:27 +09:00
FUJITA Tomonori
1512e1ef49 of1.2: add OXM_OF_ICMPV6_TYPE and OXM_OF_ICMPV6_CODE
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-26 09:38:25 +09:00
FUJITA Tomonori
c860a471b1 of1.2: add OXM_OF_IPV6_FLABEL
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-26 09:38:20 +09:00
FUJITA Tomonori
9cf752cbb2 of1.2: add OXM_OF_IPV6_SRC and XM_OF_IPV6_DST
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-26 09:38:14 +09:00
FUJITA Tomonori
ff5e007b0d don't call send_delete_all_flows function in the core
calling send_delete_all_flows function in the core (for all
applications) is a bad idea since some applications don't want such
(e.g. failover).

send_delete_all_flows function doesn't work for OF1.2. nxm
code needs the specific code for each OF version. I really don't want
to do so.

So let's not call this function in the core. At this point, it's
impossible to write applications that can work with any OF versions
(incluing nxm). Let applications do whatever they want.

We should remove OF protocol version dependent functions
(send_delete_all_flows, send_flow_mod, and send_flow_del). Also trying
to enable NXM blindly is very bad for buggy hardware switches. But
they are not called in the core code so I leave them alone for now.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-25 16:03:17 +09:00
FUJITA Tomonori
910563941d add round_up utility function
OF protocols need this in many places.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-25 14:43:24 +09:00
Simon Horman
b0d77225fd of1.2: Correct arguments to OFPMatch.parser() in OFPPacketIn
This corrects what appear to be two errors in the arguments
passed to OFPMatch.parser() by OFPPacketIn.parser().

* The buffer is msg.buf, buf doesn't exist in this context
* ofproto_v1_2.OFP_PACKET_IN_SIZE includes ofproto_v1_2.OFP_HEADER_SIZE
  so it should not be added to the offset passed to OFPMatch.parser().

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-25 09:15:37 +09:00
FUJITA Tomonori
9e3899ca34 of1.2: support ofp_instruction for OFPFlowMod
Now OFPFlowMod should be able to modify flow tables.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 16:17:34 +09:00
FUJITA Tomonori
c9ac97c2b1 of1.2: add OXM_OF_ICMPV4_TYPE and OXM_OF_ICMPV4_CODE
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:56:53 +09:00
FUJITA Tomonori
e931aeb299 of1.2: add OXM_OF_SCTP_SRC and OXM_OF_SCTP_DST
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:56:27 +09:00
FUJITA Tomonori
c4c8b0792c of1.2: add OXM_OF_UDP_SRC and OXM_OF_UDP_DST
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:56:12 +09:00
FUJITA Tomonori
8b6b732586 of1.2: add OXM_OF_TCP_SRC and OXM_OF_TCP_DST
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:55:47 +09:00
FUJITA Tomonori
c163b93735 of1.2: add OXM_OF_IP_SRC and OXM_OF_IP_DST
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:55:31 +09:00
FUJITA Tomonori
fcca4791c2 of1.2: add OXM_OF_IP_PROTO
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:55:06 +09:00
FUJITA Tomonori
cb713e44b9 of1.2: add OXM_OF_IP_ECN
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:54:44 +09:00
FUJITA Tomonori
1e9855b2eb of1.2: add OXM_OF_IP_DSCP
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:54:26 +09:00
FUJITA Tomonori
c68f4bb414 of1.2: remove FWW_* constants
FWW_* constants are in not of1.2 spec so it's not a good idea to use
in of1.2 code.

Also using random bits for match field types isn't a good idea
either. Let's use OFPXMT_OFB_ constants.

Currently, we use various ways to see if match field types are enable
or not. Let's do in an uniform way.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-23 15:53:06 +09:00
FUJITA Tomonori
0be33c4751 of1.2: fix OFPFlowMod and OFPFlowRemoved
- fix OFPFlowMod and OFPFlowRemoved
- fix some actions

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-23 12:21:37 +09:00
FUJITA Tomonori
85dfcbdafa Add OFPBarrierRequest and OFPBarrierReply
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-23 12:21:24 +09:00
FUJITA Tomonori
e9b1c97896 Remove duplicated OFPMatch definition
Also fix some pep8 warnings.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-23 12:21:18 +09:00
OHMURA Kei
40e378ae11 of1.3: initial OF1.3 support
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-23 08:30:36 +09:00
FUJITA Tomonori
24410d4482 nxm: add NXM_NX_REG
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-23 05:43:56 +09:00
FUJITA Tomonori
41296adb69 fix test_lib.py for SkipTest
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-22 14:51:05 +09:00
FUJITA Tomonori
150ce63ccf nxm: add NXM_NX_IP_FRAG
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-22 13:37:14 +09:00
FUJITA Tomonori
0a3760130a nxm: add NXM_NX_ND_TARGET
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-22 06:30:32 +09:00
FUJITA Tomonori
111d331dd9 nxm: add NXM_NX_IPV6_SRC and NXM_NX_IPV6_DST
v6 address and mask are represented in a list including four int
values like the following:

set_ipv6_src_masked([0xf1234567, 3, 4, 7], [0xffff0000, 0, 0, 0])

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-22 06:29:54 +09:00
FUJITA Tomonori
c878fbb304 nxm: add NXM_NX_IPV6_LABEL
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-22 06:27:52 +09:00
FUJITA Tomonori
ed1f2b69b6 nxm: add NXM_OF_ARP_SPA and NXM_OF_ARP_TPA
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-22 06:27:48 +09:00
FUJITA Tomonori
86c3c52326 nxm: fix MFField putw
Fix another regression of commit 3b3bcaa7591e3f11f328d82bee3800f407f14e3d.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-21 21:31:42 +09:00
FUJITA Tomonori
17157405b0 of1.2: initial ofp_match support
Add ofp_match support except for L3 stuff. The following match types
are supported:

IN_PORT
IN_PHY_PORT
ETH_DST
DST_SRC
ETH_TYPE
VLAN_VID
VLAN_PCP
ARP_OP
ARP_SPA
ARP_TPA
ARP_SHA
ARP_THA
MPLS_LABLE
MPLS_TC

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-21 18:08:01 +09:00
FUJITA Tomonori
b77751a82e of1.2: reorder the arguments of OFPPacketOut
- reorder the arguments of OFPPacketOut (the same order in the
  spec). in_port can't be None in the spec. We can't remove None for
  in_port argument so put assert.

- fix some typos (again)

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-20 16:02:53 +09:00
FUJITA Tomonori
c4e1826300 nxm: add NXM_NX_ICMPV6_TYPE and NXM_NX_ICMPV6_CODE support
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-20 11:46:05 +09:00
FUJITA Tomonori
6e12052f57 add IPPROTO_ constants
NXM and OXM code need IPPROTO_ constants. They can be shared safely
(will not be changed). So better to share them in a common file.

This adds only IPPROTO_ constants that OVS uses now, which we are
likely to use.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-20 11:21:09 +09:00
FUJITA Tomonori
2f4d4e0faf nxm: fix NXM_OF_ICMP_TYPE and NXM_OF_ICMP_CODE
- Set the proper values for both
- NXM_OF_ICMP_TYPE and NXM_OF_ICMP_CODE should be set at the same time.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-20 11:10:24 +09:00
FUJITA Tomonori
a3469e399c nxm: fix nxm_put()
Fix the regression of commit 3b3bcaa7591e3f11f328d82bee3800f407f14e3d.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-20 11:08:46 +09:00
FUJITA Tomonori
b97c80cdf0 Fix README.rst format
One place in README.rst isn't formatted as I expected. Try to fix.

-
>From 460a3b5965056bcf4d7762e01f0083f328db45e6 Mon Sep 17 00:00:00 2001
From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Date: Tue, 19 Jun 2012 11:31:56 +0900
Subject: [PATCH] Fix README.rst format

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-19 22:33:32 +09:00