30 Commits

Author SHA1 Message Date
Srini Seetharaman
d94f7bd0fb Initializing the variable 's' so that the get_desc_stats() call does not cause an exceptions when there are no messages
Signed-off-by: Srini Seetharaman <srini.seetharaman@gmail.com>
Reviewed-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-29 21:24:45 +09:00
takahashi.minoru
24cc165d87 ofctl_v1_2/3: MAC arbitrary bitmask support
ofctl_rest is now enabled to use MAC arbitrary bitmask as follows:

  curl -X POST -d '{"dpid": 1,
                    "actions":[{"port":2, "type":"OUTPUT"}],
                    "match":{"dl_dst":"01:02:03🆎cd:ef/ff:ff:ff:ff:00:00"}}' http://localhost:8080/stats/flowentry/add

And now enabled to display as follows:

  curl http://localhost:8080/stats/flow/1
    {
      "1": [
        {
          "actions": ["OUTPUT:2"],
          "idle_timeout": 0,
          "cookie": 0,
          "packet_count": 0,
          "hard_timeout": 0,
          "byte_count": 0,
          "duration_nsec": 951000000,
          "priority": 0,
          "duration_sec": 35,
          "table_id": 0,
          "match": {"dl_dst": "01:02:03🆎00:00/ff:ff:ff:ff:00:00"}
        }
      ]
    }

Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-02 09:44:50 +09:00
Yoshihiro Kaneko
3f46c5a2ff lib: fix pep8
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-14 13:19:16 +09:00
Kiyonari Harigae
882c28820f Added queue stats request
Here is added queue status request to ofctl.

Signed-off-by: Kiyonari Harigae <lakshmi@cloudysunny14.org>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-05-09 23:57:17 +09:00
Yuichi Ito
d6bbd83497 ofctl_v1_3: Fix to enable using meter flags multiply
ofctl_rest is now enabled to parse flags multiply as follows:

  curl -X POST -d '{"dpid": 1,
                    "meter_id": 1,
                    "flags": ["KBPS", "BURST"],
                    "bands": [{"type": "DROP", "rate": 1000}]}' http://localhost:8080/stats/meterentry/add

And now enabled to show flags as follows:

  curl http://localhost:8080/stats/meterconfig/1

  {
    "1": [
      {"bands": [{"burst_size": 0, "rate": 1000, "type": "DROP"}],
       "flags": ["KBPS", "BURST"], "meter_id": 1}
    ]
  }

Reported-by: cheers <cnmjbm@gmail.com>
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-01 07:14:11 +09:00
Wei-Li Tang
97f81e58a2 ofctl_v1_2/3: IP arbitrary bitmask support
Openflow 1.1 and later versions allow the use of IP address with
arbitrary bitmask in match fields. This adds arbitrary bitmask
support to related functions.

After applying this patch, it's no longer compatible with ACL
hybrid CIDR format (Cisco-like ACL bitmasks) because such format
exists only in some router's ACL configuration.

Reported-by: Yi-Ching Lee <potatoching11@gmail.com>
Reported-by: Li-Der Chou <cld@csie.ncu.edu.tw>
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-18 13:46:01 +09:00
Wei-Li Tang
06f343bb99 ofctl_v1_2/3: Convert IP fields to string with dotted decimal mask
This enables match_ip*_to_str() functions to output IP address with
dotted decimal subnet mask if the mask cannot be represented in CIDR
format.

Reported-by: Yi-Ching Lee <potatoching11@gmail.com>
Reported-by: Li-Der Chou <cld@csie.ncu.edu.tw>
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-16 21:05:13 +09:00
Satoshi Kobayashi
8fd3959d06 ofctl_v1_3: Fix unsuitable log
ofproto_v1_3.OFPGT_ALL is 0 and 0 is False on Python. When using type 'ALL', the following is set to True.

if not type_:
    LOG.debug('Unknown type: %s', group.get('type'))

Therefore, the log unsuitable is outputted:
Unknown type: ALL

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-16 20:38:32 +09:00
Wei-Li Tang
d5ec1f2079 ofctl_v1_2/3: IPv4 dotted decimal subnet mask support
This enables to_match_ip() to accept IPv4 address with dotted decimal
subnet mask or ACL hybrid CIDR.

