1141 Commits

Author SHA1 Message Date
YAMAMOTO Takashi
9159bd74fe revert "support setup.py install with git archive tarballs" commit
revert the following commit because it has a side effect
to change pbr's version to ryu's version. (eg. 3.1)
it doesn't work with the recent version of olso.config
which requires pbr < 1.0.

|commit 55aa47489306ebb3bfa3307e3fa5a332007a58ed
|Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|Date:   Fri Aug 2 14:33:40 2013 +0900
|
|    support setup.py install with git archive tarballs
|
|    Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-10-07 18:08:35 +09:00
YAMAMOTO Takashi
a861730cfb revert "stick with pbr 0.5.19" commit
revert the following commit because it doesn't work with
the latest oslo.config which requires newer pbr.

|commit 205485e0520d8f37c49b66bbbf012a9448cd9367
|Author: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
|Date:   Fri Aug 30 14:08:49 2013 +0900
|
|    stick with pbr 0.5.19
|
|    the latest versions of pbr generate scripts which don't support
|    multiversion.  to avoid importing modules from older multiversion-aware
|    installations of ryu, we prefer multiversion-aware scripts.
|
|    Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
|    Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>

the problem reported by Satoshi Kobayashi on ryu-devel.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-10-07 18:08:34 +09:00
FUJITA Tomonori
c19e0a20cd Ryu 3.1
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v3.1
2013-10-02 13:31:31 -07:00
Yuichi Ito
1c2110cd01 packet lib: dhcp: remove unnecessary import
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-30 16:40:47 +09:00
Yuichi Ito
116a188f74 packet lib: dhcp: add unittest
add the tests for __init__(), parser() and serialize() in response to using text addresses.
correct an argument for option.__init__() from string to byte.

Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-30 16:40:45 +09:00
Yuichi Ito
349750a1fd packet lib: dhcp: use text addresses
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-30 16:40:33 +09:00
FUJITA Tomonori
a6dce73e33 packet lib: add get_protocol API
get_protocols returns the list of protocols. This is useful for a
packet including the same protocol multiple times (e.g. tunneling such
GRE). However, it's a rare use case. Instead of
'get_protocols(hoge)[0]', let's do 'get_protocol(hoge)' simply.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-27 02:43:33 +09:00
FUJITA Tomonori
239f4c7122 of1.3: set default arguments for FlowStatsRequest
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-27 02:43:33 +09:00
FUJITA Tomonori
094a1da989 of1.2: set default arguments for FlowStatsRequest
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-27 02:43:33 +09:00
YAMAMOTO Takashi
8cbfc3f55a topology.switches: fix link discovery
fix a regression introduced by text address changes.

