[ovs-dev] [PATCH] ofproto: Return correct error codes from meter_set.

Tony van der Peet tony.vanderpeet at alliedtelesis.co.nz
Wed Nov 21 05:08:35 UTC 2018


This routine should return enum ofperr, but in a couple of places
doesn't. When adding one more meter when meter table is full, this
has the result of generating an incorrect error message.

Signed-off-by: Tony van der Peet <tony.vanderpeet at alliedtelesis.co.nz>
---
 ofproto/ofproto-dpif.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index b7acfa246..40fbbf98d 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -5940,11 +5940,11 @@ meter_set(struct ofproto *ofproto_, ofproto_meter_id *meter_id,
     /* Provider ID unknown. Use backer to allocate a new DP meter */
     if (meter_id->uint32 == UINT32_MAX) {
         if (!ofproto->backer->meter_ids) {
-            return EFBIG; /* Datapath does not support meter.  */
+            return OFPERR_OFPMMFC_OUT_OF_METERS; /* Datapath does not support meter.  */
         }
 
         if(!id_pool_alloc_id(ofproto->backer->meter_ids, &meter_id->uint32)) {
-            return ENOMEM; /* Can't allocate a DP meter. */
+            return OFPERR_OFPMMFC_OUT_OF_METERS; /* Can't allocate a DP meter. */
         }
     }
 
-- 
2.19.1


More information about the dev mailing list