summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2017-09-17packet/zebra: Support MPLS Labels messagesIWASE Yusuke
This patch implements the following messages on FRRouting: - FRR_ZEBRA_MPLS_LABELS_ADD - FRR_ZEBRA_MPLS_LABELS_DELETE Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Support Interface Router Advertisement messagesIWASE Yusuke
This patch implements the following messages on FRRouting: - FRR_ZEBRA_INTERFACE_ENABLE_RADV - FRR_ZEBRA_INTERFACE_DISABLE_RADV Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Support VRF related messagesIWASE Yusuke
This patch implements the following messages on FRRouting: - FRR_ZEBRA_VRF_ADD - FRR_ZEBRA_VRF_DELETE - FRR_ZEBRA_INTERFACE_VRF_UPDATE Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Support BFD Destination messagesIWASE Yusuke
This patch implements the following messages on FRRouting: - ZEBRA_INTERFACE_BFD_DEST_UPDATE - ZEBRA_BFD_DEST_REGISTER - ZEBRA_BFD_DEST_DEREGISTER - ZEBRA_BFD_DEST_UPDATE - ZEBRA_BFD_DEST_REPLAY Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Support Neighbor Connected Address messagesIWASE Yusuke
This patch implements the following messages on FRRouting: - ZEBRA_INTERFACE_NBR_ADDRESS_ADD - ZEBRA_INTERFACE_NBR_ADDRESS_DELETE Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17test_zebra: Add pcap for API version 4 on FRR v2.0IWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Support some FRRouting messages formatIWASE Yusuke
Note: This patch does not support all messages defined in FRRouting, and some of message are left on TODO. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Constants for supporting FRRouting formatIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Support asymmetric structure of ZEBRA_*_IMPORT_LOOKUPIWASE Yusuke
The ZEBRA_IPV4_IMPORT_LOOKUP/ZEBRA_IPV6_IMPORT_LOOKUP has asymmetric structures at when sent to Zebra daemon and when sent from Zebra daemon. Especially, "prefix_len" field is inserted before "prefix" filed when sent to Zebra daemon. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Parse messages based on Zebra API versionIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Missing bw_cls_num in InterfaceLinkParamsIWASE Yusuke
This patch fixes to parse the missing field of the number of unreserved bandwidth classes in Interface Link Parameters structure. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Constants for Link Parameters StatusIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Constants for Interface Address FlagsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Return "ZebraMessage" for message from ZebraIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-17packet/zebra: Fix unresolved reference for _serialize_nexthopsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-05Only import pip if neededThomas Bechtold
In some systems pip is not installed and the parse_requirements() function is not needed. So only import pip if needed. Otherwise this fails with: from ryu.base import app_manager File "/usr/lib/python2.7/site-packages/ryu/base/app_manager.py", line 34, in <module> from ryu import utils File "/usr/lib/python2.7/site-packages/ryu/utils.py", line 23, in <module> from pip import req as pip_req ImportError: No module named pip Signed-off-by: Thomas Bechtold <tbechtold@suse.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-04Ryu 4.17FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-29topology/switches: Fix delete port can't immediately remove link.mgrex97
If remove port data from self.port_state first, self.get_port method can't get the port data, this problem will cause link can't immediately be removed. This patch remove port data after get_port and link delete. Signed-off-by: Yu Ren <j6y4u4xup6@gmail.com> Signed-off-by: mgrex97 <j6y4u4xup6@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-29BGPSpeaker/net_ctrl: Close activity for each sessionIWASE Yusuke
Currently, a thread for processing outgoing message will be remained in "RpcSession" activity even if RPC session is closed by the remote peer, and garbages on memory will grow. This patch fixes to close "RpcSession" activity when RPC session closing. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-29packet/bmp: Correctly parse peer address with IPv4Satoshi Fujimoto
Currently, Ryu expects that the IPv4 peer address format is "4 bytes with IPv4 address, followed by 12 bytes padding". However RFC 7854 says the format is "12 bytes padding, followed by 4 bytes with IPv4 address". This patch fixes it to correctly parse/serialize peer address. Reported-by: Henk Smit <hhwsmit@xs4all.nl> Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-29rest_qos: Avoid discarding Queues info for each requestIWASE Yusuke
Currently, rest_qos discards the Queues info stored on its dictionary for each "Set queue" request. So rest_qos always reply only last Queue setting. This patch fixes to avoid discarding the Queues info and enable to reply all configured Queues settings. Note: In order to store all Queues settings, "port name" field for each Queue will be inserted on the reply of "Get queue configuration" API. - Before: [ { "command_result": { "result": "success", "details": { "0": { "config": { "max-rate": "500000" } }, "1": { "config": { "min-rate": "800000" } } } }, "switch_id": "0000000000000001" } ] - After: [ { "command_result": { "result": "success", "details": { "s1-eth1": { # <-- Inserted "0": { "config": { "max-rate": "500000" } }, "1": { "config": { "min-rate": "800000" } } } } }, "switch_id": "0000000000000001" } ] Reported-by: Fahmy Sherif Alaa Salaheldin <sherif.fahmy@epfl.ch> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-29services/ovsdb: Listen on IPv6 AddressDingyuan Hu
This patch enables Ryu to listen ovsdb connections on IPv6 Address. Note that you need to make a config file like belows: [ovsdb] address=:: Signed-off-by: Dingyuan Hu <hdyvip@gmail.com> Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-04packet/icmpv6: Assert length in options are validSatoshi Fujimoto
About the 'length' field in ICMPv6 options, RFC4861 says that "The value 0 is invalid". This patch adds assertions to raise a exception for such invalid ICMPv6 packets. Reported-by: William Fisher <william.w.fisher@gmail.com> Reported-by: Shivaram Mysore <shivaram.mysore@gmail.com> Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-04packet/icmpv6: Fix parsing undefined nd_option failsSatoshi Fujimoto
The length of nd_option is units of 8 octets. Currently, for nd_options which is undefined in the ICMPv6 packet library, the parser assumes that the length is [8 * length - 2]. It causes fails while parsing these options. This patch fixes it to parse such options correctly. Reported-by: William Fisher <william.w.fisher@gmail.com> Reported-by: Shivaram Mysore <shivaram.mysore@gmail.com> Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-04ofp_event: Timestamp when OpenFlow event was generatedIWASE Yusuke
This patch introduces "timestamp" attribute for OpenFlow event classes which shows when that event was generated by Datapath instance and nearly equivalent to when Ryu finished receiving the message contained in that event instance. Suggested-by: Matthew Hayes <matthew_john_hayes@hotmail.com> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-02Ryu 4.16FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-30doc: Fix unexpected indent in ryu/lib/packet/bgp.pyIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-30doc: Deprecated option html_use_smartypantsIWASE Yusuke
"html_use_smartypants" in conf.py is deprecated in Sphinx 1.6. This patch fixes to use "smart_quotes" in docutils.conf instead. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-21ofproto: Avoid emitting illegal instruction setsIWAMOTO Toshihiro
The OpenFlow spec forbids multiple occurences of a same instruction type within a mod_flow message, so make sure ofp_instruction_from_jsondict doesn't emit such an instruction set. Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-21doc: Minor grammar changes in ryu_app_apiTravis Gockel
2017-07-21unit/ofproto: Adopt to rename of OFPErrorExperimenterMsgIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-21ofproto: Handle OFPErrorExperimenterMsgIWASE Yusuke
Currently, OFPErrorExperimenterMsg is not registered into OpenFlow message events dict as "EventOFPErrorExperimenterMsg", and could not be converted to events by ofp_event module. This patch obsolete OFPErrorExperimenterMsg class and fixes to use EventOFPErrorMsg to handle the experimenter error messages. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-21bgp_sample_conf: absolute_import to suppress warningsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-02service/ovsdb: get socket from RemoteOvsdbSatoshi Fujimoto
This patch adds "socket" field to RemoteOvsdb to get sockets which connects to switches. e.g.) @set_ev_cls(ovsdb_event.EventNewOVSDBConnection) def handle_new_ovsdb_connection(self, ev): print(ev.client.socket.getsockname()[0]) Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-02Ryu 4.15FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-30Revert "tests: Separate test files from Ryu module"FUJITA Tomonori
This reverts commit a67ed2858417b9d795460f05126c01fb0cd344f9. The commit breaks OpenStack neutron dynamic routing.
2017-06-26tests: Separate test files from Ryu moduleIWASE Yusuke
To prevent redundant files (e.g., pcap files, json files for tests, packet data generator) to be installed, this patch separates test directory from Ryu module. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23service/ovsdb: Use dict.items() instead of six.iteritems()Satoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23doc/ovsdb_manager: Update Sample CodeSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23service/ovsdb: Use Python 2/3 compatible codeSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23service/ovsdb: Avoid to use dict as default argumentSatoshi Fujimoto
Using mutable values as default arguments will cause unexpected behavior. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23service/ovsdb: Add properties to EventNewOVSDBConnectionSatoshi Fujimoto
Currently, EventNewOVSDBConnection only has system_id. This patch let the class has RemoteOvsdb to get more informations through it. e.g.) @set_ev_cls(ovsdb_event.EventNewOVSDBConnection) def handle_new_ovsdb_connection(self, ev): system_id = ev.system_id remote_addr = ev.client.address Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23test_vsctl: Strip unexpected double quoteIWASE Yusuke
This patch removes unexpected double quote around IP address in OVSDB_SWITCH_ADDR. e.g.) NG: tcp:"172.17.0.2":6640 OK: tcp:172.17.0.2:6640 Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22pip: OpenStack updated requirements of eventlet againIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22manager: Introduce user flags optionIWASE Yusuke
This patch introduces "--user-flags" option which enable to add user original CLI or config file options for their own Ryu applications. Usage Example) $ cat user_flags.py from ryu import cfg CONF = cfg.CONF CONF.register_cli_opts([ cfg.StrOpt( 'user-cli-opt', default=None, help='user original CLI option'), ]) $ ryu-manager --user-flags user_flags.py user_app.py Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22CONTRIBUTING: Update info of Python ver/lib and linksIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22CONTRIBUTING: Update procedure for running testsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22CONTRIBUTING: Update procedure for submitting patchesIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22README: Dependencies for installing optional requirementsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-04service/ovsdb: Default of controller_info in set_controllerIWASE Yusuke
Currently, api.set_controller in OVSDB service raises AttributeError if controller_info is None and controller is not found in current table. This patch sets the empty dict as the default value and fixes this problem. Reported-by: 胡鼎原 <hdyvip@gmail.com> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>