problem reported by Tonh o - Antonio Brasolin
patch tested and fixed by YAMADA Hideki

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 15:26:31 +09:00
YAMAMOTO Takashi
3aefc92ea8 ofproto: remove a bogus comment
seems like a copy-and-paste leftover from OF1.0.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-25 22:26:30 -07:00
YAMAMOTO Takashi
b76000ec6b ofproto: remove unused definitions
g/c unused OF1.2/1.3 OFP_PACKET_IN_DATA_OFFSET definitions.
they seem to be copy-and-paste leftover from OF1.0.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-25 22:26:29 -07:00
YAMAMOTO Takashi
a53bc8052d ofproto: fix OF1.0 packet_in parser
OF1.0 spec says OFP_ASSERT(sizeof(struct ofp_packet_in) == 20).
It's quite bogus as it assumes a specific class of C implementations.
(well, if it was C.  it's unclear from the spec itself.)
We just use the real size of the structure as this is not C.  This
agrees with on-wire messages OpenFlow Reference Release and Open vSwitch
produce.

This should fix a crash Chen Chen reported on ryu-devel recently.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-25 22:26:28 -07:00
Yuichi Ito
54989c7862 packet lib: icmp: rewrite unittest
formerly this module tested only to_string(), so a bug in parser() of 'TimeExceeded' was overlooked.
this patch will bring the module to test all the methods of all the classes in 'icmp' module.

Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-25 19:36:18 -07:00
YAMADA Hideki
91e54cda62 tests/integrated: fix mac address format
This fix following error.

$ ./run_tests.sh -i
(...)
ryu-manager: hub: uncaught exception: Traceback (most recent call last):
ryu-manager: File "/home/hideki/git/ryu/ryu/lib/hub.py", line 48, in _launch
ryu-manager: func(*args, **kwargs)
ryu-manager: File "/home/hideki/git/ryu/ryu/base/app_manager.py", line 110, in _event_loop
ryu-manager: handler(ev)
ryu-manager: File "/home/hideki/git/ryu/ryu/tests/integrated/test_request_reply_v12.py", line 996, in echo_replay_handler
ryu-manager: self.run_verify(ev)
ryu-manager: File "/home/hideki/git/ryu/ryu/tests/integrated/test_request_reply_v12.py", line 78, in run_verify
ryu-manager: self.start_next_test(dp)
ryu-manager: File "/home/hideki/git/ryu/ryu/tests/integrated/test_request_reply_v12.py", line 56, in start_next_test
ryu-manager: getattr(self, t)(dp)
ryu-manager: File "/home/hideki/git/ryu/ryu/tests/integrated/test_request_reply_v12.py", line 203, in test_error_reply
ryu-manager: dp.send_msg(m)
ryu-manager: File "/home/hideki/git/ryu/ryu/controller/controller.py", line 220, in send_msg
ryu-manager: msg.serialize()
ryu-manager: File "/home/hideki/git/ryu/ryu/ofproto/ofproto_parser.py", line 194, in serialize
ryu-manager: self._serialize_body()
ryu-manager: File "/home/hideki/git/ryu/ryu/ofproto/ofproto_v1_2_parser.py", line 1754, in _serialize_body
ryu-manager: self.port_no, addrconv.mac.text_to_bin(self.hw_addr),
ryu-manager: File "/home/hideki/git/ryu/ryu/lib/addrconv.py", line 27, in text_to_bin
ryu-manager: return self._addr(text, **self._addr_kwargs).packed
ryu-manager: File "/home/hideki/git/ryu/.venv/local/lib/python2.7/site-packages/netaddr/eui/__init__.py", line 376, in __init__
ryu-manager: self.value = addr
ryu-manager: File "/home/hideki/git/ryu/.venv/local/lib/python2.7/site-packages/netaddr/eui/__init__.py", line 434, in _set_value
ryu-manager: % (value, self._module.version))
ryu-manager: AddrFormatError: address '\xff\xff\xff\xff\xff\xff' is not an EUIv48

Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-25 19:36:17 -07:00
Satoshi Kobayashi
ec70b2dcc5 Advanced WSGI API
HTTP routing and implements will be in the same place. This idea was
inspired from Flask and Bottle of Python and JAX-RS of Java. This
modification keeps backward compatibility.

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-25 13:06:40 -07:00
YAMAMOTO Takashi
dfe8bbb259 doc: hook up streaming parser docs
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:11:16 +09:00
YAMAMOTO Takashi
1e3f88010f implement BGP-4 streaming parser
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:11:15 +09:00
YAMAMOTO Takashi
011e19fd41 streaming parser base class
will be used for BGP-4.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:11:14 +09:00
YAMAMOTO Takashi
45633e83b3 doc: hook up lib.packet.bgp
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:11:05 +09:00
YAMAMOTO Takashi
5ddbd7f1d0 unit test for lib.packet.bgp
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:11:04 +09:00
YAMAMOTO Takashi
ba92a9e634 packet lib: implement basic part of BGP-4
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:11:01 +09:00
YAMAMOTO Takashi
ba7bde95fd test_addrconv: add more test
Test '0.0.0.0' ipv4 address conversion.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:04:51 +09:00
Yuichi Ito
e7cdb59457 packet lib: ipv6: avoid dangerous default value [] as argument
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:02:37 +09:00
Yuichi Ito
96afdc7bbc packet lib: ipv6: simplify the operations of __init__()
before applying this patch:
  - ipv6.parser() uses 'nxt' of the last extension header
  - ipv6.__init__() rewrites 'nxt' in conjunction with extension headers
  - 'nxt' of the extension headers are set automatically, i.e. they are obscure

