[ovs-dev] [PATCH 01/14] datapath-windows: Remove the old IOCTL vport functions.
Eitan Eliahu
eliahue at vmware.com
Thu Oct 2 17:49:22 UTC 2014
Acked-by: Eitan Eliahu <eliahue at vmware.com>
-----Original Message-----
From: Samuel Ghinet [mailto:sghinet at cloudbasesolutions.com]
Sent: Tuesday, September 30, 2014 7:43 AM
To: dev at openvswitch.org
Cc: Alin Serdean; Nithin Raju; Eitan Eliahu; Ankur Sharma
Subject: [PATCH 01/14] datapath-windows: Remove the old IOCTL vport functions.
The old IOCTL vport functions (using the non-netlink device) are no longer needed. They should be removed.
Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
---
datapath-windows/ovsext/Vport.c | 403 ----------------------------------------
datapath-windows/ovsext/Vport.h | 15 --
2 files changed, 418 deletions(-)
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c index 14b68d9..bd28606 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -940,129 +940,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) { @@ -1091,159 +968,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) @@ -1277,133 +1001,6 @@ OvsConvertIfCountedStrToAnsiStr(PIF_COUNTED_STRING wStr,
return STATUS_SUCCESS;
}
-
-NTSTATUS
-OvsGetExtInfoIoctl(PVOID inputBuffer,
- UINT32 inputLength,
- PVOID outputBuffer,
- UINT32 outputLength,
- UINT32 *replyLen)
-{
- POVS_VPORT_GET get;
- POVS_VPORT_EXT_INFO info;
- POVS_VPORT_ENTRY vport;
- size_t len;
- LOCK_STATE_EX lockState;
- NTSTATUS status = STATUS_SUCCESS;
- NDIS_SWITCH_NIC_NAME nicName;
- NDIS_VM_NAME vmName;
- BOOLEAN doConvert = FALSE;
-
- OVS_LOG_TRACE("Enter: inputLength: %u, outputLength: %u",
- inputLength, outputLength);
-
- if (inputLength < sizeof (OVS_VPORT_GET) ||
- outputLength < sizeof (OVS_VPORT_EXT_INFO)) {
- status = STATUS_INVALID_PARAMETER;
- goto ext_info_done;
- }
- get = (POVS_VPORT_GET)inputBuffer;
- info = (POVS_VPORT_EXT_INFO)outputBuffer;
- RtlZeroMemory(info, sizeof (POVS_VPORT_EXT_INFO));
-
- NdisAcquireSpinLock(gOvsCtrlLock);
- if (gOvsSwitchContext == NULL ||
- gOvsSwitchContext->dpNo != get->dpNo) {
- NdisReleaseSpinLock(gOvsCtrlLock);
- status = STATUS_INVALID_PARAMETER;
- goto ext_info_done;
- }
- 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);
- if (get->portNo) {
- OVS_LOG_WARN("vport %u does not exist any more", get->portNo);
- } else {
- OVS_LOG_WARN("vport %s does not exist any more", get->name);
- }
- status = STATUS_DEVICE_DOES_NOT_EXIST;
- goto ext_info_done;
- }
- info->dpNo = get->dpNo;
- info->portNo = vport->portNo;
- RtlCopyMemory(info->macAddress, vport->currMacAddress,
- sizeof (vport->currMacAddress));
- RtlCopyMemory(info->permMACAddress, vport->permMacAddress,
- sizeof (vport->permMacAddress));
- if (vport->ovsType == OVS_VPORT_TYPE_NETDEV) {
- RtlCopyMemory(info->vmMACAddress, vport->vmMacAddress,
- sizeof (vport->vmMacAddress));
- }
- info->nicIndex = vport->nicIndex;
- info->portId = vport->portId;
- info->type = vport->ovsType;
- info->mtu = vport->mtu;
- /*
- * TO be revisit XXX
- */
- if (vport->ovsState == OVS_STATE_NIC_CREATED) {
- info->status = OVS_EVENT_CONNECT | OVS_EVENT_LINK_DOWN;
- } else if (vport->ovsState == OVS_STATE_CONNECTED) {
- info->status = OVS_EVENT_CONNECT | OVS_EVENT_LINK_UP;
- } else {
- info->status = OVS_EVENT_DISCONNECT;
- }
- if (info->type == OVS_VPORT_TYPE_NETDEV &&
- (vport->ovsState == OVS_STATE_NIC_CREATED ||
- vport->ovsState == OVS_STATE_CONNECTED)) {
- RtlCopyMemory(&vmName, &vport->vmName, sizeof (NDIS_VM_NAME));
- RtlCopyMemory(&nicName, &vport->nicName, sizeof
- (NDIS_SWITCH_NIC_NAME));
- doConvert = TRUE;
- } else {
- info->vmUUID[0] = 0;
- info->vifUUID[0] = 0;
- }
-
- RtlCopyMemory(info->name, vport->ovsName, vport->ovsNameLen + 1);
- NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
- NdisReleaseSpinLock(gOvsCtrlLock);
- if (doConvert) {
- status = OvsConvertIfCountedStrToAnsiStr(&vmName,
- info->vmUUID,
- OVS_MAX_VM_UUID_LEN);
- if (status != STATUS_SUCCESS) {
- OVS_LOG_INFO("Fail to convert VM name.");
- info->vmUUID[0] = 0;
- }
-
- status = OvsConvertIfCountedStrToAnsiStr(&nicName,
- info->vifUUID,
- OVS_MAX_VIF_UUID_LEN);
- if (status != STATUS_SUCCESS) {
- OVS_LOG_INFO("Fail to convert nic name");
- info->vifUUID[0] = 0;
- }
- /*
- * for now ignore status
- */
- status = STATUS_SUCCESS;
- }
- *replyLen = sizeof (OVS_VPORT_EXT_INFO);
-
-ext_info_done:
- OVS_LOG_TRACE("Exit: byteReturned: %u, status: %x",
- *replyLen, status);
- return status;
-}
-
-
static __inline VOID
OvsWaitActivate(POVS_SWITCH_CONTEXT switchContext, ULONG sleepMicroSec) { diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h index 5450fca..3e28a74 100644
--- a/datapath-windows/ovsext/Vport.h
+++ b/datapath-windows/ovsext/Vport.h
@@ -116,21 +116,6 @@ NDIS_STATUS OvsAddConfiguredSwitchPorts(struct _OVS_SWITCH_CONTEXT *switchContex NDIS_STATUS OvsInitConfiguredSwitchNics(struct _OVS_SWITCH_CONTEXT *switchContext);
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);
-NTSTATUS OvsGetExtInfoIoctl(PVOID inputBuffer, UINT32 inputLength,
- PVOID outputBuffer, UINT32 outputLength,
- UINT32 *replyLen);
NDIS_STATUS OvsCreateNic(POVS_SWITCH_CONTEXT switchContext,
PNDIS_SWITCH_NIC_PARAMETERS nicParam); NDIS_STATUS OvsCreatePort(POVS_SWITCH_CONTEXT switchContext,
--
1.8.3.msysgit.0
More information about the dev
mailing list