summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2013-09-27packet lib: add get_protocol APIFUJITA Tomonori
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-27of1.3: set default arguments for FlowStatsRequestFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-27of1.2: set default arguments for FlowStatsRequestFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26topology.switches: fix link discoveryYAMAMOTO Takashi
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-25ofproto: remove a bogus commentYAMAMOTO Takashi
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-25ofproto: remove unused definitionsYAMAMOTO Takashi
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-25ofproto: fix OF1.0 packet_in parserYAMAMOTO Takashi
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-25packet lib: icmp: rewrite unittestYuichi Ito
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-25tests/integrated: fix mac address formatYAMADA Hideki
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-25Advanced WSGI APISatoshi Kobayashi
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-26doc: hook up streaming parser docsYAMAMOTO Takashi
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26implement BGP-4 streaming parserYAMAMOTO Takashi
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26streaming parser base classYAMAMOTO Takashi
will be used for BGP-4. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26doc: hook up lib.packet.bgpYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26unit test for lib.packet.bgpYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26packet lib: implement basic part of BGP-4YAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26test_addrconv: add more testYAMAMOTO Takashi
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-26packet lib: ipv6: avoid dangerous default value [] as argumentYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26packet lib: ipv6: simplify the operations of __init__()Yuichi Ito
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-26packet lib: ipv6: support udpYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26packet lib: ipv6: remove unnecessary importYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-26packet lib: icmp: correct parser() of TimeExceededYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24unit test for import_moduleYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24import_module: deal with cases mod.__file__ is not accessibleYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: correct a commentYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: add test for multi extension headersYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: support IP Authentication headerYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: support fragment headerYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: support destination headerYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: support Hop-by-Hop Options headerYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: prepare to support Hop-by-Hop Options header and ↵Yuichi Ito
destination header Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: support options for Hop-by-Hop Options header and ↵Yuichi Ito
destination header Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24packet lib: ipv6: prepare to support extension headersYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24rest_firewall: improve REST responsewatanabe.fumitaka
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-20comment on OFP_xxx_PORTYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20vlan: remove unnecessary importYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20doc: ryu app api overviewYAMAMOTO Takashi
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-20document OFPTableFeaturesStatsRequest/OFPTableFeaturesStatsReplyYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20doc: sprinkle of13 json examplesYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20doc: sprinkle of12 json examplesYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20document MsgBaseYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-20add some docstring on StringifyMixin and relevant codeYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14lib: lacplib: correct commentsYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14lib: lacplib: add underscore to a protected memberYuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14lib: lacplib: support OpenFlow1.2/1.3Yuichi Ito
Signed-off-by: itoyuichi <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14packet lib: Simpler API to assemble a packetSatoshi Kobayashi
For example: (Current) e = ethernet.ethernet(…) i = ipv4.ipv4(…) u = udp.udp(…) pkt = packet.Packet() pkt.add_protocols(e) pkt.add_protocols(i) pkt.add_protocols(u) (New) e = ethernet.ethernet(…) i = ipv4.ipv4(…) u = udp.udp(…) pkt = e/i/u Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14of12, of13: fix OFPActionSetField paddingYAMAMOTO Takashi
the problem reported by Nitin Sharma on ryu-devel. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14test: update expected json outputsYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14packet_data: regenYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-14tweak packet_data_generatorYAMAMOTO Takashi
to reproduce a problem reported by Nitin Sharma on ryu-devel. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>