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