2163 Commits

Author SHA1 Message Date
FUJITA Tomonori
b4c488f807 Ryu 3.18
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v3.18
2015-02-03 15:05:47 +09:00
Toshiki Tsuboi
32a57971b3 bgp: bug fix of sending Adj-RIB-Out
Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-02-01 20:57:31 +09:00
Satoshi Kobayashi
00bc1592e1 ryu-manager: add --enable-debugger option
Eventlet's monkey patch overwrite Python standard threading library by default. It affects to Python debugger working. This will be often an issue for the user of Python debugger. Therefore, it's necessary to add the option which doesn't overwrite Python standard threading library.

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-30 08:00:53 +09:00
ISHIDA Wataru
578327edc9 bgp/cli: fix internel data destruction due to cli show command
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-26 01:37:17 +09:00
ISHIDA Wataru
611ffbe5a6 bgp: remove unnecessary bgp update construction
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-26 01:37:17 +09:00
ISHIDA Wataru
e3e07209e3 bgp: fix bug of NameError: global name 'sent_route' is not defined
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-26 01:37:17 +09:00
ISHIDA Wataru
66da38e3c1 bmpstation: bug fix. stop closing fds which are in use.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-26 01:37:17 +09:00
ISHIDA Wataru
b86ab0904e bgp: don't hold withdrawn routes in adj_rib_in
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-26 01:37:17 +09:00
ISHIDA Wataru
34465b3ac1 bgp/bmp: send unmodified BGPUpdate to bmp server.
Current implementation of bmp client uses Peer._construct_update()
which modifies original BGPUpdate message for sending to peers.
This function is not appropriate to use for bmp client, because
bmp client must send a BGPUpdate message which contains unmodified path
attributes. Fix this by introducing BMPClient._construct_update().

Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-26 01:37:17 +09:00
Che-Wei Lin
3736b0c37d Add parsing libpcap and reading/writing PCAP file
Add parsing libpcap and reading/writing PCAP file for debugging.
Now you can easily dump the PCAP file in ryu controller.

Here is the quick example for dumping the data packets:

    from ryu.lib import pcaplib

    class SimpleSwitch13(app_manager.RyuApp):
        OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]

        def __init__(self, *args, **kwargs):
            super(SimpleSwitch13, self).__init__(*args, **kwargs)
            self.mac_to_port = {}

            # Creating an instance with a PCAP filename
            self.pcap_pen = Writer(open('mypcap.pcap', 'wb'))

        @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)
        def _packet_in_handler(self, ev):
            msg = ev.msg

            # Dump the data packet into PCAP file
            self.pcap_pen.write_pkt(msg.data)

Signed-off-by: Che-Wei Lin <linton.tw@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-25 21:51:22 +09:00
YAMAMOTO Takashi
a34eda1fe1 nx_actions: Avoid confusing StringifyMixin
Having class attributes and instance attributes of the same name
confuses StringifyMixin.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-25 21:50:37 +09:00
YAMAMOTO Takashi
306a500ee6 nx_actions: Implement nx_action_learn
This is planned to be used for upcoming Neutron OVS agent changes.
(https://blueprints.launchpad.net/neutron/+spec/ovs-ofctl-to-python)

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-25 21:50:37 +09:00
YAMAMOTO Takashi
181d2fa3a2 test_nx_flow_spec: Add UTs for NX flow_mod_spec
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-25 21:50:37 +09:00
YAMAMOTO Takashi
1d2a30dc57 nx_actions: Implement NX flow_mod_spec
Will be used for NX learn implementation.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-25 21:50:37 +09:00
YAMAMOTO Takashi
4d06beda4f type_desc: Separate type conversion classes from oxm_fields
Will be used for NX learn implementation.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-25 21:50:37 +09:00
YAMAMOTO Takashi
820a7cf75c nx_actions: Remove redundant initializations
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-25 21:50:37 +09:00
YAMAMOTO Takashi
cbb387f8eb Implement nx_action_reg_move for OpenFlow 1.3
Also, improve experimenter action related code so that
it can handle unknown actions as unknown.

Only OpenFlow 1.3 for now because this is planned to be used
for Neutron OVS agent and 1.3 is the version to be used there.
(https://blueprints.launchpad.net/neutron/+spec/ovs-ofctl-to-python)

Following the style of oxm_fields, make an OpenFlow version independent
module generate OpenFlow version specific code so that it's easier to
add the functionality to other OpenFlow versions later.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-20 13:12:48 +09:00
Yusuke Iwase
1a03f4c650 doc/app/ofctl_rest: Add description for OFPAggregateStats message
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-20 13:12:48 +09:00
Yusuke Iwase
a4e9abfcbc ofctl_rest: support OFPAggregateStats message
this patch makes ofctl_rest enable use of OFPAggregateStats message.

Get aggregate flow stats:

  usage)

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

  e.g.)

    $ curl -X GET http://localhost:8080/stats/aggregateflow/1
    {
      "1": [
        {
          "packet_count": 18,
          "byte_count": 756,
          "flow_count": 3
        }
      ]
    }