after applying this patch:
  - ipv6.parser() does not consider 'nxt' of the extension headers
  - ipv6.__init__() does not rewrite 'nxt'
  - 'nxt' of the extension headers are set manually as an argument of __init__()

Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:02:37 +09:00
Yuichi Ito
2275dc15cc packet lib: ipv6: support udp
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:02:37 +09:00
Yuichi Ito
7cbae7d435 packet lib: ipv6: remove unnecessary import
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:02:37 +09:00
Yuichi Ito
66e529f506 packet lib: icmp: correct parser() of TimeExceeded
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26 04:00:56 +09:00
YAMAMOTO Takashi
d8d88fc06a unit test for import_module
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:55:27 +09:00
YAMAMOTO Takashi
dd06396803 import_module: deal with cases mod.__file__ is not accessible
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:55:23 +09:00
Yuichi Ito
9bfef0317b packet lib: ipv6: correct a comment
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:25 +09:00
Yuichi Ito
8c1cb389d1 packet lib: ipv6: add test for multi extension headers
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:25 +09:00
Yuichi Ito
3905f4c019 packet lib: ipv6: support IP Authentication header
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:25 +09:00
Yuichi Ito
dc26a90bbe packet lib: ipv6: support fragment header
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:14 +09:00
Yuichi Ito
d174c98421 packet lib: ipv6: support destination header
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:14 +09:00
Yuichi Ito
e49266946d packet lib: ipv6: support Hop-by-Hop Options header
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:14 +09:00
Yuichi Ito
95909af095 packet lib: ipv6: prepare to support Hop-by-Hop Options header and destination header
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:14 +09:00
Yuichi Ito
67a4c2f82f packet lib: ipv6: support options for Hop-by-Hop Options header and destination header
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:14 +09:00
Yuichi Ito
40e979b92b packet lib: ipv6: prepare to support extension headers
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:09:14 +09:00
watanabe.fumitaka
06e50ce710 rest_firewall: improve REST response
Improvement of the REST response for basing more on JSON.

example of get rules.

before:
{
  "switch_id: 0000000000000001": [
    {
      "vlan_id: 634": {
        "rule_id: 1": {
          "actions": "ALLOW",
          "dl_vlan": 634,
          "dl_type": "ARP",
          "priority": 1
        },
        "rule_id: 2": {
          "actions": "ALLOW",
          "dl_src": "12:34:56:78:9a:bc",
          "dl_vlan": 634,
          "nw_proto": "ICMP",
          "dl_type": "IPv4",
          "priority": 1
        }
      }
    }
  ]
}

after:
[
  {
    "switch_id": "0000000000000001",
    "access_control_list": [
      {
        "vlan_id": 634,
        "rules": [
          {
            "actions": "ALLOW",
            "rule_id": 1,
            "dl_vlan": 634,
            "dl_type": "ARP",
            "priority": 1
          },
          {
            "dl_src": "12:34:56:78:9a:bc",
            "actions": "ALLOW",
            "rule_id": 2,
            "dl_vlan": 634,
            "nw_proto": "ICMP",
            "dl_type": "IPv4",
            "priority": 1
          }
        ]
      }
    ]
  }
]

Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 01:43:32 +09:00
YAMAMOTO Takashi
435d701861 comment on OFP_xxx_PORT
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20 09:43:20 +09:00
YAMAMOTO Takashi
35c0ca1083 vlan: remove unnecessary import
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20 09:42:59 +09:00
YAMAMOTO Takashi
1afea080d6 doc: ryu app api overview
mostly taken from ryu.wiki/API.md and conveted by hand.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20 09:42:03 +09:00
YAMAMOTO Takashi
bdbcfda297 document OFPTableFeaturesStatsRequest/OFPTableFeaturesStatsReply
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20 09:40:54 +09:00
YAMAMOTO Takashi
7d37903c31 doc: sprinkle of13 json examples
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20 09:40:53 +09:00
YAMAMOTO Takashi
672db3d81a doc: sprinkle of12 json examples
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20 09:40:53 +09:00
YAMAMOTO Takashi
32977c125e document MsgBase
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20 09:40:53 +09:00
YAMAMOTO Takashi
71ea304be6 add some docstring on StringifyMixin and relevant code
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20 09:40:53 +09:00
Yuichi Ito
e1ae103b78 lib: lacplib: correct comments
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14 12:38:56 +09:00
Yuichi Ito
fbfdf4f599 lib: lacplib: add underscore to a protected member
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14 12:38:56 +09:00