aboutsummaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext
diff options
context:
space:
mode:
authorNithin Raju <nithin@vmware.com>2014-11-18 17:42:47 -0800
committerGurucharan Shetty <gshetty@nicira.com>2014-11-20 07:13:37 -0800
commit8ea43bad3d4bf56d29c1390a9c7f5c8f9cb4e252 (patch)
tree5a97ed105f6ef4caf3a02b71ae2b4f397bf2a3d9 /datapath-windows/ovsext
parent827e07be2e969354267f8383cc708b1edbe4dd49 (diff)
datapath-windows: Change return type of OvsInitVxlanTunnel()
OvsInitVxlanTunnel() need not return a NL_ERROR. In this patch, we change it to NTSTATUS, and also update the mapping function that maps a NTSTATUS to NL_ERROR. Signed-off-by: Nithin Raju <nithin@vmware.com> Acked-by: Ankur Sharma <ankursharma@vmware.com> Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Diffstat (limited to 'datapath-windows/ovsext')
-rw-r--r--datapath-windows/ovsext/Datapath.c3
-rw-r--r--datapath-windows/ovsext/Netlink/NetlinkError.h8
-rw-r--r--datapath-windows/ovsext/Vxlan.c6
-rw-r--r--datapath-windows/ovsext/Vxlan.h2
4 files changed, 13 insertions, 6 deletions
diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index 2cc149c54..46c34ebc6 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -1802,7 +1802,8 @@ OvsNewVportCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
vportAllocated = TRUE;
if (OvsIsTunnelVportType(portType)) {
- nlError = OvsInitTunnelVport(vport, portType, VXLAN_UDP_PORT);
+ status = OvsInitTunnelVport(vport, portType, VXLAN_UDP_PORT);
+ nlError = NlMapStatusToNlErr(status);
} else {
OvsInitBridgeInternalVport(vport);
}
diff --git a/datapath-windows/ovsext/Netlink/NetlinkError.h b/datapath-windows/ovsext/Netlink/NetlinkError.h
index 827fa8cc6..53c935ff2 100644
--- a/datapath-windows/ovsext/Netlink/NetlinkError.h
+++ b/datapath-windows/ovsext/Netlink/NetlinkError.h
@@ -202,13 +202,19 @@ typedef enum _NL_ERROR_
static __inline
NlMapStatusToNlErr(NTSTATUS status)
{
- NL_ERROR ret = NL_ERROR_SUCCESS;
+ NL_ERROR ret = NL_ERROR_INVAL;
switch (status)
{
case STATUS_NOT_SUPPORTED:
ret = NL_ERROR_NOTSUPP;
break;
+ case STATUS_INSUFFICIENT_RESOURCES:
+ ret = NL_ERROR_NOMEM;
+ break;
+ case STATUS_SUCCESS:
+ ret = NL_ERROR_SUCCESS;
+ break;
default:
break;
}
diff --git a/datapath-windows/ovsext/Vxlan.c b/datapath-windows/ovsext/Vxlan.c
index 0a68c9cd2..1ce5af249 100644
--- a/datapath-windows/ovsext/Vxlan.c
+++ b/datapath-windows/ovsext/Vxlan.c
@@ -53,7 +53,7 @@ extern POVS_SWITCH_CONTEXT gOvsSwitchContext;
* udpDestPort: the vxlan is set as payload to a udp frame. If the destination
* port of an udp frame is udpDestPort, we understand it to be vxlan.
*/
-NL_ERROR
+NTSTATUS
OvsInitVxlanTunnel(POVS_VPORT_ENTRY vport,
UINT16 udpDestPort)
{
@@ -61,7 +61,7 @@ OvsInitVxlanTunnel(POVS_VPORT_ENTRY vport,
vxlanPort = OvsAllocateMemory(sizeof (*vxlanPort));
if (vxlanPort == NULL) {
- return NL_ERROR_NOMEM;
+ return STATUS_INSUFFICIENT_RESOURCES;
}
RtlZeroMemory(vxlanPort, sizeof(*vxlanPort));
@@ -74,7 +74,7 @@ OvsInitVxlanTunnel(POVS_VPORT_ENTRY vport,
ASSERT(vxlanPort->dstPort == VXLAN_UDP_PORT);
vport->priv = (PVOID)vxlanPort;
- return NL_ERROR_SUCCESS;
+ return STATUS_SUCCESS;
}
diff --git a/datapath-windows/ovsext/Vxlan.h b/datapath-windows/ovsext/Vxlan.h
index dab5d9ba5..d84796daa 100644
--- a/datapath-windows/ovsext/Vxlan.h
+++ b/datapath-windows/ovsext/Vxlan.h
@@ -47,7 +47,7 @@ typedef struct VXLANHdr {
UINT32 reserved2:8;
} VXLANHdr;
-NL_ERROR OvsInitVxlanTunnel(POVS_VPORT_ENTRY vport,
+NTSTATUS OvsInitVxlanTunnel(POVS_VPORT_ENTRY vport,
UINT16 udpDestPort);
VOID OvsCleanupVxlanTunnel(POVS_VPORT_ENTRY vport);