Age | Commit message (Collapse) | Author |
|
With this API, other component such as openstack quantum tells informations
necessary for tunnel.
- tunnel key corresponding to network id
- tunnel port related information
which tunnel port of a given datapath connected to which remote datapath
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This should be renamed (already used for non tunnel stuff, e.g. VLAN).
Based on the following patch:
From: Isaku Yamahata <yamahata@valinux.co.jp>
Subject: controller/tunnel: introduce new class that tracks infos related to tunneling
- helper functions and event generator for gre tunnel
- plug events for gre tunnel app
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Based on the following patch:
From: Isaku Yamahata <yamahata@valinux.co.jp>
Subject: dpset: add port{add, delete, modify} event for convenience and helper functions
It is sometimes commonly interesting to track datapath/port
appearance/disappearance. The applications usually want to see that ports
appear after datapath becomes ready, and ports disappear when datapath is dead.
It requires to handle properly events, hand shaking, port_mod event,
switch_feature_reply. So introduce a common layer to handle them.
GRE tunnel is interested in datapath/port appearance/disappearance.
With this, tunnel app doesn't have to handle those conditions.
Discovery is interested only in datapath/port appearance/disappearance.
With this, discovery app would not have to handle OFP events directly.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Base on the following patch:
From: Isaku Yamahata <yamahata@valinux.co.jp>
Subject: controller/network: factor out network.py and add event generator for gre tunnel and helper methods
- Factor out from network.py the logic to track network and dpid
- introduce class Port to allow other info
Later we'll track mac address associated to port. So allow intermediate
layer to contain infos related to Port.
- make network track mac address associated to port
- generate events
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: "Henkel, Michael" <michael.henkel@hp.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: "Henkel, Michael" <michael.henkel@hp.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
See "ryu/tests/unit/packet/test_lldp.py" to use this library.
This patch is based on Yamahata's topology discovery patch series.
http://thread.gmane.org/gmane.network.ryu.devel/467
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This patch only implements netflowV5 parser.
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This needs to be reimplemented so that each componet is enable to
debug its own events.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Otherwise those options can't be specified.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Sometimes client code just wants to ignore 404 when deleting resources.
So provide helper function for it.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
REST API will be enhanced. So factor out reset client code such that
it affords extension.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This patch adds new port type for reserved port and vport-gre.
They will be used later. Via this REST API, ryu knows which port is used
for gre or reserved port.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This patch adds requirements to path component so that URL is verified.
And simplify with submapper.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This is purely internal change and no API for applications is
changed. At least, I confirmed that folsom OpenStack plugin works.
With the current dispatcher mechanism, multiple greenlets call
applications' handlers and might be blocked anywhere so we need
various locks to handle that concurrency. This makes things difficult
for application developers.
With this patch, each applications are connected with events. Each
application has the own greenlet(s) to handle events and might send
events to other applications.
If an application registers handlers for some OF events, it subscribes
to OF component and registers the OF events that it's interested. OF
application delivers such OF events to the application and the
application's greenlet executes the handlers.
With this, we can completely remove dispatcher.py and its friends.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This implements subset of ovs-vsctl which is used later.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Those constants are used to manipulate Open_vSwitch db of ovsdb.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
the datapath object should be added to the list in DPSet before
datapath_join event is fired.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
run_tests.sh complained.
ryu/lib/packet/icmp.py:102:15: E271 multiple spaces after keyword
return msg
^
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
/bin/bash is not so ubiquitous.
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This patch adds a test framework using mininet. The following tests
can be performed.
- Set the flow for the OVS-switch from Ryu-app, we test the actual
packet is to be handled properly in accordance with the flow; The
packet that generated by "mz" or replayed by "tcpreplay" is routed
through the ovs-switch, are processed according to the flow, then
compare test conditions and the results captured by "tshark".
- Create a packet with ryu using the packet-lib, we test the packet
and response are correct; to compare test conditions and the results
captured by "tshark".
$ ./run_mnet-test.sh [OPTION] [TEST DIR or FILE]...
$ ./run_mnet-test.sh l2 l3/icmp packet_lib/arp/ARP_gratuitous.mn
$ ./run_mnet-test.sh --help
Requirements package:
- mininet: git://github.com/mininet/mininet.git
- openvswitch: git://openvswitch.org/openvswitch
- Mausezahn 0.40: http://www.perihel.at/sec/mz/
- TShark 1.6.2: http://www.wireshark.org/
- tcpreplay 3.4: http://tcpreplay.synfin.net/
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This patch fixes a issue reported by https://github.com/osrg/ryu/issues/7
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
When flagfile option is omitted, ryu-manager cannot find
"/etc/ryu/ryu.conf".
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
- in_port was missing an underscore
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
- clean up setup.py and MANIFEST.in
- simplejson isn't needed anymore
- allow webob >= 1.0.8 as openstack quantum uses >= 1.0.8 version
- allow gflags >= 1.3 as Fedora 18 uses gflags 1.5
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Change the branch of openvswitch used by integration tests to 'of12'
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Teach Hello handler OFPHelloElemBitmapVersion
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
- fix bitmap offset calculation
- un-tuple bitmap. The result of struct.unpack is a tuple
- OFPHelloElemVerionsBitmap parser needs to be aware padding
- make OFPHelloElemVerionsBitmap parse bitmap into the list of versions
- make OFPHello always have elements attribute
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
- rename push_flow_entry to mod_flow_entry
- add OFPFC_{MODIFY, DELETE} support
- remove debug message
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Exception can be be caused by importing the threading module before
monkey.patch_all().
This patch fixes the following keyError:
$ ryu-manager --version
ryu-manager 1.5
Exception KeyError: KeyError(30027824,) in <module 'threading' from
'/usr/lib/python2.7/threading.pyc'> ignored
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
There are built-in functions to handle attribute like hasattr.
Use standard functions instead of abusing __dict__.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
When switch sends version higher than Ryu supports, Ryu fails to negotiate.
In this case
4 = OF1.3 from switch
3 = OF1.2 from Ryu
datapath.supported_ofp_version = (3 = OF1.2,)
In such cases, we should use OF1.2 instead of error.
> Connection to controller closed because of {"localhost",6633,0, {unsupported_version,4}}
Reported-by: Shivaram Mysore <shivaram.mysore@gmail.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Let's enable pip to solve the dependency.
The code is taken from OpenStack.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This code is a backport from the upstream OVS (commit dcb66da):
If the loop condition in Stream.connect() was false, which is especially
likely for TCP connections, then Stream.connect() would return None,
which violates its documented behavior. This commit fixes the problem.
Reported-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
'NoneType'"
This reverts commit c3a41d06a654ea81cdc79d7bda5106d05f2e1deb.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
$ ryu-manager --log_file $HOME/ryu.log
Traceback (most recent call last):
(...)
File "/usr/local/lib/python2.7/dist-packages/ryu-1.1-py2.7.egg/ryu/log.py", line 74, in init_log
logging.addHandler(logging.handlers.WatchedFileHandler(log_file))
AttributeError: 'module' object has no attribute 'addHandler'
$ ryu-manager --log_file $HOME/ryu.log
Traceback (most recent call last):
(...)
File "/usr/local/lib/python2.7/dist-packages/ryu-1.4-py2.7.egg/ryu/log.py", line 74, in init_log
log.addHandler(logging.handlers.WatchedFileHandler(log_file))
AttributeError: 'module' object has no attribute 'handlers'
$ ryu-manager --log_file $HOME/ryu.log
Traceback (most recent call last):
(...)
File "/usr/local/lib/python2.7/dist-packages/ryu-1.4-py2.7.egg/ryu/log.py", line 76, in init_log
mode = int(FLAGS.log_file_mnode, 8)
File "/usr/local/lib/python2.7/dist-packages/gflags.py", line 810, in __getattr__
raise AttributeError(name)
AttributeError: log_file_mnode
$ ryu-manager --log_dir $HOME/log/
Traceback (most recent call last):
(...)
File "/usr/local/lib/python2.7/dist-packages/ryu-1.4-py2.7.egg/ryu/log.py", line 54, in _get_log_file
return os.path.join(FLAGS.logdir,
File "/usr/local/lib/python2.7/dist-packages/gflags.py", line 810, in __getattr__
raise AttributeError(name)
AttributeError: logdir
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
- add ip match support
- add match_to_str() and actions_to_str() instead of action_to_str()
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Ryu sucessfully connects to CPqD OF1.3 switch.
https://github.com/CPqD/ofsoftswitch13
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
FlowStats works now.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|