Get aggregate flow stats filtered by fields:

  usage)

    URI:    /stats/aggregateflow/<dpid>
    method: POST

    the message body is as follows.

        table_id     Table ID (int)
        out_port     Require matching entries to include this as an output port (int)
        out_group    Require matching entries to include this as an output group (int)
        cookie       Require matching entries to contain this cookie value (int)
        cookie_mask  Mask used to restrict the cookie bits that must match (int)
        match        Fields to match (dict)

  e.g.)

    $ curl -X POST -d '{
             "table_id": 0,
             "out_port": 2,
             "cookie": 1,
             "cookie_mask": 1,
             "match":{
                 "in_port":1
             }
         }' http://localhost:8080/stats/aggregateflow/1

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-20 13:12:48 +09:00
Yusuke Iwase
310e20ee0b doc/app/ofctl_rest: Add description for OFPQueueStats message
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-20 13:12:48 +09:00
Yusuke Iwase
fe0d068f86 ofctl_rest: support OFPQueueStats message
this patch makes ofctl_rest enable use of OFPQueueStats message.

usage)

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

e.g.)

  $ curl -X GET http://localhost:8080/stats/queue/1
  {
    "1": [
      {
        "port_no": 1,
        "queue_id": 0,
        "tx_bytes": 0,
        "tx_packets": 0,
        "tx_errors": 0,
        "duration_sec": 4294963425,
        "duration_nsec": 3912967296
      },
      {
        "port_no": 1,
        "queue_id": 1,
        "tx_bytes": 0,
        "tx_packets": 0,
        "tx_errors": 0,
        "duration_sec": 4294963425,
        "duration_nsec": 3912967296
      }
    ]
  }

NOTE: The "duration_sec" and "duration_nsec" fields are for OF1.3(or later).

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-20 13:12:48 +09:00
YAMAMOTO Takashi
be94c50ce6 test_oxm: Add UTs for 64-bit experimenter OXMs
Following Open vSwitch, introduce "dp_hash" OXM for testing.

