917 Commits

Author SHA1 Message Date
YAMAMOTO Takashi
beb9867d7a doc: fix a typo
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-13 10:01:51 +09:00
Yoshihiro Kaneko
50ea820dc8 ofproto_v1_3_parser: add docstring to OFPMatch
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-13 08:12:41 +09:00
YAMAMOTO Takashi
9220abd06f normalize json files using tools/normalize_json.py
i used to use json_pp for this purpose but different versions of perl
seem to format differently.
use python "json.dumps(d, ensure_ascii=True, indent=3, sort_keys=True)"
instead this time.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-13 08:12:38 +09:00
YAMAMOTO Takashi
fef6f622bf a script to normalize json
this will be used to normalize *.json files in the tree
so that we can get more readable diffs.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-13 08:12:36 +09:00
Yuichi Ito
d84d9a7c93 lib/packet: add Internet Group Management Protocol
Signed-off-by: Yuichi Ito <ito.yuichi0@gmal.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-12 09:37:56 +09:00
YAMAMOTO Takashi
bed38d4d12 test_parser: stop testing unsupported operations
while this happens to work right now, it will stop working when
we re-expose "len" and friends, which are only available after
parse or serialize.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-11 15:45:58 +09:00
YAMAMOTO Takashi
7ae93d2452 test_parser: have a list of operations expected to work
instead of guessing.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-11 15:45:57 +09:00
YAMAMOTO Takashi
c8ed38beae unit test: test OFPMatch.append_field
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-11 15:42:04 +09:00
YAMAMOTO Takashi
6bc1d4d817 unit test for OFPMatch old/new api compatibility
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-11 15:40:28 +09:00
watanabe.fumitaka
30b2dfb7a1 app/rest_firewall: add API for VLAN configuration
add REST-API for VLAN configuration of rest_firewall application.
it implements handling each vlan groups separately.

This update(v1->v2) contains the following change. make function of
 conversion of cookie and ruleID for easily understanding.

Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-08 17:41:40 +09:00
Isaku Yamahata
5e703c7f09 ofproto: _baseattribute can be class attribute
So that it can save memory a bit.

Cc: yamamoto@valinux.co.jp
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-07 13:59:32 +09:00
Glenn McGuire
4fd61eb8c5 ofproto: make binary code loadable
I've been using the latest RYU source from GIT, and building my own python
eggs.  When launching ryu-manager, I get the following error:

[root@hostname ryu]# ryu-manager
Traceback (most recent call last):
  File "/usr/bin/ryu-manager", line 5, in <module>
    pkg_resources.run_script('ryu==2.2', 'ryu-manager')
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 461, in
run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1194, in
run_script
    execfile(script_filename, namespace, namespace)
  File
"/usr/lib/python2.6/site-packages/ryu-2.2-py2.6.egg/EGG-INFO/scripts/ryu-manage\
r",
line 43, in <module>
    from ryu.topology import switches
  File "build/bdist.linux-x86_64/egg/ryu/topology/switches.py", line 427,
in <module>
  File "build/bdist.linux-x86_64/egg/ryu/topology/switches.py", line 574,
in Switches
AttributeError: 'module' object has no attribute 'EventOFPPortStatus'

[root@hostname ryu]# python ./bin/ryu-manager
Traceback (most recent call last):
  File "./bin/ryu-manager", line 55, in <module>
    from ryu.topology import switches
  File "build/bdist.linux-x86_64/egg/ryu/topology/switches.py", line 427,
in <module>
  File "build/bdist.linux-x86_64/egg/ryu/topology/switches.py", line 574,
in Switches
AttributeError: 'module' object has no attribute 'EventOFPPortStatus'

I found that I could execute ryu-manager correctly from the interactive
python shell but not from the command line, and looked at the derivation of
Event classes from pathnames.
It occurred to me that the eggs would not necessarily include the source
files, so I tried successfully to make the code look up both source and
compiled filenames, and return the union of that.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-07 13:59:15 +09:00
FUJITA Tomonori
38893d906b packet lib: make vrrp get_payload robust
Let's not make an assumption about the position of IP(v4 or v6) and
VRRP. The original code excepts pure ether or vlan and search them in
try-and-error way.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-06 16:43:57 +09:00
watanabe.fumitaka
0b5291856b packet lib to string: unit tests
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-06 09:25:50 +09:00
watanabe.fumitaka
e0d82b9d37 packet lib to string: add __str__ to base
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-06 09:25:49 +09:00
watanabe.fumitaka
87cb024392 packet lib to string: inherits StringifyMixin
Some class inherits stringify.StringifyMixin

