2331 Commits

Author SHA1 Message Date
FUJITA Tomonori
093776af17 python3: fix bgp reggression
fix the c0590ea903d1fbe40a22e04970d5a8a7e489aa44 commit.

Reported-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
2015-06-30 20:40:32 +09:00
Yusuke Iwase
0e4fec9f1f Avoid string exception raising
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-30 17:00:24 +09:00
Yusuke Iwase
fe86b9527e packet.ospf: Avoid parameter 'cls' reassignment
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-30 17:00:24 +09:00
Yusuke Iwase
4d9819c4a3 Remove duplicated definitions
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-30 17:00:24 +09:00
Minoru TAKAHASHI
ebb69c8dad test_ofctl: Fix dynamic addition of test cases
This unittest was not run from a certain time.
This patch fixes this problem.

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-30 17:00:24 +09:00
Minoru TAKAHASHI
5250352b4e test_ofctl: Some improvement
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-30 17:00:24 +09:00
Minoru TAKAHASHI
269028ee18 test_ofctl: Remove unused codes
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-30 17:00:24 +09:00
Minoru TAKAHASHI
45f3db2640 test_ofctl: Add unit test for ofctl_v1_0
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-30 17:00:24 +09:00
IWAMOTO Toshihiro
576d186351 python3: Don't use str.encode
This commit partially reverts b48fedc7295cb0c9c3fe62fc2d2f124b7fc739f8.
This kind of change complicates assertion checks below.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-29 22:09:55 +09:00
IWAMOTO Toshihiro
39697ad1e7 python3: Remove harmful AsciiStringType.{encode, decode}
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-29 22:09:42 +09:00
IWAMOTO Toshihiro
01a3cde6ac python3: Decode return value of b64encode into str
b64encode is mainly used to encode binary data into JSON.  As binary_type
isn't JSON serializable in python3, it makes more sense to convert to
binary_type early.  Also, allow text_type to be base64 encoded.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-29 22:09:41 +09:00
IWAMOTO Toshihiro
2f74871758 python3: More b'str' conversion
Some test data look like human readable strings, but the data that
directly appear on-wire should be defined as binary_type from first place.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-29 22:09:40 +09:00
fumihiko kakuma
25b3f23c2f python3: Calculate the number of ports as integer
Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-29 22:09:16 +09:00
fumihiko kakuma
8c8be53de6 python3: encode from string to bytes for s type of pack format
Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-29 22:09:15 +09:00
fumihiko kakuma
4099aec69a python3: Modify a literal argument in a bytes method call to bytes type
Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-29 22:09:14 +09:00
Eran
815dc505b7 Add support for pkt_mark nicira ext (NXM_NX_PKT_MARK)
Add support for pkt_mark match and set

Signed-off-by: Eran Gampel <eran@gampel.net>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-27 21:29:16 +09:00
fumihiko kakuma
645ae7633f python3: Continuous patch to replace buffer to six.binary_type
python3: Continuous patch to replace buffer to six.binary_type

Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-27 21:08:47 +09:00
fumihiko kakuma
b48fedc729 python3: Continuous patch to replace str to six.binary_type
python3: Continuous patch to replace str to six.binary_type

Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-27 21:08:46 +09:00
IWAMOTO Toshihiro
89bc04b4ae python3: Convert str to six.binary_type
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-26 21:21:51 +09:00
IWAMOTO Toshihiro
27134712f1 python3: More b'str' conversion
Use b'str' instead of 'str' where binary data is expected.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-26 21:21:50 +09:00
IWAMOTO Toshihiro
a9b250da75 python3: Apply "2to3 -f map"
map() has been changed to return an iterator in python3.  Iterators aren't
JSON serializable, and can be used only once for for loops.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-26 21:21:49 +09:00
IWAMOTO Toshihiro
227b8fd984 python3: Convert str to six.binary_type where appropriate
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-26 15:58:11 +09:00
fumihiko kakuma
7421556723 python3: Use six.binary_type instead of str for binary data
Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-26 15:58:10 +09:00
Satoshi KOBAYASHI
955daab412 python3: adapt @wsgi.route()
- Method in Python3 is obtained as a mere function from class attributes

