883 Commits

Author SHA1 Message Date
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
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
YAMAMOTO Takashi
2ef6d905d9 test_parser: update of12 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:38 +09:00
YAMAMOTO Takashi
6fe5867be7 of12 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
d12f9d93b5 of12: OFPMatch more old api compat
enough to pass test_parser_v12.

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
91942683fe of12: 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:37 +09:00
YAMAMOTO Takashi
4dfd93b1b2 of12 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:37 +09:00
YAMAMOTO Takashi
efcf9263b0 of12: 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:37 +09:00
YAMAMOTO Takashi
4c14442022 of12: 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:37 +09:00
YAMAMOTO Takashi
288b682c9f of12: 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:37 +09:00
YAMAMOTO Takashi
c1044aa810 of12: 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:37 +09:00
YAMAMOTO Takashi
ed2b5681f0 of12: 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:37 +09:00
YAMAMOTO Takashi
150fac2f6a of12: 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:37 +09:00
YAMAMOTO Takashi
e0addad053 of12: 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:37 +09:00
YAMAMOTO Takashi
311b9404f4 oxm_fields: accept [value, mask] as well as (value, mask)
this will be used for OFPMatch from_jsondict implementation.
as json has no notion of tuples, we will use a list instead.

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:37 +09:00
YAMAMOTO Takashi
f7089128b0 oxm_fields: generate OFPXMT_OFB_ and OXM_OF_ from a single source
also, implement text <-> binary convertions for field values.  this will
be used for later ofproto api refinement.  (and probably stringify stuff)

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:37 +09:00
watanabe.fumitaka
4571711640 add unit test for packet library llc
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 19:44:11 +09:00
watanabe.fumitaka
f57a550e39 link to LLC sub layer
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 19:42:37 +09:00
watanabe.fumitaka
a7499bb1b1 lib/packet/llc
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 19:41:00 +09:00
watanabe.fumitaka
a3492f1276 lib/packet/bpdu
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 19:40:56 +09:00
Satoshi Kobayashi
aba1d18b62 The trick for installing argparse is deleted
This trick is contained in oslo.config.

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 10:57:54 +09:00
YAMAMOTO Takashi
ee79a1a7c7 update packet generator code comment
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 10:17:45 +09:00
YAMAMOTO Takashi
89ae14b943 test_addrconv: fix a copy and paste mistake
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-30 17:54:41 +09:00
Satoshi Kobayashi
8be31f062c Remove contrib/oslo directory
oslo.config is installed from PyPI

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-28 13:50:18 +09:00
YAMAMOTO Takashi
cd49f54956 addrconv: remove embedded test code
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-25 05:16:36 +09:00
YAMAMOTO Takashi
cb38a6658b add a test for ryu.lib.addrconv
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-25 05:16:34 +09:00
YAMAMOTO Takashi
47abace6b9 regenerate packet_data for meter_mod
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 11:57:59 +09:00
YAMAMOTO Takashi
2bd307f3ac test_parser: an expected result for meter_mod
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 11:57:56 +09:00
YAMAMOTO Takashi
9bbba6862f packet_data_generator: uncomment ofp_meter_mod
the latest ryu has an implementation.
also, tweak to use more band types.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 11:57:50 +09:00
YAMAMOTO Takashi
70e4fa0888 of13 OFPMeterMod: fix _len vs len mismatch
reported by Jyry Suuntala on ryu-devel@

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 11:57:45 +09:00
YAMAMOTO Takashi
6b8add751d of13 OFPMeterBandExperimenter: fix super
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 11:57:39 +09:00
Kei Ohmura
bdde02b61b ryu/app/ofctl_rest: add of1.3 support
This patch allows users to manually insert flows into switches via OpenFlow1.3
in the following way:

curl -d '{"dpid":"1", "priority":"32768",\
          "actions":[{"type":"SET_FIELD","field":"vlan_vid","value":10},\
                         {"type":"OUTPUT","port":2},\
                         {"type":"GOTO_TABLE","table_id":3}],\
          "match":{"in_port":1}}' http://127.0.0.1:8080/stats/flowentry/add

Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 08:36:20 +09:00
OHMURA Kei
afefe3c3cd add ofctl_v1_3 library
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 08:36:08 +09:00
YAMAMOTO Takashi
db40bc0f98 rest_router: follow packet lib api change
packet lib now uses bytes, not int/long, to represent ipv4 addresses.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 04:12:09 +09:00
YAMAMOTO Takashi
d31b5dd367 addrconv: use bytes instead of int to represent ipv4 addresses
change ipv4 representation from int to bytes in many places.
replace homegrown bin<->text routines with addrconv for ipv4.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 04:12:07 +09:00
YAMAMOTO Takashi
faf13ff99f addrconv: replace bin<->text converters for ipv6
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 04:12:06 +09:00
YAMAMOTO Takashi
343e0f6997 addrconv: replace bin<->text converters for mac addresses
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 04:12:04 +09:00