2553 Commits

Author SHA1 Message Date
FUJITA Tomonori
f449488e6a Ryu 3.28
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v3.28
2015-12-02 09:04:18 +09:00
IWAMOTO Toshihiro
7a9b1be5d6 test_parser: add conntrack tests
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 16:14:00 +09:00
IWAMOTO Toshihiro
877ed2804a packet_data_generator3: add a couple of conntrack packets
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 16:13:59 +09:00
IWAMOTO Toshihiro
0599edf753 Implement NXActionCT and related ct_* matches
These are a Nicira extension for conntrack.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 16:13:58 +09:00
Satoshi KOBAYASHI
89e1bcd577 tox: disable wheel cache
Recently, installed packages are cached by Wheel. It is serious when the package is using 2to3 with setuptools (use_2to3) for adapting python3. Because Wheel is caching the contents of translated. If the contents of translated are cached, it can't work properly in python2

Signed-off-by: Satoshi KOBAYASHI <satoshi-k@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 15:37:14 +09:00
Satoshi KOBAYASHI
7615458870 python3: implicit relative import was deprecated
Signed-off-by: Satoshi KOBAYASHI <satoshi-k@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 15:36:51 +09:00
Satoshi KOBAYASHI
d6a16862ac python3: itertools.ifilter() doesn't exist
Signed-off-by: Satoshi KOBAYASHI <satoshi-k@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 15:36:51 +09:00
Satoshi KOBAYASHI
718e934184 python3: iter#next() doesn't exist
Signed-off-by: Satoshi KOBAYASHI <satoshi-k@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 15:36:51 +09:00
Satoshi KOBAYASHI
6c85fc9c70 python3: <function>#func_name is renamed to __name__
Signed-off-by: Satoshi KOBAYASHI <satoshi-k@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 15:36:51 +09:00
Satoshi KOBAYASHI
3a0ea9e2bb python3: import __future__ for just in case
Signed-off-by: Satoshi KOBAYASHI <satoshi-k@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 15:36:51 +09:00
Satoshi KOBAYASHI
466cf26d92 python3: StandardError doesn't exist
Signed-off-by: Satoshi KOBAYASHI <satoshi-k@iij.ad.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 15:36:50 +09:00
Minoru TAKAHASHI
6133901bb5 ofctl_v1_3: Fix unsuitable error log in mod_meter_entry()
When omit the parameter of "flags" in mod_meter_entry(), following error log will be shown.

  example)

    1.use mod_meter_entry() with omitting the parameter of "flags".

   curl -X POST -d '{
   "dpid": 1,
   "meter_id": 1
   }' http://localhost:8080/stats/meterentry/delete

    2.following error log will be shown.

    Unknown flags: 0

This patch fixes the problem.

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13 15:35:34 +09:00
FUJITA Tomonori
0aefad7048 Ryu 3.27
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v3.27
2015-11-03 12:53:30 +09:00
Toshiki Tsuboi
5b81c634be bgp: fix of sending "Start-of-RIB" and "End-of-RIB" in Enhanced Route-Refresh
According to RFC 7313 [Enhanced Route Refresh Capability for BGP-4], Ryu bgps needs to send "Start-of-RIB" before it advertises the Adj-RIB-Out. And then, Ryu bgps needs to send "End-of-RIB" after it advertises the Adj-RIB-Out.

Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 17:43:58 +09:00
Minoru TAKAHASHI
30e2eb67c4 doc/app/ofctl_rest: Add description for OFPTableStats message
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:44:41 +09:00
Minoru TAKAHASHI
58cb365755 doc/app/ofctl_rest: Add description for OFPQueueGetConfig message
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:44:41 +09:00
Minoru TAKAHASHI
ec55ca5756 doc/app/ofctl_rest: Add description for OFPTableFeaturesStats message
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:44:41 +09:00
Minoru TAKAHASHI
6518654a1b ofctl_rest: support OFPQueueGetConfig Message
this patch makes ofctl_rest enable use of OFPQueueGetConfig message.