Given 3 match field values below:

    '192.168.1.0/24'
    '192.168.1.0/255.255.255.0'
    '192.168.1.0/0.0.0.255'

These addresses are logically equivalent.

Signed-off-by: Wei-Li Tang <alextwl@xinguard.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-03-16 18:06:01 +09:00
Kiyonari Harigae
39b78cc2c7 ofctl_v1_3:support whole of match fields
Signed-off-by: Kiyonari Harigae <lakshmi@cloudysunny14.org>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-27 21:42:31 +09:00
Wei-Li Tang
3423b2a20d ofctl_v1_3: let action group can be converted to string
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com>
Reviewed-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-02-07 19:53:26 +09:00
Yuichi Ito
2867143933 ofctl_v1_2/3: fix SET_FIELD action and some match fields
this patch fixes the following bugs:

  - "SET_FIELD" action caused an exception at mod_flow_entry command.
  - following match fields caused an exception at get_flow_stats command:
    * mpls_label, arp_spa, arp_tpa
  - following fields in "SET_FIELD" were displayed as classes:
    * eth_dst, eth_src, vlan_vid, mpls_label
  - "arp_spa" and "arp_tpa" were not displayed as IPv4 address

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-23 13:28:08 +09:00
Yuichi Ito
faebcd2b3f ofctl_v1_2/3: fix match conditions about ARP
ofctl_v1_0 has changed nw_src/dst into ipv4_src/dst or arp_spa/tpa automatically like ovs-ofctl.
since ofctl_v1_2/3 change nw_src/dst only into ipv4_src/dst, it cannot create the match conditions which use arp_spa/tpa.
this patch fixes this problem.

before applying this patch (using ofctl_rest):

  curl -X POST -d '{"dpid": 1,
                    "match": {"dl_type": 2048,
                              "nw_src": "192.168.0.0/24"},
                    "actions": [{"type": "OUTPUT",
                                 "port": 2}]}' http://localhost:8080/stats/flowentry/add

  OFPST_FLOW reply (OF1.3) (xid=0x2):
   cookie=0x0, duration=3.602s, table=0, n_packets=0, n_bytes=0, priority=0,ip,nw_src=192.168.0.0/24 actions=output:2

  curl -X POST -d '{"dpid": 1,
                    "match": {"dl_type": 2054,
                              "nw_src": "192.168.0.0/24"},
                    "actions": [{"type": "OUTPUT",
                                 "port": 2}]}' http://localhost:8080/stats/flowentry/add

  no flow entry was installed.

after applying this patch (using ofctl_rest):

  curl -X POST -d '{"dpid": 1,
                    "match": {"dl_type": 2048,
                              "nw_src": "192.168.0.0/24"},
                    "actions": [{"type": "OUTPUT",
                                 "port": 2}]}' http://localhost:8080/stats/flowentry/add

  OFPST_FLOW reply (OF1.3) (xid=0x2):
   cookie=0x0, duration=3.602s, table=0, n_packets=0, n_bytes=0, priority=0,ip,nw_src=192.168.0.0/24 actions=output:2

  curl -X POST -d '{"dpid": 1,
                    "match": {"dl_type": 2054,
                              "nw_src": "192.168.0.0/24"},
                    "actions": [{"type": "OUTPUT",
                                 "port": 2}]}' http://localhost:8080/stats/flowentry/add

  OFPST_FLOW reply (OF1.3) (xid=0x2):
   cookie=0x0, duration=2.555s, table=0, n_packets=0, n_bytes=0, priority=0,arp,arp_spa=192.168.0.0/24 actions=output:2

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-15 19:54:23 +09:00
Yuichi Ito
aa074b23d9 ofctl_rest: improve readability of the result of MeterFeatures
although 'band_types' of MeterFeatures were bitmaps of supported band types, it was expressed numerically.
this patch makes 'band_types' human-readable.

e.g.)

  curl http://localhost:8080/stats/meterfeatures/8796750050962
  {
    "8796750050962": [
      {
        "max_meter": 16777216,
        "max_color": 0,
        "max_band": 255,
        "band_types": ["DROP", "DSCP_REMARK"]
      }
    ]
  }

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-09 22:39:26 +09:00
Yuichi Ito
8b2097b352 ofctl_rest: support group-related messages
this patch makes ofctl_rest possible to:

  - support the GROUP action in the FlowMod message
  - support the GroupMod message
  - support the GroupStats message
  - support the GroupFeatures message
  - support the GroupDesc message

