summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2014-04-15sw test tool: Correct the comparison method to treat matches as the setYuichi Ito
OF 1.3.3 spec (3 Glossary) says: Flow Entry: an element in a flow table used to match and process packets. It contains a set of match fields for matching packets, a priority for matching precedence, a set of counters to track packets, and a set of instructions to apply (see 5.2). According to OF spec, the match fields are treated as the set. This means that the order of matches which flow_stats message returns is inconsistant. This patch corrects the comparison method of matches by sorting in a particular order before comparison. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-15sw test tool: Fix to compare OFPMatch ignoring fields that masks are all ↵Yuichi Ito
zero bits OF 1.3.3 spec (7.2.3.5 Flow Match Field Masking) says: An all-zero-bits oxm_mask is equivalent to omitting the OXM TLV entirely. An all-one-bits oxm_mask is equivalent to specifying 0 for oxm_hasmask and omitting oxm_mask. This patch fixes to compare OFPMatch ignoring fields that masks are all zero bits. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-15sw test tool: Fix to compare OFPMatch ignoring masks that are all one bitsYuichi Ito
OF 1.3.3 spec (7.2.3.5 Flow Match Field Masking) says: An all-zero-bits oxm_mask is equivalent to omitting the OXM TLV entirely. An all-one-bits oxm_mask is equivalent to specifying 0 for oxm_hasmask and omitting oxm_mask. This patch fixes to compare OFPMatch ignoring masks that are all one bits. Reported-by: Arne Goetje <arne_goetje@accton.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10fix pbb itag related testsHiroaki KAWAI
i-tagged packets will have ETH_TYPE=0x88E7. The tests are rewritten in the same way with MPLS. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10RyuApp: delete a key without handlers when unregistering a handlerFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10ryu.app.ofctl: raise exceptions on openflow error messagesYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10ryu.app.ofctl: implement multipartYAMAMOTO Takashi
an example: msg = parser.OFPPortDescStatsRequest(datapath=datapath) result = ofctl.api.send_msg(self, msg, reply_cls=parser.OFPPortDescStatsReply, reply_multi=True) Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10ryu.app.ofctl: implement reception of reply messageYAMAMOTO Takashi
an example: msg = parser.OFPEchoRequest(datapath=datapath) result = ofctl.api.send_msg(self, msg, reply_cls=parser.OFPEchoReply) assert isinstance(result, parser.OFPEchoReply) Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10ofp_event: add a function to find Event class for given OFP classYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10RyuApp: add methods to observe/unobserve specific event dynamicallyYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10RyuApp: allow observing events without having handlersYAMAMOTO Takashi
this will be used by ofctl app which registers handlers dynamically. when unobserving an event cls dynamically, there might be events of the cls left in app's event queue already. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10RyuApp.get_handlers: restructure code and add a commentYAMAMOTO Takashi
no functional changes. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10RyuApp: add a method to unregister a handlerYAMAMOTO Takashi
this method undos register_handler. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10controller.handler: simplify codeYAMAMOTO Takashi
and use consistent variable names. no functional changes. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10controller.handler: use normal classes rather than a namedtupleYAMAMOTO Takashi
and add some comments. no functional changes. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-10controller.handler: g/c now unused codeYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-07igmplib: Fix a problem that querier stops sending a query messageYuichi Ito
When QUERY timeout expires, a variable for flooding is overwritten unexpectedly. So querier stops sending a query message any longer. This patch fixes the problem. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-02Ryu 3.8FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: fix pep8FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: enable to propagate ipv4 networksISHIDA Wataru
Newly add an api network.add to add a ipv4 network to propagate. Networks can be registered in configure file using networks direction Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: improved debug message in neighbor creationISHIDA Wataru
show neighbor's IP address instead of meaningless string Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: changed default configuration value for ease of use with bgp4ISHIDA Wataru
changed to enable bgp4 and disable mpbgp and enhanced refresh in default Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: use hub.Event to wait for the core_service boot instead of sleepISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: enable to show ipv4 ribISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: send BGP UPDATE msg in BGP4 format when nlri is ipv4ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: handle non-MPBGP UPDATE msgISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: remove inappropriate assertion assuming only MPBGP (not BGP4)ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01bgp: fix wrong pathISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01add BGP daemon featureFUJITA Tomonori
Currently, the BGP code can work as an daemon (IOW, not RyuApp). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01ofctl_v1_3: Fix to enable using meter flags multiplyYuichi Ito
ofctl_rest is now enabled to parse flags multiply as follows: curl -X POST -d '{"dpid": 1, "meter_id": 1, "flags": ["KBPS", "BURST"], "bands": [{"type": "DROP", "rate": 1000}]}' http://localhost:8080/stats/meterentry/add And now enabled to show flags as follows: curl http://localhost:8080/stats/meterconfig/1 { "1": [ {"bands": [{"burst_size": 0, "rate": 1000, "type": "DROP"}], "flags": ["KBPS", "BURST"], "meter_id": 1} ] } Reported-by: cheers <cnmjbm@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30stplib: reduce unnecessary constantYuichi Ito
and correct the inaccurate dispatchers. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add default test files (meter)Yuichi Ito
These test files aim to examine 'meter instruction' of FlowMod message. Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add support for throughput analysisYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Enable throughput analysisYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add support for getting throughputYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add support for installation of flows for throughput analysisYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add support for deletion of flows for throughput analysisYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Enable parsing a new 'egress' formatYuichi Ito
The format is for throughput analysis. Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Enable sending packets continuouslyYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Rename STATE_UNMATCH_PKT_SEND to STATE_SEND_BARRIERYuichi Ito
And rename _test_unmatch_packet_send() to _test_send_barrier(). Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Refactor packet sending processesYuichi Ito
Methods of STATE_FLOW_MATCH_CHK and STATE_UNMATCH_PACKET_SEND have similar processes that send a packet. This patch refactors this redundancy. Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add support for sending packets continuouslyYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Enable parsing a new 'ingress' formatYuichi Ito
The format is for sending packets continuously. Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Enable parsing OFPMeterMod messages in 'prerequisite'Yuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add support for confirmation of installed meter entriesYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add support for installation of meter entriesYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Add support for initialization of meter tablesYuichi Ito
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-30sw test tool: Rename STATE_INIT to STATE_INIT_FLOWYuichi Ito
And rename _test_initialize() to _test_initialize_flow(). Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com> Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-27remove ryu.cmd.ofa_neutron_agent from console_scripts in setup.cfgFUJITA Tomonori
unnecessary because neutron's setup.py creates the script for us. Reviewed-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-26of: set TCP_NODELAY for secure channel socketFUJITA Tomonori
Due to Nagle, an OF message that an application sends might be not delivered to a switch immediately. This patch disables Nagle. This has bad effect on throughput. I think that the latency matters for any management channel. To avoid throughput drop, we could use TCP_CORK on Linux but it's linux specific. Reviewed-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>