The old IOCTL vport functions (using the non-netlink device) are no longer needed. They should be removed.
Signed-off-by: Samuel Ghinet <sghi...@cloudbasesolutions.com> Co-authored-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> --- datapath-windows/ovsext/Vport.c | 276 ---------------------------------------- datapath-windows/ovsext/Vport.h | 11 -- 2 files changed, 287 deletions(-) diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c index 86b8b2d..a6214e8 100644 --- a/datapath-windows/ovsext/Vport.c +++ b/datapath-windows/ovsext/Vport.c @@ -948,129 +948,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) { @@ -1099,159 +976,6 @@ OvsInitTunnelVport(POVS_VPORT_ENTRY vport, } 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, UINT16 maxStrLen) diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h index 0439de8..7bad546 100644 --- a/datapath-windows/ovsext/Vport.h +++ b/datapath-windows/ovsext/Vport.h @@ -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, -- 1.9.4.msysgit.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev