diff options
author | Nithin Raju <nithin@vmware.com> | 2014-11-18 17:42:47 -0800 |
---|---|---|
committer | Gurucharan Shetty <gshetty@nicira.com> | 2014-11-20 07:13:37 -0800 |
commit | 8ea43bad3d4bf56d29c1390a9c7f5c8f9cb4e252 (patch) | |
tree | 5a97ed105f6ef4caf3a02b71ae2b4f397bf2a3d9 /datapath-windows/ovsext | |
parent | 827e07be2e969354267f8383cc708b1edbe4dd49 (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.c | 3 | ||||
-rw-r--r-- | datapath-windows/ovsext/Netlink/NetlinkError.h | 8 | ||||
-rw-r--r-- | datapath-windows/ovsext/Vxlan.c | 6 | ||||
-rw-r--r-- | datapath-windows/ovsext/Vxlan.h | 2 |
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); |