and, remove class variable 'tlvs' (not used as class variable
and interferes to string) from lldp.lldp

Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-06 09:25:48 +09:00
YAMAMOTO Takashi
2a60164b64 unit tests for the new OFPMatch api
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-06 09:09:20 +09:00
YAMAMOTO Takashi
f1d86f0572 of13: fix old parser and serializer of PBB_ID
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-06 09:09:12 +09:00
YAMAMOTO Takashi
3b92834848 of12: stop assuming OFPXMC_OPENFLOW_BASIC
fix a merge botch and sync with of1.3 version.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-06 09:08:59 +09:00
FUJITA Tomonori
0bec11600b dpset: support OF1.3
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
2013-08-06 08:56:25 +09:00
YAMAMOTO Takashi
7f6bb8c18c packet lib: provide bpdu._MIN_LEN
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-04 20:12:22 +09:00
YAMAMOTO Takashi
8b8608d726 packet lib: provide llc._MIN_LEN
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-04 20:11:33 +09:00
YAMAMOTO Takashi
b34a6821be packet lib: implement lacp.__len__
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-04 20:11:27 +09:00
YAMAMOTO Takashi
ce4a758fc7 packet lib: implement ryu.lib.packet.lldp.lldp.__len__
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-04 20:11:23 +09:00
YAMAMOTO Takashi
39c9718210 packet lib: provide a default impl of __len__
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-04 20:11:07 +09:00
FUJITA Tomonori
55aa474893 support setup.py install with git archive tarballs
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-02 14:33:40 +09:00
FUJITA Tomonori
193a0496c1 use d2to1 and pbr for packaging
- distutils2-like setup.cfg files for a package's metadata
- avoid absolute '/etc/ryu/' path for our config file

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 17:47:56 +09:00
YAMAMOTO Takashi
f7219a77df tests: stop comparing text addresses
on OS X, ntop produces strings like '3ffe:507::1:200:86ff:fe05:80da'
while others (NetBSD, Linux) produce '3ffe:507:0:1:200:86ff:fe05:80da'.

RFC 5952 4.2.2. says OS X behaviour is incorrect. (MUST NOT)
for longer term, it's probably better to workaround this in addrconv module.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
2013-08-01 17:45:22 +09:00
Yuichi Ito
1f330f9e19 correct file permission
i'm sorry but i have set a wrong permission to files related to LACP.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmal.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 15:27:18 +09:00
YAMAMOTO Takashi
37a11525df note about network address representation
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 14:26:00 +09:00
YAMAMOTO Takashi
4f74c9b367 packet lib: pydoc update/improvements after api change
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 14:25:56 +09:00
YAMAMOTO Takashi
d29b3b3d7a packet lib api: update documentation
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 14:25:51 +09:00
YAMAMOTO Takashi
54c3438a21 rest_router: update after packet lib api changes
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 14:25:50 +09:00
YAMAMOTO Takashi
db1bd93230 topology.switches: update after packet lib api changes
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 14:25:44 +09:00
YAMAMOTO Takashi
c14a4182d3 packet lib: change the api to use text addresses
for example:
    >>> from ryu.lib.packet.ipv4 import ipv4
    >>> o = ipv4(src='127.0.0.1')
    >>> o.src
    '127.0.0.1'
    >>>

i left lldp TLVs as they seem to be treated opaque.

for now, i don't change mac.DONTCARE and mac.BROADCAST because
they are used by the ofproto world as well.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 14:25:41 +09:00
FUJITA Tomonori
84236ab88d Ryu 2.2
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 14:07:05 +09:00
FUJITA Tomonori
15e7a48ffc sync README with the web site
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 10:09:36 +09:00
FUJITA Tomonori
a1f5d458df add 2013 to copyright for documentations
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-01 08:12:00 +09:00
YAMAMOTO Takashi
7b499a0478 test_parser: update of13 expected results
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:39 +09:00
YAMAMOTO Takashi
0e4c83d4e4 of13 OFPMatch: remove now unused code
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
620852451a of13: more OFPMatch old api compat
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
d88a62d9cf of13: make OFPMatch.to_jsondict work on instances composed with old api
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
9844c86901 of13 OFPMatchField: make this safe to serialize multiple times
this will be used by OFPMatch old api compat code.$

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
937001622c of13: OFPMatch api compat
make old query api work on OFPMatch instances created with from_jsondict.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
358017785a of13: OFPMatch from_json/to_json for new api
this breaks from_json/to_json for old api

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
6b6fd7e67a of13: add OFPMatch.get for convenience
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
023586ed44 of13: add OFPMatch.iteritems for convenience
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
205fb8369e of13: new OFPMatch field query api
an example:

    if 'ipv6_src' in match:
        print match['ipv6_src']

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
8aa8fca868 of13: new match field parser
add a new match field parser which fills OFPMatch attributes used
by the new api.

the old parser which fills match.fields is kept for now but will be
removed later.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00
YAMAMOTO Takashi
b7075a1e26 of13: new OFPMatch composer api
a new api to compose matches.  it looks like:

    match = OFPMatch(in_port=1,
                     eth_type=0x86dd,
                     ipv6_src=('2001:db8:bd05:1d2:288a:1fc0:1:10ee',
                               'ffff:ffff:ffff:ffff::'),
                     ipv6_dst = '2001:db8:bd05:1d2:288a:1fc0:1:10ee')

the old match.set_foo and match.append_field methods are kept for now
but will be removed later.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 21:06:38 +09:00