[DC21x4][ne2000][netkvm][nvnet][pcnet][rtl8139] Implement OID_GEN_PHYSICAL_MEDIUM

CORE-20206
This commit is contained in:
Eric Kohl
2025-05-25 23:48:38 +02:00
parent 3194e0556f
commit 99e2606982
6 changed files with 33 additions and 4 deletions

View File

@@ -40,6 +40,7 @@ static const NDIS_OID DcpSupportedOidList[] =
OID_802_3_CURRENT_ADDRESS, OID_802_3_CURRENT_ADDRESS,
OID_802_3_MULTICAST_LIST, OID_802_3_MULTICAST_LIST,
OID_802_3_MAXIMUM_LIST_SIZE, OID_802_3_MAXIMUM_LIST_SIZE,
OID_GEN_PHYSICAL_MEDIUM,
/* Statistics */ /* Statistics */
OID_GEN_XMIT_OK, OID_GEN_XMIT_OK,
@@ -357,6 +358,10 @@ DcQueryInformation(
InfoLength = ETH_LENGTH_OF_ADDRESS; InfoLength = ETH_LENGTH_OF_ADDRESS;
break; break;
case OID_GEN_PHYSICAL_MEDIUM:
GenericInfo.Ulong = NdisPhysicalMedium802_3;
break;
case OID_GEN_XMIT_OK: case OID_GEN_XMIT_OK:
case OID_GEN_RCV_OK: case OID_GEN_RCV_OK:
case OID_GEN_XMIT_ERROR: case OID_GEN_XMIT_ERROR:

View File

@@ -53,7 +53,8 @@ static ULONG MiniportOIDList[] = {
OID_802_3_CURRENT_ADDRESS, OID_802_3_CURRENT_ADDRESS,
OID_802_3_MULTICAST_LIST, OID_802_3_MULTICAST_LIST,
OID_802_3_MAXIMUM_LIST_SIZE, OID_802_3_MAXIMUM_LIST_SIZE,
OID_802_3_MAC_OPTIONS OID_802_3_MAC_OPTIONS,
OID_GEN_PHYSICAL_MEDIUM
}; };
DRIVER_INFORMATION DriverInfo = { NULL, NULL, { NULL, NULL } }; DRIVER_INFORMATION DriverInfo = { NULL, NULL, { NULL, NULL } };
@@ -606,6 +607,9 @@ static NDIS_STATUS NTAPI MiniportQueryInformation(
NDIS_DbgPrint(MID_TRACE, ("OID_802_3_MAC_OPTIONS.\n")); NDIS_DbgPrint(MID_TRACE, ("OID_802_3_MAC_OPTIONS.\n"));
Status = NDIS_STATUS_NOT_SUPPORTED; Status = NDIS_STATUS_NOT_SUPPORTED;
break; break;
case OID_GEN_PHYSICAL_MEDIUM:
GenericULONG = NdisPhysicalMedium802_3;
break;
default: default:
NDIS_DbgPrint(MIN_TRACE, ("Unknown OID (0x%X).\n", Oid)); NDIS_DbgPrint(MIN_TRACE, ("Unknown OID (0x%X).\n", Oid));
Status = NDIS_STATUS_INVALID_OID; Status = NDIS_STATUS_INVALID_OID;

View File

@@ -415,6 +415,9 @@ NDIS_STATUS ParaNdis_OidQueryCommon(PARANDIS_ADAPTER *pContext, tOidDesc *pOid)
case OID_802_3_MAXIMUM_LIST_SIZE: case OID_802_3_MAXIMUM_LIST_SIZE:
SETINFO(ul, PARANDIS_MULTICAST_LIST_SIZE); SETINFO(ul, PARANDIS_MULTICAST_LIST_SIZE);
break; break;
case OID_GEN_PHYSICAL_MEDIUM:
SETINFO(ul, NdisPhysicalMedium802_3);
break;
case OID_PNP_CAPABILITIES: case OID_PNP_CAPABILITIES:
pInfo = &u.PMCaps; pInfo = &u.PMCaps;
ulSize = sizeof(u.PMCaps); ulSize = sizeof(u.PMCaps);

View File

@@ -42,6 +42,7 @@ static const NDIS_OID NvpSupportedOidList[] =
OID_802_3_CURRENT_ADDRESS, OID_802_3_CURRENT_ADDRESS,
OID_802_3_MULTICAST_LIST, OID_802_3_MULTICAST_LIST,
OID_802_3_MAXIMUM_LIST_SIZE, OID_802_3_MAXIMUM_LIST_SIZE,
OID_GEN_PHYSICAL_MEDIUM,
/* Statistics */ /* Statistics */
OID_GEN_XMIT_OK, OID_GEN_XMIT_OK,
@@ -1199,6 +1200,12 @@ MiniportQueryInformation(
break; break;
} }
case OID_GEN_PHYSICAL_MEDIUM:
{
GenericInfo.Ulong = NdisPhysicalMedium802_3;
break;
}
case OID_TCP_TASK_OFFLOAD: case OID_TCP_TASK_OFFLOAD:
{ {
return NvNetGetTcpTaskOffload(Adapter, return NvNetGetTcpTaskOffload(Adapter,

View File

@@ -76,7 +76,8 @@ static ULONG MiniportOIDList[] =
OID_802_3_MAC_OPTIONS, OID_802_3_MAC_OPTIONS,
OID_802_3_RCV_ERROR_ALIGNMENT, OID_802_3_RCV_ERROR_ALIGNMENT,
OID_802_3_XMIT_ONE_COLLISION, OID_802_3_XMIT_ONE_COLLISION,
OID_802_3_XMIT_MORE_COLLISIONS OID_802_3_XMIT_MORE_COLLISIONS,
OID_GEN_PHYSICAL_MEDIUM
}; };
@@ -335,9 +336,13 @@ MiniportQueryInformation(
GenericULONG = Adapter->Statistics.XmtMoreThanOneRetry; GenericULONG = Adapter->Statistics.XmtMoreThanOneRetry;
break; break;
case OID_GEN_PHYSICAL_MEDIUM:
GenericULONG = NdisPhysicalMedium802_3;
break;
default: default:
{ {
DPRINT1("Unknown OID\n"); DPRINT1("Unknown OID 0x%x\n", Oid);
Status = NDIS_STATUS_NOT_SUPPORTED; Status = NDIS_STATUS_NOT_SUPPORTED;
break; break;
} }

View File

@@ -61,7 +61,8 @@ static ULONG SupportedOidList[] =
OID_802_3_MAC_OPTIONS, OID_802_3_MAC_OPTIONS,
OID_802_3_RCV_ERROR_ALIGNMENT, OID_802_3_RCV_ERROR_ALIGNMENT,
OID_802_3_XMIT_ONE_COLLISION, OID_802_3_XMIT_ONE_COLLISION,
OID_802_3_XMIT_MORE_COLLISIONS OID_802_3_XMIT_MORE_COLLISIONS,
OID_GEN_PHYSICAL_MEDIUM
}; };
NDIS_STATUS NDIS_STATUS
@@ -200,6 +201,10 @@ MiniportQueryInformation (
genericUlong = MAXIMUM_MULTICAST_ADDRESSES; genericUlong = MAXIMUM_MULTICAST_ADDRESSES;
break; break;
case OID_GEN_PHYSICAL_MEDIUM:
genericUlong = NdisPhysicalMedium802_3;
break;
case OID_GEN_XMIT_OK: case OID_GEN_XMIT_OK:
genericUlong = adapter->TransmitOk; genericUlong = adapter->TransmitOk;
break; break;