27 Commits

Author SHA1 Message Date
Yusuke Iwase
23b2fc4b41 utils: Add binary_str() method to print binary data
Because repr() is not enough to escape ascii code or control code,
MsgBase.__str__() may collapse representation with binary data.
This patch add binary_str() in order to convert binary data into a
sequence of '\x00' style string.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-09-10 11:14:58 +09:00
Yusuke Iwase
27befc18fa utils: Unify output str format of hex_array()
This patch simplifies hex_array() and unifies its output into
'0x%02x' format.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-09-10 11:14:58 +09:00
IWAMOTO Toshihiro
698cf43b03 python3: Make ryu.utils.hex_array functional
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-07-01 10:13:22 +09:00
IWAMOTO Toshihiro
4ee2f054d2 python3: Use integer division where appropriate
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-23 05:56:06 +09:00
IWAMOTO Toshihiro
c0590ea903 python3: Adapt to new iterator names
This patch is generated by "2to3 -f dict" and irrevant parts were
hand-removed.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-20 21:19:12 +09:00
Mark Lentczner
b636219007 Reduce logging overhead by cleaning up logging calls
Deferred formatting to the logging system:
---------------------------------------------
In general
    logger.debug('xxx %s yyy %d zzz' % (a, b, c))
can be written as:
    logger.debug('xxx %s yyy %d %zzz', a, b, c)
This is faster, as Python logging doesn't bother doing the format
operation (which is slow) if the log message won't be logged.

We measured that a significant amount of CPU time in the BGP service
was attributable to these formatting operations.

Removed unneeded calls to str() and repr()
------------------------------------------
since formatting operations %s and %r will make these calls when
(and if) the formatting is performed.

Signed-off-by: Jerry Cen <zhiweic@google.com>
Acked-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-16 21:11:10 +09:00
Chris Small
6a133b0cac Workaround of os.path.samefile
os.path.samrfile not implemented on Windows. Adding alternative using
os.stat

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-11-25 11:39:03 +09:00
Yusuke Iwase
b1b02cec00 utils: Fix bytearray conversion
The parameter buf is an instance of bytearray, but Ryu tries to convert it as string,
and outputs the error messages as a result.
This patch fixes this problem.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-11-07 14:43:20 +09:00
Simon Horman
a3afbf0877 of13: Add experimenter property to table features reply unit test
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-27 09:19:00 +09:00
Isaku Yamahata
7fd7e84491 ofproto_parser: dump packets if error is encountered during parse
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-10-29 22:08:03 +09:00
YAMAMOTO Takashi
dd06396803 import_module: deal with cases mod.__file__ is not accessible
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-24 02:55:23 +09:00
YAMAMOTO Takashi
667e41cccb avoid importing a module twice
due to the way utils.import_module is implemented,
"ryu-manager ryu/app/switches.py" ends up with loading
switches.py module twice.
this commit fixes that by checking if module pathnames specified
on the command line is aliases of already loaded modules.
while the check is incomplete, it should cover the most of useful cases.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-28 15:56:12 +09:00
Satoshi Kobayashi
aba1d18b62 The trick for installing argparse is deleted
This trick is contained in oslo.config.

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-31 10:57:54 +09:00
YAMAMOTO Takashi
a66bcf031d openstack copyright notice
restore openstack copyright notice for the code taken from them.

> commit f2c6dfe1066aeecb5fdf2fb1cd5ce6476565fd24
> Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
> Date:   Fri Nov 30 15:54:12 2012 +0900
>
>     set setup.py install_requires properly
>
>     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>
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-02 01:33:21 +09:00
YAMAMOTO Takashi
6be8ef3906 use openstack.common.cfg instead of gflags
make most of modules use openstack.common.cfg instead of gflags

caveats: no config file compatibility is provided.  (flagfile vs ini file)

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-14 12:34:08 +09:00
Yoshihiro Kaneko
63c8a15e7c fix lack of comma in flagfile list
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>
2013-01-23 01:37:14 +09:00
FUJITA Tomonori
f2c6dfe106 set setup.py install_requires properly
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>
2012-11-30 15:54:12 +09:00
Isaku Yamahata
05a9c4d8f3 utils: a helper function to convert byte array into hex string
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-10-03 05:23:22 +09:00
FUJITA Tomonori
910563941d add round_up utility function
OF protocols need this in many places.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Simon Horman <horms@verge.net.au>
2012-06-25 14:43:24 +09:00
FUJITA Tomonori
b3a39fc1ed kill unused function in utils.py
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Isaku Yamahata <yamahata@valinux.co.jp>
2012-06-09 20:08:02 +09:00
FUJITA Tomonori
c9f6b1b992 support commandline application initialization
You can run your Ryu applicaiton in the following way:

$ ryu-manager yourapp.py

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Isaku Yamahata <yamahata@valinux.co.jp>
2012-06-09 20:07:43 +09:00
Yoshihiro Kaneko
1ce1db030c fix find_flagfile path handling bug
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-04-11 13:46:42 +09:00
FUJITA Tomonori
711301abb3 Switch to Apache 2.0 license
To make the further integration into IaaS OSS (OpenStack and
CloudStack) easier, we switch to Apache 2.0 license.

ryu/app/wsapi.py is still under GPL3 or later. We replace it later.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-04-06 08:38:45 +09:00
Isaku Yamahata
de4c848844 ryu/utils: make import_module() reliable
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-03-01 09:06:08 +09:00
Isaku Yamahata
b3002281e9 pylint: various fixes for pylint
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-02-03 02:35:38 +09:00
Isaku Yamahata
d05fbf2807 pep8: utils.py
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-01-24 11:54:57 +09:00
FUJITA Tomonori
aa5051a162 initial commit
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2011-12-09 15:56:05 +09:00