Commit Graph

3123 Commits

Author SHA1 Message Date
IWAMOTO Toshihiro ec04ff9f46 ofproto: Avoid emitting illegal instruction sets
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-21 21:54:25 +09:00
Travis Gockel 5e176f9e7c doc: Minor grammar changes in ryu_app_api 2017-07-21 21:47:47 +09:00
IWASE Yusuke 214cd8c305 unit/ofproto: Adopt to rename of OFPErrorExperimenterMsg
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-21 21:38:42 +09:00
IWASE Yusuke 5099034d0c ofproto: Handle OFPErrorExperimenterMsg
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-21 21:38:42 +09:00
IWASE Yusuke b964275b53 bgp_sample_conf: absolute_import to suppress warnings
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-21 21:38:42 +09:00
Satoshi Fujimoto 60651d8a1c service/ovsdb: get socket from RemoteOvsdb
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-02 20:21:14 +09:00
FUJITA Tomonori cd67c52471 Ryu 4.15
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-02 20:08:32 +09:00
FUJITA Tomonori a991fed7e4 Revert "tests: Separate test files from Ryu module"
This reverts commit a67ed28584.

The commit breaks OpenStack neutron dynamic routing.
2017-06-30 14:23:03 +09:00
IWASE Yusuke a67ed28584 tests: Separate test files from Ryu module
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-26 15:17:44 +09:00
Satoshi Fujimoto d8ae9491da service/ovsdb: Use dict.items() instead of six.iteritems()
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23 12:08:18 +09:00
Satoshi Fujimoto ea23ebdadf doc/ovsdb_manager: Update Sample Code
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23 12:08:18 +09:00
Satoshi Fujimoto 10b9273928 service/ovsdb: Use Python 2/3 compatible code
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23 12:08:18 +09:00
Satoshi Fujimoto 27b8d44bb1 service/ovsdb: Avoid to use dict as default argument
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-23 12:08:18 +09:00
Satoshi Fujimoto cf667e4097 service/ovsdb: Add properties to EventNewOVSDBConnection
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-23 12:08:18 +09:00
IWASE Yusuke 2edfb20884 test_vsctl: Strip unexpected double quote
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-23 11:36:18 +09:00
IWASE Yusuke d9d0588689 pip: OpenStack updated requirements of eventlet again
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22 16:08:35 +09:00
IWASE Yusuke 388a97ef6d manager: Introduce user flags option
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-22 16:08:33 +09:00
IWASE Yusuke 0f1430edfd CONTRIBUTING: Update info of Python ver/lib and links
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22 16:07:57 +09:00
IWASE Yusuke b4786a3fe3 CONTRIBUTING: Update procedure for running tests
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22 16:07:54 +09:00
IWASE Yusuke ef212fe87e CONTRIBUTING: Update procedure for submitting patches
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22 16:07:49 +09:00
IWASE Yusuke cec1254a35 README: Dependencies for installing optional requirements
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-22 16:07:41 +09:00
IWASE Yusuke 03c67d368d service/ovsdb: Default of controller_info in set_controller
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>
2017-06-04 13:56:28 +09:00
FUJITA Tomonori 574e417d9d Ryu 4.14
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-02 13:58:40 +09:00
胡鼎原 8fa14c87ec doc: fix error in ovsdb_manager.rst code
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-30 22:11:02 +09:00
胡鼎原 51a86c4d56 fix dhcp6.py bug using python3
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-30 22:10:46 +09:00
IWASE Yusuke bfcd65744c pip: OpenStack avoids newer eventlet
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-30 17:00:45 +09:00
IWAMOTO Toshihiro 430bc97638 ofctl: Add some tests for ofp_instruction_from_str
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-30 16:13:19 +09:00
IWAMOTO Toshihiro a52c62a120 ofctl: Add ovs-ofctl style action string parser
This commit adds a new method called ofp_instruction_from_str,
which takes an ovs-ofctl style action string and returns a list of
JSON dictionaries. Currently only a few action strings are understood.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-30 16:13:18 +09:00
IWAMOTO Toshihiro a5dca1a1e3 nicira_ext: Define some CT constants
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-30 16:13:17 +09:00
Satoshi Fujimoto 7794ff714c BGPSpeaker/SSH: Support to show L2VPN Flow Spec routes
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:48:19 +09:00
Satoshi Fujimoto 0168c28935 BGPSpeaker: Support IPv6 Flow Spec update messages
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:48:14 +09:00
Satoshi Fujimoto 0b9bc03e6c BGPSpeaker/info_base: Add tables for L2VPN Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:48:09 +09:00
Satoshi Fujimoto 12b809f5f7 utils/test_bgp: Add unit tests for L2VPN Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:48:05 +09:00
Satoshi Fujimoto e82d26b1b5 test_table_manager: Add unit tests for L2VPN Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:48:01 +09:00
Satoshi Fujimoto 2bcb040dcb test_bgpspeaker: Add unit tests for L2VPN Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:47:57 +09:00
Satoshi Fujimoto d37a311829 packet/bgp: Support L2VPN Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:47:52 +09:00
Satoshi Fujimoto b327981534 packet/bgp: Properly calculate length for FlowSpec
RFC 5575 says the 'len' field in numeric or bitmask operators
represents that the length of the value field is [1 << 'len'].
But, in serializing FlowSpec messages, the packet library uses
the `len` field as the length of the value field itself.
This patch fixes it to serialize FlowSpec messages properly.

Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:47:48 +09:00
Satoshi Fujimoto 9a4e8968ed test_bgp: Add test cases for L2VPN Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:47:42 +09:00
Satoshi Fujimoto 434b2adacd BGPSpeaker/SSH: Support to show IPv6 Flow Spec routes
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:47:36 +09:00
Satoshi Fujimoto 7e6c648ba1 BGPSpeaker: Support IPv6 Flow Spec update messages
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:47:07 +09:00
Satoshi Fujimoto 4d9d444df1 BGPSpeaker/info_base: Add tables for IPv6 Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:46:59 +09:00
Satoshi Fujimoto 8597ef851b utils/test_bgp: Add unit tests for IPv6 Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:46:54 +09:00
Satoshi Fujimoto f8654b67c7 test_table_manager: Add unit tests for IPv6 Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:46:48 +09:00
Satoshi Fujimoto c53605385e test_bgpspeaker: Add unit tests for IPv6 Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:46:42 +09:00
Satoshi Fujimoto bb38fb2f30 packet/bgp: Support IPv6 Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:46:37 +09:00
Satoshi Fujimoto 64b9dfcdd6 test_bgp: Add test cases for IPv6 Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-12 09:46:31 +09:00
IWAMOTO Toshihiro 607f4d8276 ofproto: Allow CIDR notation for ipv[46]_{src, dst}
This hack allows CIDR notations for OFPMatch. For example:
    ofpp.OFPMatch(ipv4_src="198.51.100.0/24")

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-11 12:32:18 +09:00
Brad Cowie a197d87375 utils.import_module: Prefer filepath than Python module
Currently, ryu.utils.import_module() prefers the Python module path
than the user specified file path, and if the user app name is the
same with the Python module, this function returns the Python module
instead of the user app.

This patch fixes to try to load "file" before finding the loaded
Python module, and fixes this problem.

Note: With this patch, import_module() will reload (override) a module
if the specified module file name is the same.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: Brad Cowie <brad@gizmoguy.net.nz>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-09 10:48:18 +09:00
Shinpei Muraoka 077eef801e library_packet_ref: Separate ref into each protocol
To keep readablity if include all class into library reference, this
patch separates library_packet_ref.rst into each protocol.

Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-09 10:20:16 +09:00
Shinpei Muraoka 99e7cc4074 lib/packet: Use literal block for diagram in pydoc
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-09 10:20:16 +09:00