From fbcae71d517ddc71705132dc1dbde5bc331e1da6 Mon Sep 17 00:00:00 2001
From: Sriram Natarajan <natarajan.sriram@gmail.com>
Date: Sun, 21 Sep 2014 17:15:00 -0700
Subject: [PATCH 1/2] Fix spell check in group feature message Maintain name
 consistency in meter type in Meter Features message in OF 1.3 Add length
 field in group statistics reply in OF 1.2

Signed-off-by: Sriram Natarajan <natarajan.sriram@gmail.com>
---
 ryu/lib/ofctl_v1_2.py | 5 +++--
 ryu/lib/ofctl_v1_3.py | 6 +++---
 ryu/app/rest_qos.py | 2 +-
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/ryu/app/rest_qos.py b/ryu/app/rest_qos.py
index f0cea79..057a3fd 100644
--- a/ryu/app/rest_qos.py
+++ b/ryu/app/rest_qos.py
@@ -158,7 +158,7 @@ from ryu.ofproto import inet
 #
 #  request body format:
 #   {"meter_id": <int>,
-#    "bands":[{"action": "<DROP or REMARK>",
+#    "bands":[{"action": "<DROP or DSCP_REMARK>",
 #              "flag": "<KBPS or PKTPS or BURST or STATS"
 #              "burst_size": <int>,
 #              "rate": <int>,

diff --git a/ryu/lib/ofctl_v1_2.py b/ryu/lib/ofctl_v1_2.py
index da300f7..6eff762 100644
--- a/ryu/lib/ofctl_v1_2.py
+++ b/ryu/lib/ofctl_v1_2.py
@@ -664,7 +664,8 @@ def get_group_stats(dp, waiters):
                 c = {'packet_count': bucket_counter.packet_count,
                      'byte_count': bucket_counter.byte_count}
                 bucket_counters.append(c)
-            g = {'group_id': stats.group_id,
+            g = {'length': stats.length,
+                 'group_id': stats.group_id,
                  'ref_count': stats.ref_count,
                  'packet_count': stats.packet_count,
                  'byte_count': stats.byte_count,
@@ -684,7 +685,7 @@ def get_group_features(dp, waiters):
     cap_convert = {ofp.OFPGFC_SELECT_WEIGHT: 'SELECT_WEIGHT',
                    ofp.OFPGFC_SELECT_LIVENESS: 'SELECT_LIVENESS',
                    ofp.OFPGFC_CHAINING: 'CHAINING',
-                   ofp.OFPGFC_CHAINING_CHECKS: 'CHAINING_CHCEKS'}
+                   ofp.OFPGFC_CHAINING_CHECKS: 'CHAINING_CHECKS'}
     act_convert = {ofp.OFPAT_OUTPUT: 'OUTPUT',
                    ofp.OFPAT_COPY_TTL_OUT: 'COPY_TTL_OUT',
                    ofp.OFPAT_COPY_TTL_IN: 'COPY_TTL_IN',

diff --git a/ryu/lib/ofctl_v1_3.py b/ryu/lib/ofctl_v1_3.py
index b60c4cc..bb12617 100644
--- a/ryu/lib/ofctl_v1_3.py
+++ b/ryu/lib/ofctl_v1_3.py
@@ -747,7 +747,7 @@ def get_meter_config(dp, waiters):
              dp.ofproto.OFPMF_STATS: 'STATS'}
 
     band_type = {dp.ofproto.OFPMBT_DROP: 'DROP',
-                 dp.ofproto.OFPMBT_DSCP_REMARK: 'REMARK',
+                 dp.ofproto.OFPMBT_DSCP_REMARK: 'DSCP_REMARK',
                  dp.ofproto.OFPMBT_EXPERIMENTER: 'EXPERIMENTER'}
 
     stats = dp.ofproto_parser.OFPMeterConfigStatsRequest(
@@ -817,7 +817,7 @@ def get_group_features(dp, waiters):
     cap_convert = {ofp.OFPGFC_SELECT_WEIGHT: 'SELECT_WEIGHT',
                    ofp.OFPGFC_SELECT_LIVENESS: 'SELECT_LIVENESS',
                    ofp.OFPGFC_CHAINING: 'CHAINING',
-                   ofp.OFPGFC_CHAINING_CHECKS: 'CHAINING_CHCEKS'}
+                   ofp.OFPGFC_CHAINING_CHECKS: 'CHAINING_CHECKS'}
     act_convert = {ofp.OFPAT_OUTPUT: 'OUTPUT',
                    ofp.OFPAT_COPY_TTL_OUT: 'COPY_TTL_OUT',
                    ofp.OFPAT_COPY_TTL_IN: 'COPY_TTL_IN',
@@ -976,7 +976,7 @@ def mod_meter_entry(dp, flow, cmd):
         if band_type == 'DROP':
             bands.append(
                 dp.ofproto_parser.OFPMeterBandDrop(rate, burst_size))
-        elif band_type == 'REMARK':
+        elif band_type == 'DSCP_REMARK':
             prec_level = int(band.get('prec_level', 0))
             bands.append(
                 dp.ofproto_parser.OFPMeterBandDscpRemark(
-- 
1.8.5.2 (Apple Git-48)