Signed-off-by: Satoshi KOBAYASHI <satoshi-k@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 20:14:00 +09:00
IWAMOTO Toshihiro
02ab23fcb8 python3: Use items instead of iteritems
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
IWAMOTO Toshihiro
5ab96772b8 python3: Use zip instead of itertools.izip
Avoid itertools micro-optimization and simply use zip.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
IWAMOTO Toshihiro
f4b405f31a python3: Avoid applying ord() to integers
In python3, b'abc'[0] isn't a string but a int value and ord() should not
be used.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
IWAMOTO Toshihiro
2749f9d4ed python3: Use formencode instead of xml_compare
The last release of xml_compare is 7 years ago and doesn't support python3.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
IWAMOTO Toshihiro
5b7fee0641 python3: Open packet data with binary mode
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
IWAMOTO Toshihiro
a23734444c python3: Fix dynamically added test methods
Usage of types.MethodType has changed and means a bound method in python3.
This is probably the reason why self must be passed explicitly in python3.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
IWAMOTO Toshihiro
536a42d8c1 python3: Use b'str' for binary literals
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
IWAMOTO Toshihiro
79ad56e682 python3: Remove use of buffer()
python3 doesn't have buffer().  They are mostly needed by the fact that
python2.6's unpack doesn't take bytearray.  Replace them with
six.binary_type or remove them where not needed.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
fumihiko kakuma
267bcda006 python3: Use six.text_type instead of unicode
This is the partial patch to supporting python 3.
unicode was removed in python 3. So we use six.text_type instead of unicode.

Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-25 12:23:31 +09:00
FUJITA Tomonori
f65ecadfaa eventlet has already supported WebSocket(RFC6455) in stable releases (>= 0.15)
Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-23 14:55:51 +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
7681cf91ea python3: Fix import issues with python2
Fix issues introduced in commit c3c2112cb16a60271f4eb595f82721b1f1adc633,
reported by Satoshi KOBAYASHI on ryu-devel.
Use six.moves to handle module name changes.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-22 13:27:59 +09:00
IWAMOTO Toshihiro
75e8c58916 python3: Use bytes type for binary data
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:17 +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
IWAMOTO Toshihiro
c3c2112cb1 python3: Fix starndard library imports
Generated by runnig "2to3 -f imports".

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:10 +09:00
IWAMOTO Toshihiro
6adf399345 ofproto: Fix ImportError on python3
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:02 +09:00
IWAMOTO Toshihiro
e83acc434d tox.ini: Be able to run python3 unit tests
With this change, you can run "tox -e py34" to test python3 compatibility.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-20 21:18:58 +09:00
Yusuke Iwase
d67a22647f test_parser_ofpstats: Add unit test for OFPStats class
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-18 18:24:08 +09:00
Yusuke Iwase
05984d0c04 ofproto_v1_5_parser: Add OPFStats parser for Flow Stats Structures
This patch adds OPFStats class which has simpler API with OFPMatch class.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-18 18:24:07 +09:00
Yusuke Iwase
7510d10a3e test_oxs: Add unit test for oxs_fields.py
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-18 18:24:06 +09:00
Yusuke Iwase
c7503bfe0b oxs_fields: Add OXS class support
This patch adds OXS class parser for Extensible Flow Entry
Statistics in OpenFlow Spec 1.5.
And this implementation introduces oxx_fields.py to share
the logic functions with oxm_fields.py.

note: This pacth has no implementation for specific OXS
Experimenter classes as oxm_fields.py has.
(eg. ONF Experimenter, Nicira Experimenter)

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-18 18:24:05 +09:00
Jerry Cen
ce219b31b4 Clean up server socket and thread when shutting down
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-18 16:31:31 +09:00
Jerry Cen
d3e9f6b06d Fixed the function name of out filter
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-18 13:07:39 +09:00
Minoru TAKAHASHI
9251504f15 ofctl_rest: fix error of delete_flow_entry
ofctl_rest caused an exception when run delete_flow_entry command in OpenFlow1.0.
this patch fixes this problem.

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-18 08:33:38 +09:00
Minoru TAKAHASHI
cd46e0685f ofctl_v1_0: fix output of get_flow_stats
After applying this patch,
ofctl_v1_0:get_flow_stats outputs only match fields that no wildcard is set.
Execution example is as follows.

before applying this patch:

$curl http://127.0.0.1:8080/stats/flow/1
{
    "1": [
        {
            "actions": [
                "OUTPUT:1"
            ],
            "byte_count": 238,
            "cookie": 0,
            "duration_nsec": 585000000,
            "duration_sec": 154,
            "hard_timeout": 0,
            "idle_timeout": 0,
            "match": {
                "dl_dst": "00:00:00:00:00:01",
                "dl_src": "00:00:00:00:00:00",
                "dl_type": 0,
                "dl_vlan": 0,
                "dl_vlan_pcp": 0,
                "in_port": 2,
                "nw_dst": "0.0.0.0",
                "nw_proto": 0,
                "nw_src": "0.0.0.0",
                "nw_tos": 0,
                "tp_dst": 0,
                "tp_src": 0
            },
            "packet_count": 3,
            "priority": 32768,
            "table_id": 0
        }
    ]
}

after applying this patch:

$curl http://127.0.0.1:8080/stats/flow/1
{
    "1": [
        {
            "actions": [
                "OUTPUT:1"
            ],
            "byte_count": 238,
            "cookie": 0,
            "duration_nsec": 593000000,
            "duration_sec": 12,
            "hard_timeout": 0,
            "idle_timeout": 0,
            "match": {
                "dl_dst": "00:00:00:00:00:01",
                "in_port": 2
            },
            "packet_count": 3,
            "priority": 32768,
            "table_id": 0
        }
    ]
}

Reported-by:Liu, Weijie <wliu43@illinois.edu>
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-06-14 22:48:30 +09:00
FUJITA Tomonori
8e7a4c6ddb Ryu 3.22
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v3.22
2015-06-04 21:40:47 +09:00