Get queues config:

  usage)

    URI:    /stats/queueconfig/<dpid>/<port>
    method: GET

  e.g.)

    $ curl -X GET http://localhost:8080/stats/queueconfig/1/1
    {
      "1": [
        {
          "port": 1,
          "queues": [
            {
              "properties": [
                {
                  "property": "MIN_RATE",
                  "rate": 80
                }
              ],
              "port": 0,
              "queue_id": 1
            },
            {
              "properties": [
                {
                  "property": "MAX_RATE",
                  "rate": 120
                }
              ],
              "port": 2,
              "queue_id": 2
            },
            {
              "properties": [
                {
                  "property": "EXPERIMENTER",
                  "data": [],
                  "experimenter": 999
                }
              ],
              "port": 3,
              "queue_id": 3
            }
          ]
        }
      ]
    }

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:44:41 +09:00
Minoru TAKAHASHI
26e8efb246 ofctl_rest: support OFPTableFeaturesStats Message
this patch makes ofctl_rest enable use of OFPTableFeaturesStats message.

Get table features:

  usage)

    URI:    /stats/tablefeatures/<dpid>
    method: GET

  e.g.)

    $ curl -X GET http://localhost:8080/stats/tablefeatures/1
    {
      "1": [
        {
          "metadata_write": 18446744073709552000,
          "config": 0,
          "table_id": 0,
          "metadata_match": 18446744073709552000,
          "max_entries": 4096,
          "properties": [
            {
              "type": "INSTRUCTIONS",
              "instruction_ids": [
               {
               "len": 4,
               "type": 1
               },
	       ....
              ]
            },
            ...
          ],
          "name": "table_0"
        },
        {
          "metadata_write": 18446744073709552000,
          "config": 0,
          "table_id": 1,
          "metadata_match": 18446744073709552000,
          "max_entries": 4096,
          "properties": [
            {
              "type": "INSTRUCTIONS",
              "instruction_ids": [
               {
               "len": 4,
               "type": 1
               },
               ....
              ]
            },
            ...
          ],
          "name": "table_1"
        },
        ...
      ]
    }

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:44:40 +09:00
Minoru TAKAHASHI
9a534b46a6 ofctl_rest: support OFPTableStats Message
this patch makes ofctl_rest enable use of OFPTableStats message.

Get table stats:

  usage)

    URI:    /stats/table/<dpid>
    method: GET

  e.g.)

    $ curl -X GET http://localhost:8080/stats/table/1

More infomation about this feature is described in the following URL.
http://ryu.readthedocs.org/en/latest/app/ofctl_rest.html#get-table-stats

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:44:40 +09:00
Toshiki Tsuboi
f4f24469da vrrp: fix param of virtual_ip_address for rpc_api
It looks VRRPManager can't handle virtual_ip_address properly as bellow.

$ sudo ryu-manager ryu.services.protocols.vrrp.rpc_manager.py
loading app ryu.services.protocols.vrrp.rpc_manager.py
loading app ryu.services.protocols.vrrp.manager
instantiating app ryu.services.protocols.vrrp.manager of VRRPManager
instantiating app ryu.services.protocols.vrrp.rpc_manager.py of RpcVRRPManager
instantiating app None of VRRPInterfaceMonitorNetworkDevice
instantiating app None of VRRPRouterV3
handle EventVRRPStateChanged
VRID:1 VRRP-Router-VRRPInterfaceNetworkDevice<00:00:00:00:00:00, 192.168.0.2, None, eth1>-1-ipv4: None -> Initialize
handle EventVRRPStateChanged
VRID:1 VRRP-Router-VRRPInterfaceNetworkDevice<00:00:00:00:00:00, 192.168.0.2, None, eth1>-1-ipv4: Initialize -> Backup
hub: uncaught exception: Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line 52, in _launch
    func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py", line 276, in _event_loop
    handler(ev)
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/vrrp/router.py", line 234, in master_down_handler
    self.state_impl.master_down(ev)
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/vrrp/router.py", line 613, in master_down
    self._master_down()
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/vrrp/router.py", line 579, in _master_down
    vrrp_router.send_advertisement()
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/vrrp/router.py", line 219, in send_advertisement
    packet_.serialize()
  File "/usr/local/lib/python2.7/dist-packages/ryu/lib/packet/packet.py", line 74, in serialize
    data = p.serialize(self.data, prev)
  File "/usr/local/lib/python2.7/dist-packages/ryu/lib/packet/vrrp.py", line 394, in serialize
    return self.serialize_static(self, prev)
  File "/usr/local/lib/python2.7/dist-packages/ryu/lib/packet/vrrp.py", line 625, in serialize_static
    *[conv(x) for x in vrrp_.ip_addresses])
  File "/usr/local/lib/python2.7/dist-packages/ryu/lib/addrconv.py", line 27, in text_to_bin
    return self._addr(text, **self._addr_kwargs).packed
  File "/usr/local/lib/python2.7/dist-packages/netaddr/ip/__init__.py", line 314, in __init__
    % (addr, self._module.version))