see following examples.

FlowMod with the group action:

  e.g.)

    curl -X POST -d '{"dpid": 1,
                      "match": {},
                      "actions": [{"type": "GROUP,
                                   "group_id": 1}]}' http://localhost:8080/stats/flowentry/add

GroupMod:

  usage)

    URI:    /stats/groupentry/{cmd}
    METHOD: POST

      NOTE: the value of 'cmd' is one of follows: 'add', 'modify', or 'delete'.

    the message body is as follows:

      type      Group types. 'ALL', 'SELECT', 'INDIRECT', or 'FF'.
      group_id  Group Identifier. (default: 0)
      buckets   a list of buckets.

    where each bucket has the following members:

      weight       Relative weight of bucket. (default: 0)
      watch_port   Port whose state affects whether this bucket is live. (default: OFPP_ANY)
      watch_group  Group whose state affects whether this bucket is live. (default: OFPG_ANY)
      actions      a list of actions. the format is the same as that of FlowMod.

  e.g.)

    curl -X POST -d '{"dpid": 1,
                      "type": "FF",
                      "group_id": 1,
                      "buckets": [{"watch_port": 2,
                                   "actions": [{"type": "OUTPUT",
                                                "port": 3}]}]}' http://localhost:8080/stats/groupentry/add

GroupStats:

  usage)

    URI:    /stats/group/{dpid}
    METHOD: GET

  e.g.)

    curl http://localhost:8080/stats/group/1
    {
      "1": [
        {
          "bucket_stats": [
            {
              "packet_count": 0,
              "byte_count": 0
            }
          ],
          "byte_count": 0,
          "ref_count": 0,
          "duration_nsec": 231000000,
          "packet_count": 0,
          "duration_sec": 11238,
          "group_id": 1
        }
      ]
    }

GroupFeatures:

  usage)

    URI:    /stats/groupfeatures/{dpid}
    METHOD: GET

  e.g.)

    curl http://localhost:8080/stats/groupfeatures/1
    {
      "1": [
        {
          "actions": [
            {"ALL": ["OUTPUT", "COPY_TTL_OUT", "COPY_TTL_IN", "SET_MPLS_TTL", "DEC_MPLS_TTL", "PUSH_VLAN", "POP_VLAN", "PUSH_MPLS", "POP_MPLS", "SET_QUEUE", "GROUP", "SET_NW_TTL", "DEC_NW_TTL", "SET_FIELD"]},
            {"SELECT": []},
            {"INDIRECT": []},
            {"FF": []}
          ],
          "max_groups": [
            {"ALL": 4294967040},
            {"SELECT": 4294967040},
            {"INDIRECT": 4294967040},
            {"FF": 4294967040}
          ],
          "capabilities": ["SELECT_WEIGHT", "SELECT_LIVENESS", "CHAINING"],
          "types": []
        }
      ]
    }

GroupDesc:

  usage)

    URI:    /stats/groupdesc/{dpid}
    METHOD: GET

  e.g.)

    curl http://localhost:8080/stats/groupdesc/1
    {
      "1": [
        {
          "buckets": [
            {
              "actions": ["OUTPUT:2"],
              "watch_group": 4294967295,
              "weight": 0,
              "watch_port": 3
            }
          ],
          "group_id": 1,
          "type": "FF"
        }
      ]
    }

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-09 22:39:25 +09:00
Yuichi Ito
79e2460c20 ofctl_rest: support OFPExperimenter message
this patch makes ofctl_rest enable use of OFPExperimenter message.

usage)

  URI:    /stats/experimenter/{dpid}
  method: POST

the message body is as follows:

  experimenter  Experimenter ID. (default: 0)
  exp_type      Experimenter defined type. (default:0)
  data_type     Data encoding type. 'ascii' or 'base64'. (default: 'ascii')
  data          Experimenter-defined arbitrary additional data. (default: '')

