datapath-windows: Remove the old IOCTL vport functions.
authorAlin Serdean <aserdean@cloudbasesolutions.com>
Thu, 9 Oct 2014 17:46:54 +0000 (17:46 +0000)
committerBen Pfaff <blp@nicira.com>
Thu, 9 Oct 2014 22:47:04 +0000 (15:47 -0700)
The old IOCTL vport functions (using the non-netlink device) are no
longer needed. They should be removed.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma@vmware.com>
Acked-by: Eitan Eliahu <eliahue@vmware.com>
Acked-by: Nithin Raju <nithin@vmware.com>
Tested-by: Nithin Raju <nithin@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
datapath-windows/ovsext/Vport.c
datapath-windows/ovsext/Vport.h

index 0e8776e..ca3bf45 100644 (file)
@@ -947,129 +947,6 @@ OvsClearAllSwitchVports(POVS_SWITCH_CONTEXT switchContext)
     }
 }
 
-NTSTATUS
-OvsDumpVportIoctl(PVOID inputBuffer,
-                  UINT32 inputLength,
-                  PVOID outputBuffer,
-                  UINT32 outputLength,
-                  UINT32 *replyLen)
-{
-    UINT32 numVports, count;
-    UINT32 dpNo, i;
-    UINT32 *outPtr;
-    POVS_VPORT_ENTRY vport;
-    LOCK_STATE_EX lockState;
-
-    if (inputLength < sizeof (UINT32)) {
-        return STATUS_INVALID_PARAMETER;
-    }
-    dpNo = *(UINT32 *)inputBuffer;
-
-    NdisAcquireSpinLock(gOvsCtrlLock);
-    if (gOvsSwitchContext == NULL ||
-        gOvsSwitchContext->dpNo != dpNo) {
-        NdisReleaseSpinLock(gOvsCtrlLock);
-        return STATUS_INVALID_PARAMETER;
-    }
-    /*
-     * We should hold SwitchContext RW lock
-     */
-
-    NdisAcquireRWLockRead(gOvsSwitchContext->dispatchLock, &lockState,
-                          NDIS_RWL_AT_DISPATCH_LEVEL);
-    numVports = outputLength/sizeof (UINT32);
-    numVports = MIN(gOvsSwitchContext->numVports, numVports);
-    outPtr = (UINT32 *)outputBuffer;
-    for (i = 0, count = 0;
-         i < OVS_MAX_VPORT_ARRAY_SIZE && count < numVports; i++) {
-        vport = (POVS_VPORT_ENTRY)gOvsSwitchContext->vportArray[i];
-        if (OVS_IS_VPORT_ENTRY_NULL(gOvsSwitchContext, i)) {
-            continue;
-        }
-        if (vport->ovsState == OVS_STATE_CONNECTED ||
-            vport->ovsState == OVS_STATE_NIC_CREATED) {
-            *outPtr = vport->portNo;
-            outPtr++;
-            count++;
-        }
-    }
-    NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
-    NdisReleaseSpinLock(gOvsCtrlLock);
-    *replyLen = count * sizeof (UINT32);
-    return STATUS_SUCCESS;
-}
-
-
-NTSTATUS
-OvsGetVportIoctl(PVOID inputBuffer,
-                 UINT32 inputLength,
-                 PVOID outputBuffer,
-                 UINT32 outputLength,
-                 UINT32 *replyLen)
-{
-    UINT32 dpNo;
-    POVS_VPORT_GET get;
-    POVS_VPORT_INFO info;
-    POVS_VPORT_ENTRY vport;
-    size_t len;
-    LOCK_STATE_EX lockState;
-
-    if (inputLength < sizeof (OVS_VPORT_GET) ||
-        outputLength < sizeof (OVS_VPORT_INFO)) {
-        return STATUS_INVALID_PARAMETER;
-    }
-    get = (POVS_VPORT_GET)inputBuffer;
-    dpNo = get->dpNo;
-    info = (POVS_VPORT_INFO)outputBuffer;
-    RtlZeroMemory(info, sizeof (POVS_VPORT_INFO));
-
-    NdisAcquireSpinLock(gOvsCtrlLock);
-    if (gOvsSwitchContext == NULL ||
-        gOvsSwitchContext->dpNo != dpNo) {
-        NdisReleaseSpinLock(gOvsCtrlLock);
-        return STATUS_INVALID_PARAMETER;
-    }
-
-    NdisAcquireRWLockRead(gOvsSwitchContext->dispatchLock, &lockState,
-                          NDIS_RWL_AT_DISPATCH_LEVEL);
-    if (get->portNo == 0) {
-        StringCbLengthA(get->name, OVS_MAX_PORT_NAME_LENGTH - 1, &len);
-        vport = OvsFindVportByOvsName(gOvsSwitchContext, get->name, (UINT32)len);
-    } else {
-        vport = OvsFindVportByPortNo(gOvsSwitchContext, get->portNo);
-    }
-    if (vport == NULL || (vport->ovsState != OVS_STATE_CONNECTED &&
-                          vport->ovsState != OVS_STATE_NIC_CREATED)) {
-        NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
-        NdisReleaseSpinLock(gOvsCtrlLock);
-        /*
-         * XXX Change to NO DEVICE
-         */
-        return STATUS_DEVICE_DOES_NOT_EXIST;
-    }
-    info->dpNo = dpNo;
-    info->portNo = vport->portNo;
-    info->type = vport->ovsType;
-    RtlCopyMemory(info->macAddress, vport->permMacAddress,
-                  sizeof (vport->permMacAddress));
-    RtlCopyMemory(info->name, vport->ovsName, vport->ovsNameLen + 1);
-
-    info->rxPackets = vport->stats.rxPackets;
-    info->rxBytes = vport->stats.rxBytes;
-    info->txPackets = vport->stats.txPackets;
-    info->txBytes = vport->stats.txBytes;
-    info->rxErrors = vport->errStats.rxErrors;
-    info->txErrors = vport->errStats.txErrors;
-    info->rxDropped = vport->errStats.rxDropped;
-    info->txDropped = vport->errStats.txDropped;
-
-    NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
-    NdisReleaseSpinLock(gOvsCtrlLock);
-    *replyLen = sizeof (OVS_VPORT_INFO);
-    return STATUS_SUCCESS;
-}
-
-
 NTSTATUS
 OvsInitTunnelVport(POVS_VPORT_ENTRY vport,
                    POVS_VPORT_ADD_REQUEST addReq)
