1503 Commits

Author SHA1 Message Date
Simon Horman
d86df914c3 of14: Add generic OFPropBase class
Add generic OFPropBase class and make OFPPortProp a subclass of it.
This is to allow other properties classes to be implemented as subclasses
of OFPPropBase, simplifying their implementation.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:50 +09:00
Simon Horman
29f7f1fa28 of14: Rename OFPPortDescPropUnknown as OFPPortPropUnknown
This corrects what appears to be a typo as
OFPPortDescPropUnknown is never called but
OFPPortPropUnknown, which does not exist, is called.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:50 +09:00
Simon Horman
0742b5b19f of14: Add port status message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:50 +09:00
Simon Horman
4c119f9abe of14: Add meter mod message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:32 +09:00
Simon Horman
0f9bdca0fa of14: Add OFPMeterBandDscpRemark and OFPMeterBandExperimenter
These will be used my meter mod message support which
is added by a subsequent patch.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:32 +09:00
Simon Horman
b4895e1217 of14: Move OFPMeterBand* to above OFPMeterConfigStats
This is a purely cosmetic change to move some code to
the same location it is found in the of1.3 implementation,
aiding comparison between the two codebases. It also
move the code closer to where it is used.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:32 +09:00
Simon Horman
5bfc8255ba of14: Add table features stats request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:32 +09:00
Simon Horman
03a9196e43 of14: Add _ordered_fields to .4 OFPMatch
This appears to be necessary for wire tests
to pass if matches are in an order different
from that defined by Ryu.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:32 +09:00
Simon Horman
c8d6444e0c of14: Fix OFPInstructionWriteMetadata JSON decode
This is in line with 4a394aae2f1a3b82
("Fix OFPInstructionWriteMetadata JSON decode") which fixes
the following for OF1.3:

CLS <class 'ryu.ofproto.ofproto_v1_3_parser.OFPInstructionWriteMetadata'>
ARG {u'metadata_mask': 18446744073709551615L, u'type': 2, u'len': 24, u'metadata': 18446744069414584320L}
KWARG {u'type_': 2, u'metadata_mask': 18446744073709551615L, u'len_': 24, u'metadata': 18446744069414584320L}
Traceback (most recent call last):
  File "a.py", line 19, in <module>
    msg = ofproto_parser.ofp_msg_from_jsondict(dp, m)
  File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_parser.py", line 100, in ofp_msg_from_jsondict
    return cls.from_jsondict(v, datapath=dp)
  File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 291, in from_jsondict
    kwargs = cls._restore_args(_mapdict_kv(decode, dict_))
  File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 46, in <lambda>
    _mapdict_kv = lambda f, d: dict([(k, f(k, v)) for k, v in d.items()])
  File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 290, in <lambda>
    decode = lambda k, x: cls._decode_value(k, x, decode_string)
  File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 234, in _decode_value
    return cls._get_decoder(k, decode_string)(json_value)
  File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 242, in _decode
    v = map(_decode, json_value)
  File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 245, in _decode
    v = cls.obj_from_jsondict(json_value)
  File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 223, in obj_from_jsondict
    return obj_cls.from_jsondict(v)
  File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 293, in from_jsondict
    return cls(**dict(kwargs, **additional_args))