AddrFormatError: base address '.' is not IPv4

Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:33:38 +09:00
IWASE Yusuke
7af6e28ea3 tester: Reduce pylint warnings
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:32:03 +09:00
IWASE Yusuke
ce6e5ddd62 tester: Add test cases for OpenFlow1.0
Note: OpenFlow 1.0 does not mention IPv6, but some implemetation
of the switch (e.g. Open vSwitch) can deal with IPv6 header field
in some OpenFlow1.0 match/actions.
So this patch includes tester.py to test match/actions with IPv6.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:32:03 +09:00
IWASE Yusuke
74d5de7803 tester: Support to test OpenFlow1.0 switch
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:32:02 +09:00
IWASE Yusuke
7c7fb56ad6 packet_data: Fix wildcarded match value in OF1.0
OpenFlow Spec 1.0 does not define clearly the match value when the
corresponding wildcard flags are set, but OpenFlow 1.3.2 mandate
that masked value must be 0-bits in match.
This patch fixes wildcarded match value (dl_src) into 0-bits.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:32:02 +09:00
IWASE Yusuke
d6b7dd5c40 of10: Human readable address field in json Match/Action
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-28 14:32:02 +09:00
IWAMOTO Toshihiro
a9876bf5c4 Try logging.config.dictConfig before in-tree version
Python bundles dictConfig since 2.7.  Try the bundled version first
as the version included in Ryu will not work with python3.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-22 05:50:56 +09:00
IWAMOTO Toshihiro
ff66183243 Python3: use int instead of long
Using int for long int should not cause issues since python2.4.
c.f. https://docs.python.org/2.6/whatsnew/2.4.html#pep-237-unifying-long-integers-and-integers

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-22 05:50:55 +09:00
IWAMOTO Toshihiro
dc361d1a3b Python3: complete previous removal of types usage
Fix the leftover of previos types.*Type removal.  Also, as python3
doesn't have long type, use six.integer_types instead.

Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-22 05:50:54 +09:00
IWAMOTO Toshihiro
d5bb8d4603 Python3: use dict instead of types.DictType
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-22 05:50:53 +09:00
IWASE Yusuke
604b16c565 doc: Change Sphinx html_theme to sphinx_rtd_theme
Currently, Ryu-Documentation page adopts 'haiku' for Sphinx
html_theme, but 'haiku' does not have page-index and no sidebar.
This patch changes Sphinx html_theme to 'sphinx_rtd_theme', which
outputs page-index for each page and a mobile-friendly sphinx
theme that was made for readthedocs.org.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-22 05:45:50 +09:00
Toshiki Tsuboi
e22f86f417 bgp: support of CAP_ENHANCED_REFRESH for vpnv4
Bgpspeaker cannot handle CAP_ENHANCED_REFRESH in BGP OPEN Messages.

Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-15 21:58:57 +09:00
IWASE Yusuke
e4f4704b73 tester: Use six.binary_type for binary data comparison
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:27 +09:00
IWASE Yusuke
e4333e3286 tester: Enable to sort instructions instance by type
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:24 +09:00
IWASE Yusuke
72a5b442b1 tester: Remove too broad exception handling
Because too broad exception handling obscures errors while testing,
it makes difficult to detect the bugs in tester.py or the test
pattern files.
This patch removes an except statement and avoid this problem.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:24 +09:00
IWASE Yusuke
c9783734b4 tester: Strict string argument encoding in Python3
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:24 +09:00
IWASE Yusuke
2c92a0a0eb tester: Adapt to Python3 dictview
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:23 +09:00
Minoru TAKAHASHI
fb9d3cdb81 packet_data: Regen
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:23 +09:00
Minoru TAKAHASHI
e43796062a test_parser: Add expected json for OFP13/15 Messages
Add expected json for the following messages.

 - OFP13/15 Symmetric Messages
 - OFP13/15 Asynchronous Messages
 - OFP15 Multipart Messages
 - OFP13/15 TableMod Message
 - OFP13 PortMod Message
 - OFP13/15 MeterMod Message

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:23 +09:00
Minoru TAKAHASHI
44e7069704 packet_data_generator2: Add OFP13/15 Messages
Add the following OFP13/15 Messages.

 - OFP13/15 Symmetric Messages
 - OFP13/15 Asynchronous Messages
 - OFP15 Multipart Messages
 - OFP15 Packet-Out Message
 - OFP15 Barrier Message
 - OFP15 Role Request Message
 - OFP15 Set Asynchronous Configuration Message
 - OFP13/15 TableMod message
 - OFP13 PortMod message
 - OFP13/15 MeterMod message

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:23 +09:00
Minoru TAKAHASHI
3f0fdbc542 packet_data_generator2: Sort by OF1.5 index order
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:23 +09:00
Minoru TAKAHASHI
55ed988834 packet_data_generator2: Fix to use struct eth_addr
In accordance with the upgrade of the ofputil in OVS libraries,
this patch fixes to use struct eth_addr.