>From their commit log: (commit 508a933809f8a8ede4fb93f1c1e3212799efc16a)
> Testing experimenter OXM is tricky because I do not know of any in
> widespread use.  Two ONF proposals use experimenter OXMs: EXT-256 and
> EXT-233.  EXT-256 is not suitable to implement for testing because its use
> of experimenter OXM is wrong and will be changed.  EXT-233 is not suitable
> to implement for testing because it requires adding a new field to struct
> flow and I am not yet convinced that that field and the feature that it
> supports is worth having in Open vSwitch.  Thus, this commit assigns an
> experimenter OXM code point to an existing OVS field that is currently
> restricted from use by controllers, "dp_hash", and uses that for testing.
> Because controllers cannot use it, this leaves future versions of OVS free
> to drop the support for the experimenter OXM for this field without causing
> backward compatibility problems.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:59 +09:00
YAMAMOTO Takashi
98a9f699be test_oxm: dedicated UTs for oxm_fields module
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
YAMAMOTO Takashi
a7621f93dc oxm_fields: Fix 64-bit experimenter OXM support
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
YAMAMOTO Takashi
3260df570b oxm_fields: Fix oxm_length calculation for experimenter OXMs
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
YAMAMOTO Takashi
b7b920c257 oxm_fields: Add header-only variants of serializer/parser
These will be used for coming REG_MOVE support.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
YAMAMOTO Takashi
2ce0f9cab8 oxm_fields: Prefix internal functions with _ for readability
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
YAMAMOTO Takashi
0d3ccc9457 oxm_fields: Add comments
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
YAMAMOTO Takashi
95d3a075fb OF 1.0: Use ofproto_common.NX_EXPERIMENTER_ID instead of NX_VENDOR_ID
And remove now unused NX_VENDOR_ID.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
YAMAMOTO Takashi
893517cb29 nicira_ext: Separate the most of NX definitions from ofproto_v1_0
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
YAMAMOTO Takashi
22aaa699c9 Cleanup isinstance(foo, (int, long))
Use numbers where appropriate.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:51:55 +09:00
Yusuke Iwase
ef909210b7 doc/app/ofctl_rest: Add descriptions for duration_nsec field
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-19 00:46:26 +09:00
Alan Quillin
5b1a2651bb of_v1_0: Fixed the flow format logic to set it correctly when registers matches are set
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-13 21:40:13 +09:00
Alan Quillin
25c76192d5 of_v1_0: Added support for the NXM_NX_TUN_IPV4_{SRC & DST}[_W] fields
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-13 21:40:08 +09:00
ISHIDA Wataru
c1e01c54ca ospf: fix wrong OSPF LSA type
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-13 21:32:57 +09:00
Toshiki Tsuboi
36d734f4e4 bgp: support of understanding assigned mpls-label for prefix_add in vpnv4
Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-13 21:24:36 +09:00
Minoru TAKAHASHI
5d63bbfbaf ofctl_v1_0/2/3: Fix unsuitable log level
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-13 21:22:49 +09:00
FUJITA Tomonori
b4f21bdb60 Ryu 3.17
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v3.17
2015-01-05 09:46:04 +09:00
ISHIDA Wataru
350ce71bd2 ospf: add SummaryLSA class
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-31 07:39:50 +09:00
FUJITA Tomonori
bd4bde945e ofctl_v1_2, 3: Fix regression of IP arbitrary bitmask support
Reported-by: Wei-Li Tang <alextwl@xinguard.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Wei-Li Tang <alextwl@xinguard.com>
2014-12-28 22:54:10 +09:00
Toshiki Tsuboi
a962e9a472 bgp: bug fix of timestamps of BMPRouteMonitoring in bmp.py
It looks “timestamps” of BMPRouteMonitoring incorrect, in case of using ryu.app.bmpstation.py.

(1) BMPPeerUpNotification
-> timestamp=1419540815.870563 (Fri Dec 26 05:53:35 2014)

(2) BMPRouteMonitoring
-> timestamp=1419573216.0 (Fri Dec 26 14:53:36 2014)

ryu_bmp.log
-----------------
2014 Dec 26 06:44:51 | 192.168.0.101 | BMPInitiation(info=[{'type': 0, 'value': u'This is Ryu BGP BMP message', 'len': 27}],len=37,type=4,version=3)