TypeError: __init__() got an unexpected keyword argument 'type_'

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:32 +09:00
Simon Horman
1350b96078 of14: set default attributes for OFPMultipartRequest subclasses
This is in keeping with 1368fd6899722a9c ("of13: set default attributes for
OFPMultipartRequest subclasses").

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:32 +09:00
Simon Horman
5c1ef5f239 of14: add some assertions
This is in keeping with
e08ac471d44db846 ("ofproto_v1_3_parser: put some assertions").

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-04 18:41:32 +09:00
FUJITA Tomonori
5ab61a2945 Ryu 3.6
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v3.6
2014-02-03 15:15:33 +09:00
FUJITA Tomonori
1368fd6899 of13: set default attributes for OFPMultipartRequest subclasses
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-02 00:50:13 +09:00
FUJITA Tomonori
0b8e9885aa of12: set default attributes for OFPStatsRequest subclasses
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-02 00:49:43 +09:00
FUJITA Tomonori
9f30e7d23a allow application to specify its logger name
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-01 23:57:13 +09:00
FUJITA Tomonori
bd074ef2b3 fix syslogd usage on OSX
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-01 23:57:13 +09:00
Satoshi Kobayashi
1b62801f49 vrrp: fix busy timer by the default parameter
Currently, default 'vrrp_statistics' is zero. Thereby
TimerEventSender() kicks VRRPRouter._EventStatisticsOut() without
waiting. Since CPU usage will be 100%, this is an unsuitable default
value.

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-31 11:25:46 +09:00
FUJITA Tomonori
29716083b9 of14: fix OFPMatch from_jsondict method
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2014-01-29 16:31:21 +09:00
FUJITA Tomonori
49b84f4d2c of14: Fix OFPInstructionMeter json format
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2014-01-29 14:52:25 +09:00
FUJITA Tomonori
7ac5282974 of14: default ethernet type for PUSH_VLAN action
0x8100 in most cases.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2014-01-29 14:51:56 +09:00
FUJITA Tomonori
1f590c0411 of14: set default ethernet types for MPLS actions
0x8847 (MPLS) for PUSH_MPLS
0x0800 (IP) for POP_MPLS

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2014-01-29 14:51:33 +09:00
FUJITA Tomonori
84202a8561 of14: remove of1.2/1.3 old SetField aciton API
No reason to support the old awkward API for shiny OF1.4.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2014-01-29 14:51:10 +09:00
FUJITA Tomonori
1356d2c7c0 doc: announce OF1.4 support in README
We support good a good portion of OF1.4.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 14:50:40 +09:00
Simon Horman
affd4ccc4d Add OF1.4 set async message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:55 +09:00
Simon Horman
5752b25739 Add OF1.4 get async request and reply support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:55 +09:00
Simon Horman
c6bea4f028 Add OF1.4 meter features stats request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:55 +09:00
Simon Horman
9d87fc08d9 Add OF1.4 meter stats request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:55 +09:00
Simon Horman
7b0699cda5 Add OF1.4 meter config stats request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:55 +09:00
Simon Horman
8daae74fa9 Add OF1.4 meter band drop
This will be used by meter statistics messages

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:55 +09:00
Simon Horman
2f36dd628f Add OF1.4 group mod message supoort
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:55 +09:00
Simon Horman
e59f9acc16 Add OF1.4 table mod message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:25 +09:00
Simon Horman
557af7f991 Add OF1.4 flow removed message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:25 +09:00
Simon Horman
58458a37db Add OF1.4 group desc stats request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:25 +09:00
Simon Horman
d2c7855c54 Add OF1.4 OFPBucket
This will be used by support for messages that have buckets

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:25 +09:00
Simon Horman
e91473016b Add OF1.4 group features stats request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:25 +09:00
Simon Horman
4612d635e4 Add OF1.4 table stats request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:25 +09:00
Simon Horman
6094d723b3 Add OF1.4 aggregate stats request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:25 +09:00
Simon Horman
fd0f72b40d Add OF1.4 role request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:15 +09:00
Simon Horman
3043c90437 Add OF1.4 barrier request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:43:15 +09:00
Simon Horman
845333136f Add OF1.4 experimenter message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
0d0bd4592f Add OF1.4 error message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
c8440ab494 Add OF1.4 echo request and reply message support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
688b26e858 Add OF1.4 SetNwTtl action support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
ec6438d1ee Add OF1.4 DecNwTtl action support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
b7455bc353 Add OF1.4 DecMplsTtl action support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
281be18dcc Add OF1.4 PushVlan action support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
7ab4ce13b5 Add OF1.4 PopVlan action support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
2cf3a6ee4f Add OF1.4 PushMpls action support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
12f03a09e5 Add OF1.4 PopMpls action support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:56 +09:00
Simon Horman
2235def21b Add OF1.4 PushPbb action support
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-29 12:42:54 +09:00