FYI: The appropriate commit on OVS GitHub
74ff3298c8

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 22:10:23 +09:00
Yusuke Iwase
b4c3ef03a4 doc: Add openflow api reference for of1.0
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 21:51:38 +09:00
Yusuke Iwase
4195d3863a ofproto_v1_0_parser: Add comments for OF1.0 protocol
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 21:51:38 +09:00
Yusuke Iwase
4242dcff1a doc: Handle ERROR of unexpected indentation
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 21:51:38 +09:00
Yusuke Iwase
e7ce316918 test_ip: Add tests for IPv4-int conversion
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 21:51:38 +09:00
Yusuke Iwase
9e542b8851 of10: Add __contains__ method into OFPMatch
To support query whether a match instance contains a specific field,
This patch adds __contains__ method into OFPMatch.

Example:
  >>> if 'nw_src' in match:
  ...     print match['nw_src']
  ...
  '192.168.0.1'

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 21:51:38 +09:00
Yusuke Iwase
85bb012896 test_parser_v10: Fix wildcards param for unit test
If all field is specified, wildcards field should be lower than
(NW_DST_WILDCARD << 14 | NW_SRC_WILDCARD << 8), but the given
value of this test case is larger than this value.
So some test cases which check the wildcards field raise errors.
This patch fixes the wildcards parameter to the possible value.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 21:51:38 +09:00
Yusuke Iwase
9663fbe563 of10: Support human readable MAC/IPv4 address in OFPMatch
In OF1.0, OFPMatch is required to specify MAC address as a binary
type value and to specify IPv4 Address as an int type value.
This behavior is differ from that in OF1.2+.
This patch makes OFPMatch in OF1.0 enable to support human readable
representation of MAC/IPv4 address like OF1.2+ API.

The current API in OF1.0:
  >>> match = parser.OFPMatch(dl_src=b'\x01\x02\x03\x04\x05\x06',
  ...                         nw_src=167772163)
  >>> match.dl_src
  '\x01\x02\x03\x04\x05\x06'
  >>> match.nw_src
  167772163

The introduced API (the same as OF1.2+ API):
  >>> match = parser.OFPMatch(dl_dst='aa:bb:cc:dd:ee:ff',
  ...                         nw_dst='192.168.0.1')
  >>> match['dl_dst']
  'aa:bb:cc:dd:ee:ff'
  >>> match['nw_dst']
  '192.168.0.1'

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-11 21:51:37 +09:00
FUJITA Tomonori
c0723eb0a6 Ryu 3.26
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v3.26
2015-10-02 04:25:01 +09:00