While calculating the hash on a VPORT name, we don't include the NUL character.
We should be doing the same while doing lookup as well.

We set the required minimum length of the name to be 2 so that the string has
at least one valid character.

Signed-off-by: Nithin Raju <nit...@vmware.com>
Acked-by: Eitan Eliahu <elia...@vmware.com>
---
 datapath-windows/ovsext/Datapath.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/datapath-windows/ovsext/Datapath.c 
b/datapath-windows/ovsext/Datapath.c
index 495219e..3b6aea7 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -1440,6 +1440,7 @@ OvsGetVport(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
     static const NL_POLICY ovsVportPolicy[] = {
         [OVS_VPORT_ATTR_PORT_NO] = { .type = NL_A_U32, .optional = TRUE },
         [OVS_VPORT_ATTR_NAME] = { .type = NL_A_STRING,
+                                  .minLen = 2,
                                   .maxLen = IFNAMSIZ,
                                   .optional = TRUE},
     };
@@ -1468,7 +1469,7 @@ OvsGetVport(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
     if (vportAttrs[OVS_VPORT_ATTR_NAME] != NULL) {
         vport = OvsFindVportByOvsName(gOvsSwitchContext,
             NlAttrGet(vportAttrs[OVS_VPORT_ATTR_NAME]),
-            NlAttrGetSize(vportAttrs[OVS_VPORT_ATTR_NAME]));
+            NlAttrGetSize(vportAttrs[OVS_VPORT_ATTR_NAME]) - 1);
     } else if (vportAttrs[OVS_VPORT_ATTR_PORT_NO] != NULL) {
         vport = OvsFindVportByPortNo(gOvsSwitchContext,
             NlAttrGetU32(vportAttrs[OVS_VPORT_ATTR_PORT_NO]));
-- 
1.7.4.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to