summaryrefslogtreecommitdiff
path: root/network/netadaptercx/netvadapterlibrary/code
diff options
context:
space:
mode:
authorYang You (UU) <[email protected]>2025-12-08 15:23:39 -0800
committerYang You (UU) <[email protected]>2025-12-08 15:23:39 -0800
commiteb4a87e545f33af410b15c6c86100c165c0eda2a (patch)
tree021b39e2c5cf2386ec83532e7955997467520c4b /network/netadaptercx/netvadapterlibrary/code
parent4372ea08facd248da112eec0aed34d4e512b6236 (diff)
Remove the TX demx support as ENL limiation.
Diffstat (limited to 'network/netadaptercx/netvadapterlibrary/code')
-rw-r--r--network/netadaptercx/netvadapterlibrary/code/enl.cpp7
-rw-r--r--network/netadaptercx/netvadapterlibrary/code/rxqueue.cpp35
2 files changed, 3 insertions, 39 deletions
diff --git a/network/netadaptercx/netvadapterlibrary/code/enl.cpp b/network/netadaptercx/netvadapterlibrary/code/enl.cpp
index 0a7d53d3..fb763330 100644
--- a/network/netadaptercx/netvadapterlibrary/code/enl.cpp
+++ b/network/netadaptercx/netvadapterlibrary/code/enl.cpp
@@ -668,10 +668,10 @@ EnlIsPortActive(
{
ENLP_PORT* port = &EnlLink->Ports[PortIndex];
ENLP_QUEUE* txq = &port->TxQueue[0];
-
+ ENLP_QUEUE* rxq = &port->RxQueue[0];
NT_FRE_ASSERT(PortIndex < ENLP_PORT_COUNT);
- return (txq->Queue == nullptr) ? FALSE : TRUE;
+ return (txq->Queue == nullptr && rxq->Queue == nullptr) ? FALSE : TRUE;
}
_IRQL_requires_max_(PASSIVE_LEVEL)
@@ -718,7 +718,6 @@ EnlDeactivateLinkPort(
ENLP_PORT* port = &EnlLink->Ports[PortIndex];
LogInformation(FLAG_DRIVER, L"PortIndex=%u Queue=%p", PortIndex, port->TxQueue[0].Queue);
- ULONG i;
NT_FRE_ASSERT(EnlIsPortActive(EnlLink, PortIndex));
KLockThisExclusive(EnlLink->Lock);
@@ -737,7 +736,7 @@ EnlDeactivateLinkPort(
// As long as there's one port with active queues, the EnlThread will run.
- for (i = 0; i < ENLP_PORT_COUNT; i++)
+ for (ULONG i = 0; i < ENLP_PORT_COUNT; i++)
{
if (EnlIsPortActive(EnlLink, i))
{
diff --git a/network/netadaptercx/netvadapterlibrary/code/rxqueue.cpp b/network/netadaptercx/netvadapterlibrary/code/rxqueue.cpp
index d0b87f9e..6eed638c 100644
--- a/network/netadaptercx/netvadapterlibrary/code/rxqueue.cpp
+++ b/network/netadaptercx/netvadapterlibrary/code/rxqueue.cpp
@@ -68,26 +68,7 @@ NetvRxQueue::NetvRxQueue(
NetExtensionTypePacket);
NetRxQueueGetExtension(m_handle, &extension, &RxXSumExtension);
-#if ((NETADAPTER_VERSION_MAJOR == 2) && (NETADAPTER_VERSION_MINOR >= 6))
- if (Adapter.PreallocatedRxBuffers)
- {
- NET_EXTENSION_QUERY_INIT(
- &extension,
- NET_FRAGMENT_EXTENSION_NET_MEMORY_NAME,
- NET_FRAGMENT_EXTENSION_NET_MEMORY_VERSION_1,
- NetExtensionTypeFragment);
-
- NetRxQueueGetExtension(m_handle, &extension, &NetMemoryExtension);
- NET_EXTENSION_QUERY_INIT(
- &extension,
- NET_FRAGMENT_EXTENSION_RETURN_CONTEXT_NAME,
- NET_FRAGMENT_EXTENSION_RETURN_CONTEXT_VERSION_1,
- NetExtensionTypeFragment);
-
- NetRxQueueGetExtension(m_handle, &extension, &NetMemoryReturnContextExtensionIn);
- }
-#endif //NETCX 2.6 only
EnlQueueHandle = EnlCreateQueue(Handle, RX);
}
@@ -150,23 +131,7 @@ NetvRxQueue::Advance(
break;
}
}
-#if ((NETADAPTER_VERSION_MAJOR == 2) && (NETADAPTER_VERSION_MINOR >= 6))
- if (m_adapter.PreallocatedRxBuffers)
- {
- NET_RING* dataBufferRing = GetNetMemoryReturnRing();
- while (dataBufferRing->BeginIndex != dataBufferRing->EndIndex)
- {
- NET_FRAGMENT_RETURN_CONTEXT* netMemoryReturnContextOut =
- NetRingGetFragmentReturnContextAtIndex(
- dataBufferRing,
- dataBufferRing->BeginIndex);
- MemoryBuffer* memoryBuffer = reinterpret_cast<MemoryBuffer*>(netMemoryReturnContextOut->Handle);
- GetMemoryFromHandle(m_adapter.m_preallocatedRxBuffers)->ReturnBuffer(memoryBuffer);
- dataBufferRing->BeginIndex = NetRingIncrementIndex(dataBufferRing, dataBufferRing->BeginIndex);
- }
- }
-#endif //NETCX 2.6 only
NetFragmentIteratorSet(&fi);
NetPacketIteratorSet(&pi);
EnlRingDoorBell(EnlQueueHandle, fr->EndIndex);