@@ -1098,159 +975,6 @@ OvsInitTunnelVport(POVS_VPORT_ENTRY vport,
     return status;
 }
 
-NTSTATUS
-OvsAddVportIoctl(PVOID inputBuffer,
-                 UINT32 inputLength,
-                 PVOID outputBuffer,
-                 UINT32 outputLength,
-                 UINT32 *replyLen)
-{
-    NTSTATUS status = STATUS_SUCCESS;
-    POVS_VPORT_INFO vportInfo;
-    POVS_VPORT_ADD_REQUEST addReq;
-    POVS_VPORT_ENTRY vport;
-    LOCK_STATE_EX lockState;
-    UINT32 index;
-    UINT32 portNo;
-
-    OVS_LOG_TRACE("Enter: inputLength: %u, outputLength: %u",
-                  inputLength, outputLength);
-    if (inputLength < sizeof (OVS_VPORT_ADD_REQUEST) ||
-        outputLength < sizeof (OVS_VPORT_INFO)) {
-        status = STATUS_INVALID_PARAMETER;
-        goto vport_add_done;
-    }
-    addReq = (POVS_VPORT_ADD_REQUEST)inputBuffer;
-    addReq->name[OVS_MAX_PORT_NAME_LENGTH - 1] = 0;
-
-    switch (addReq->type) {
-    case OVS_VPORT_TYPE_GRE:
-        index = OVS_GRE_VPORT_INDEX;
-        break;
-    case OVS_VPORT_TYPE_GRE64:
-        index = OVS_GRE64_VPORT_INDEX;
-        break;
-    case OVS_VPORT_TYPE_VXLAN:
-        index = OVS_VXLAN_VPORT_INDEX;
-        break;
-    default:
-        status = STATUS_NOT_SUPPORTED;
-        goto vport_add_done;
-    }
-
-    vport = (POVS_VPORT_ENTRY)OvsAllocateVport();
-    if (vport == NULL) {
-        status = STATUS_INSUFFICIENT_RESOURCES;
-        goto vport_add_done;
-    }
-
-    NdisAcquireSpinLock(gOvsCtrlLock);
-    if (gOvsSwitchContext == NULL ||
-        gOvsSwitchContext->dpNo != addReq->dpNo) {
-        NdisReleaseSpinLock(gOvsCtrlLock);
-        status = STATUS_INVALID_PARAMETER;
-        OvsFreeMemory(vport);
-        goto vport_add_done;
-    }
-    NdisAcquireRWLockRead(gOvsSwitchContext->dispatchLock, &lockState,
-                          NDIS_RWL_AT_DISPATCH_LEVEL);
-    if (!OVS_IS_VPORT_ENTRY_NULL(gOvsSwitchContext, index)) {
-        status = STATUS_DEVICE_BUSY;
-        NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
-        NdisReleaseSpinLock(gOvsCtrlLock);
-        OvsFreeMemory(vport);
-        goto vport_add_done;
-    }
-
-    status = OvsInitTunnelVport(vport, addReq);
-    if (status != STATUS_SUCCESS) {
-        NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
-        NdisReleaseSpinLock(gOvsCtrlLock);
-        OvsFreeMemory(vport);
-        goto vport_add_done;
-    }
-
-    status = OvsInitVportCommon(gOvsSwitchContext, vport);
-    ASSERT(status == NDIS_STATUS_SUCCESS);
-
-    vport->ovsState = OVS_STATE_CONNECTED;
-    vport->nicState = NdisSwitchNicStateConnected;
-
-    vportInfo = (POVS_VPORT_INFO)outputBuffer;
-
-    RtlZeroMemory(vportInfo, sizeof (POVS_VPORT_INFO));
-    vportInfo->dpNo = gOvsSwitchContext->dpNo;
-    vportInfo->portNo = vport->portNo;
-    vportInfo->type = vport->ovsType;
-    RtlCopyMemory(vportInfo->name, vport->ovsName, vport->ovsNameLen + 1);
-    portNo = vport->portNo;
-
-    NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
-    NdisReleaseSpinLock(gOvsCtrlLock);
-    OvsPostEvent(portNo, OVS_EVENT_CONNECT | OVS_EVENT_LINK_UP);
-    *replyLen = sizeof (OVS_VPORT_INFO);
-    status = STATUS_SUCCESS;
-vport_add_done:
-    OVS_LOG_TRACE("Exit: byteReturned: %u, status: %x",
-                  *replyLen, status);
-    return status;
-}
-
-NTSTATUS
-OvsDelVportIoctl(PVOID inputBuffer,
-                 UINT32 inputLength,
-                 UINT32 *replyLen)
-{
-    NTSTATUS status = STATUS_SUCCESS;
-    POVS_VPORT_DELETE_REQUEST delReq;
-    LOCK_STATE_EX lockState;
-    POVS_VPORT_ENTRY vport;
-    size_t len;
-    UINT32 portNo = 0;
-
-    OVS_LOG_TRACE("Enter: inputLength: %u", inputLength);
-
-    if (inputLength < sizeof (OVS_VPORT_DELETE_REQUEST)) {
-        status = STATUS_INVALID_PARAMETER;
-        goto vport_del_done;
-    }
-    delReq = (POVS_VPORT_DELETE_REQUEST)inputBuffer;
-
-    NdisAcquireSpinLock(gOvsCtrlLock);
-    if (gOvsSwitchContext == NULL ||
-        gOvsSwitchContext->dpNo != delReq->dpNo) {
-        NdisReleaseSpinLock(gOvsCtrlLock);
-        status = STATUS_INVALID_PARAMETER;
-        goto vport_del_done;
-    }
-    NdisAcquireRWLockRead(gOvsSwitchContext->dispatchLock, &lockState,
-                          NDIS_RWL_AT_DISPATCH_LEVEL);
-    if (delReq->portNo == 0) {
-        StringCbLengthA(delReq->name, OVS_MAX_PORT_NAME_LENGTH - 1, &len);
-        vport = OvsFindVportByOvsName(gOvsSwitchContext, delReq->name,
-                                      (UINT32)len);
-    } else {
-        vport = OvsFindVportByPortNo(gOvsSwitchContext, delReq->portNo);
-    }
-    if (vport) {
-        OVS_LOG_INFO("delete vport: %s, portNo: %x", vport->ovsName,
-                     vport->portNo);
-        portNo = vport->portNo;
-        OvsRemoveAndDeleteVport(gOvsSwitchContext, vport);
-    } else {
-        status = STATUS_DEVICE_DOES_NOT_EXIST;
-    }
-    NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
-    NdisReleaseSpinLock(gOvsCtrlLock);
-    if (vport) {
-        OvsPostEvent(portNo, OVS_EVENT_DISCONNECT | OVS_EVENT_LINK_DOWN);
-    }
-vport_del_done:
-    OVS_LOG_TRACE("Exit: byteReturned: %u, status: %x",
-                  *replyLen, status);
-    return status;
-}
-
 NTSTATUS
 OvsConvertIfCountedStrToAnsiStr(PIF_COUNTED_STRING wStr,
                                 CHAR *str,
index 0439de8..7bad546 100644 (file)
@@ -117,17 +117,6 @@ NDIS_STATUS OvsInitConfiguredSwitchNics(struct _OVS_SWITCH_CONTEXT *switchContex
 
 VOID OvsClearAllSwitchVports(struct _OVS_SWITCH_CONTEXT *switchContext);
 
-NTSTATUS OvsDumpVportIoctl(PVOID inputBuffer, UINT32 inputLength,
-                           PVOID outputBuffer, UINT32 outputLength,
-                           UINT32 *replyLen);
-NTSTATUS OvsGetVportIoctl(PVOID inputBuffer, UINT32 inputLength,
-                          PVOID outputBuffer, UINT32 outputLength,
-                          UINT32 *replyLen);
-NTSTATUS OvsAddVportIoctl(PVOID inputBuffer, UINT32 inputLength,
-                          PVOID outputBuffer, UINT32 outputLength,
-                          UINT32 *replyLen);
-NTSTATUS OvsDelVportIoctl(PVOID inputBuffer, UINT32 inputLength,
-                          UINT32 *replyLen);
 NDIS_STATUS OvsCreateNic(POVS_SWITCH_CONTEXT switchContext,
                          PNDIS_SWITCH_NIC_PARAMETERS nicParam);
 NDIS_STATUS OvsCreatePort(POVS_SWITCH_CONTEXT switchContext,