e.g.)

  curl -X POST -d '{"experimenter": 8992,
                    "exp_type": 10,
                    "data": "\x00\x00\x00\x01"}' http://localhost:8080/stats/experimenter/1

  curl -X POST -d '{"experimenter": 8992,
                    "exp_type": 10.
                    "data_type": "base64",
                    "data": "AAAAAQ=="}' http://localhost:8080/stats/experimenter/1

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-01-06 20:34:29 +09:00
Yuichi Ito
8e64bc9269 ofctl_v1_2/3: support IPv6
this patch implements the match conditions using IPv6.

NOTE: OpenFlow1.0 does not support IPv6.

e.g. using ofctl_rest)

curl -X POST -d '{"dpid": 1,
                  "match": {"eth_type": 34525,
                            "ipv6_src": "fe08:2001::/64",
                            "ipv6_dst": "ff02::1"},
                  "actions": [{"type": "OUTPUT",
                               "port": 2}]}' http://localhost:8080/stats/flowentry/add

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
2013-12-27 15:24:19 +09:00
Yuichi Ito
8597df8a00 ofctl_v1_2/3: support OXM field names
this patch gets match field names to support OXM field names.

NOTE: OpenFlow1.0 does not support OXM field names.

the compatibility is as follows:

  dl_src    eth_src
  dl_dst    eth_dst
  dl_type   eth_type
  dl_vlan   vlan_vid
  nw_src    ipv4_src
  nw_dst    ipv4_dst
  nw_proto  ip_proto
  tp_src    tcp_src or udp_src
  tp_dst    tcp_dst or udp_dst

for example, the following commands for ofctl_rest install the same flow entry.

curl -X POST -d '{"dpid": 1,
                  "match": {"dl_type": 2048,
                            "nw_src": "192.168.1.1"},
                  "actions": [{"type": "OUTPUT",
                               "port": 2}]}' http://localhost:8080/stats/flowentry/add

curl -X POST -d '{"dpid": 1,
                  "match": {"eth_type": 2048,
                            "ipv4_src": 192.168.1.1"},
                  "actions": [{"type": "OUTPUT",
                               "port": 2}]}' http://localhost:8080/stats/flowentry/add

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
2013-12-27 15:24:19 +09:00
Yuichi Ito
119990d1eb ofctl_v1_3: support OFPMeterConfigStats
Changes v2 -> v3:

- correct the following description

this patch implements a REST API for OFPMeterConfigStats.

e.g., when you send a MeterMod message as:

    curl -X POST -d '{"dpid": 1,
                      "meter_id": 1,
                      "flags": "KBPS",
                      "bands": [{"type": "DROP", "rate": 1000},
                                {"type": "REMARK", "rate": 2000},
                                {"type": "EXPERIMENTER", "rate": 3000}
                      ]}' http://localhost:8080/stats/meterentry/add

and you do the following command:

    curl http://localhost:8080/stats/meterconfig/1

then you will get the configuration as:

    {"1": [{"bands": [{"burst_size": 0, "rate": 1000, "type": "DROP"},
                      {"prec_level": 0, "burst_size": 0, "rate": 2000, "type": "REMARK"},
                      {"burst_size": 0, "rate": 3000, "experimenter": 0, "type": "EXPERIMENTER"}],
            "flags": "KBPS",
            "meter_id": 1}]}

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-12-24 20:38:33 +09:00
Srini Seetharaman
d30e9da4da ofctl_v1_3: fix match for metadata
also use the default priority for FlowMod.

Signed-off-by: Srini Seetharaman <srini.seetharaman@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-12-24 20:22:45 +09:00
Yuichi Ito
a05b1e990f ofctl_v1_3: correct MeterStats and MeterFeatures
- add the insufficient handlers
- correct the using instance

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-12-20 14:54:30 +09:00
Yuichi Ito
c380405c19 ofctl_v1_3: support meter
Support meter in FlowMod instructions and support MeterMod, MeterStats, MeterFeatures.

see following examples.