2014 Dec 26 06:44:51 | 192.168.0.101 | BMPPeerUpNotification(is_post_policy=False,len=162,local_address='192.168.201.101',local_port=58925,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,received_open_message=BGPOpen(bgp_identifier='10.0.0.1',hold_time=180,len=53,my_as=65001,opt_param=[BGPOptParamCapabilityMultiprotocol(afi=1,cap_code=1,cap_length=4,length=6,reserved=0,safi=1,type=2), BGPOptParamCapabilityCiscoRouteRefresh(cap_code=128,cap_length=0,length=2,type=2), BGPOptParamCapabilityRouteRefresh(cap_code=2,cap_length=0,length=2,type=2), BGPOptParamCapabilityFourOctetAsNumber(as_number=65001,cap_code=65,cap_length=4,length=6,type=2)],opt_param_len=24,type=1,version=4),remote_port=179,sent_open_message=BGPOpen(bgp_identifier='10.0.1.1',hold_time=40,len=41,my_as=65002,opt_param=[BGPOptParamCapabilityMultiprotocol(afi=1,cap_code=1,cap_length=4,length=6,reserved=0,safi=1,type=2), BGPOptParamCapabilityRouteRefresh(cap_code=2,cap_length=0,length=2,type=2)],opt_param_len=12,type=1,version=4),timestamp=1419540815.870563,type=3,version=3)

2014 Dec 26 06:44:51 | 192.168.0.101 | BMPRouteMonitoring(bgp_update=BGPUpdate(len=54,nlri=[BGPNLRI(addr='192.168.0.0',length=24)],path_attributes=[BGPPathAttributeNextHop(flags=64,length=4,type=3,value='192.168.201.101'), BGPPathAttributeOrigin(flags=64,length=1,type=1,value=2), BGPPathAttributeAsPath(flags=64,length=6,type=2,value=[[65002, 65001]]), BGPPathAttributeMultiExitDisc(flags=128,length=4,type=4,value=100)],total_path_attribute_len=27,type=2,withdrawn_routes=[],withdrawn_routes_len=0),is_post_policy=True,len=102,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,timestamp=1419573216.0,type=0,version=3)

Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-28 21:41:04 +09:00
Wei-Li Tang
1bac27ed27 topology/switches: add of1.2+ support for the drop_packet function.
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-28 10:26:50 +09:00
Jerry Cen
9de9596880 bgp: Fix filter message variable
Signed-off-by: Jerry Cen <zhiweic@google.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-22 22:56:20 +09:00
Toshiki Tsuboi
c484d73bfb bgp: support New best path selecting
In case of selecting new best path, Ryu BGPSpeaker send withdraw messages.

Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-18 12:40:39 +09:00
Yusuke Iwase
3bfa3c56da ofctl_rest: Fix clear flow entries command
Currently, clear flow entries command (/stats/flowentry/clear/<dpid>)
in ofctl_rest deletes flow entries from only table 0.
This patch fixes the command to delete flow entries from all tables.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-11 15:38:59 +09:00
Minoru TAKAHASHI
76e3903e38 rest_qos: fix error of additional a qos rule with "priority"
Currently, rest_qos is impossible to set the "priority" of QoS rule on a switch.
Also, "priority" is should be described in the same depth as "match" and "actions".
This patch fixes these problems.

Now, rest_qos is possible to set the "priority" with the following curl command.

e.g.)
  $ curl -X POST -d '{"priority":"5",
                      "match": {"nw_dst": "10.0.0.1", "nw_proto": "UDP", "tp_dst": "5002"},
                      "actions":{"queue": "1"}}' http://localhost:8080/qos/rules/0000000000000001

Reported-by: Jace Liang <b436412@gmail.com>
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-08 15:15:09 +09:00
Minoru TAKAHASHI
d160f78d83 rest_qos: fix a comment
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-08 15:15:08 +09:00
Toshiki Tsuboi
3c03ba0034 bgp: support new handler in case of changing BGP session
When BGP session goes up/down, BGPSpeaker can detect changing the session.

Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-07 23:35:01 +09:00
Yusuke Iwase
567ff4ec17 doc/app/ofctl_rest: Add description for capabilities field in OPFMeterFeatures
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-05 10:00:58 +09:00
Yusuke Iwase
9ecfa8f3be ofctl_v1_3: Fix to parse capabilities field in OPFMeterFeatures
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-05 10:00:56 +09:00