FlowMod with the meter instruction:

    flow = {'match': {},
            'actions': [{'type': 'METER',
                         'meter_id': 1}]
    curl -X POST -d '{"dpid": 1, "match": {}, "actions": [{"type": "METER", "meter_id": 1}]}' http://localhost:8080/stats/flowentry/add

MeterMod:

    meter = {'meter_id': 1,
             'flags': 'KBPS',
             'bands': [{'type': 'DROP',
                        'rate': 1000}]}
    curl -X POST -d '{"dpid": 1, "meter_id": 1, "flags": "KBPS", "bands": [{"type": "DROP", "rate": 1000}]}' http://localhost:8080/stats/meterentry/add

    NOTE: flags: 'KBPS', 'PKTPS', 'BURST', 'STATS'
          type: 'DROP', 'REMARK', 'EXPERIMENTER'

MeterStats:

    curl http://localhost:8080/stats/meter/1

MetetFeatures:

    curl http://localhost:8080/stats/meterfeatures/1

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-12-20 12:25:15 +09:00
Yuichi Ito
b5bc06c654 ofctl_v1_3: support metadata
Support metadata in FlowMod instructions and match.

both a decimal number and a hexadecimal number are able to use in 'metadata' and 'metadata_mask'.
all the following examples express the same flow entry.

flow = {'match': {'metadata': '12345/4095'},
        'actions': [{'type': 'WRITE_METADATA',
                     'metadata': '12345',
                     'metadata_mask': '4095'}]}

flow = {'match': {'metadata': '12345/4095'},
        'actions': [{'type': 'WRITE_METADATA',
                     'metadata': 12345,
                     'metadata_mask': 4095}]}

flow = {'match': {'metadata': '0x3039/0xfff'},
        'actions': [{'type': 'WRITE_METADATA',
                     'metadata': '0x3039',
                     'metadata_mask': '0xfff'}]}

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-12-20 12:25:13 +09:00
Yuichi Ito
52540f27da lib: ofctl: support the specified max_len of flow_mod
this patch makes the max_len of flow_mod message more flexible.

before applying this patch:

    ofctl_v1_0: 128 bytes for packet_in (fixed size) and none for others (fixed)
    ofctl_v1_2: 128 bytes for packet_in (fixed size) and 0 for others (fixed size)
    ofctl_v1_3: 0 for all by default (flexible)

    ofctl_v1_3 will send 0 byte length data in a packet_in message if max_len is not specified.

after applying this patch:

    all version: MAX_LEN for all by default (flexible)
    NOTE: MAX_LEN is 65535 for OF1.0, and is OFPCML_MAX for OF1.2/1.3.

    max_len is omissible by every ofctl.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-12-17 19:51:07 +09:00
Yuichi Ito
f7daafb54e ofctl_v1_3: support some actions
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-11-27 07:13:02 +09:00
Yuichi Ito
52bf89600e ofctl_v1_3: correct the output result of get_flow_stats()
the previous version of ofctl_v1_3 was inconsistent with ofctl_v1_0 and ofctl_v1_2 in the output result of get_flow_stats().

 - ofctl_v1_0/ofctl_v1_2
    'match': {
        'dl_type': 2048,
        'nw_dst': '10.0.2.0/24'
    }

 - ofctl_v1_3
    'match': {
        'OFPMatch': {
            'type': 1,
            'length': 22,
            'oxm_fields': [
                {
                    'OXMTlv': {
                        'field': 'eth_type',
                        'mask': None,
                        'value': 2048
                    }
                },
                {
                    'OXMTlv': {
                        'field': 'ipv4_dst',
                        'mask': '255.255.255.0',
                        'value': '10.0.2.0'
                    }
                }
            ]
        }
    }

this patch changes the output of ofctl_v 1_3 like other libraries.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-11-27 07:13:00 +09:00
Wei-Li Tang
805ae1f796 ofctl_v1_3.py: Add get_desc_stats & get_port_stats from ofctl_v1_0.py.
ofctl_v1_3 lacks of get_desc_stats & get_port_stats methods which is available
in ofctl_v1_0. I copied the code from ofctl_v1_0 and it works fine. The only
change to get_port_stats in ofctl_v1_3 is using OFPP_ANY as argument to call
OFPPortStatsRequest.

Signed-off-by: Wei-Li Tang <alextwl@xinguard.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-11-07 14:24:42 +09:00
Satoshi Kobayashi
bab02cfaba Fix POP_MPLS of ofctl_v1_3.to_actions() problem
POP_MPLS (class OFPActionPopMpls) requires ethertype.

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-09-02 12:28:20 +09:00
Satoshi Kobayashi
2ea5431ad3 ofctl lib: Actions is a list
Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Acked-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-08-20 17:52:23 +09:00
OHMURA Kei
afefe3c3cd add ofctl_v1_3 library
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-24 08:36:08 +09:00