Discussion:
NDIS 5.x to NDIS 6 migration - some questions
(too old to reply)
Gammaraman
2008-11-25 19:01:01 UTC
Permalink
Hi,

I am looking to port my WLAN miniport driver from NDIS 5.1 to NDIS 6.0. I am
trying to figure out what new NB/NBL APIs to use in place of the
NDIS_PACKET/NDIS_BUFFER APIs I was using previously.

Can someone comment on what NDIS6 APIs should be used for the following
NDIS5.x APIs/macros?

1. NdisUnchainBufferAtBack
2. NdisChainBufferAtBack

I know that what was a NET_BUFFER in 5.x is an MDL (chain) in 6.0 but I am
not able to find any APIs that allow tweaking the MDL chain. Do I have to
manually walk the MDL chain?

3. NdisReinitializePacket
4. NDIS_SET_PACKET_HEADER_SIZE

Do you know of any good links/resources that talk about API level changes
from a migration (5.1 to 6) perspective (something along the lines of if you
were using X on 5.1 use Y on 6, etc)?

Thanks.
Luv2Hike
2008-11-25 22:35:53 UTC
Permalink
Post by Gammaraman
Do you know of any good links/resources that talk about API level changes
from a migration (5.1 to 6) perspective (something along the lines of if you
were using X on 5.1 use Y on 6, etc)?
The WDK is always a good place to start. Look at this link
http://msdn.microsoft.com/en-us/library/ms795567.aspx for a good overview.
Also, the latest WDK has a NWF sample driver that you should follow closely
when porting your driver to NWF/NDIS 6.0.
Post by Gammaraman
Hi,
I am looking to port my WLAN miniport driver from NDIS 5.1 to NDIS 6.0. I am
trying to figure out what new NB/NBL APIs to use in place of the
NDIS_PACKET/NDIS_BUFFER APIs I was using previously.
Can someone comment on what NDIS6 APIs should be used for the following
NDIS5.x APIs/macros?
1. NdisUnchainBufferAtBack
2. NdisChainBufferAtBack
I know that what was a NET_BUFFER in 5.x is an MDL (chain) in 6.0 but I am
not able to find any APIs that allow tweaking the MDL chain. Do I have to
manually walk the MDL chain?
3. NdisReinitializePacket
4. NDIS_SET_PACKET_HEADER_SIZE
Do you know of any good links/resources that talk about API level changes
from a migration (5.1 to 6) perspective (something along the lines of if you
were using X on 5.1 use Y on 6, etc)?
Thanks.
Alireza Dabagh [MS]
2008-11-26 06:40:11 UTC
Permalink
There are no NDIS 6 equivalents for the first three functions and the last
one is not used in NDIS 6. You have to modify the MDL list in the NET_BUFFER
yourself.


-ali
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Post by Gammaraman
Hi,
I am looking to port my WLAN miniport driver from NDIS 5.1 to NDIS 6.0. I am
trying to figure out what new NB/NBL APIs to use in place of the
NDIS_PACKET/NDIS_BUFFER APIs I was using previously.
Can someone comment on what NDIS6 APIs should be used for the following
NDIS5.x APIs/macros?
1. NdisUnchainBufferAtBack
2. NdisChainBufferAtBack
I know that what was a NET_BUFFER in 5.x is an MDL (chain) in 6.0 but I am
not able to find any APIs that allow tweaking the MDL chain. Do I have to
manually walk the MDL chain?
3. NdisReinitializePacket
4. NDIS_SET_PACKET_HEADER_SIZE
Do you know of any good links/resources that talk about API level changes
from a migration (5.1 to 6) perspective (something along the lines of if you
were using X on 5.1 use Y on 6, etc)?
Thanks.
Gammaraman
2008-11-27 00:26:00 UTC
Permalink
Thanks, Ali.

In my NDIS 5.x based driver, I use NDIS_SET_PACKET_HEADER_SIZE just before
indicating the RX packet to NDIS. So are you saying that a similar operation
is not required on NDIS 6? How does NDIS then know the size of the MAC header?
Post by Alireza Dabagh [MS]
There are no NDIS 6 equivalents for the first three functions and the last
one is not used in NDIS 6. You have to modify the MDL list in the NET_BUFFER
yourself.
-ali
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Post by Gammaraman
Hi,
I am looking to port my WLAN miniport driver from NDIS 5.1 to NDIS 6.0. I am
trying to figure out what new NB/NBL APIs to use in place of the
NDIS_PACKET/NDIS_BUFFER APIs I was using previously.
Can someone comment on what NDIS6 APIs should be used for the following
NDIS5.x APIs/macros?
1. NdisUnchainBufferAtBack
2. NdisChainBufferAtBack
I know that what was a NET_BUFFER in 5.x is an MDL (chain) in 6.0 but I am
not able to find any APIs that allow tweaking the MDL chain. Do I have to
manually walk the MDL chain?
3. NdisReinitializePacket
4. NDIS_SET_PACKET_HEADER_SIZE
Do you know of any good links/resources that talk about API level changes
from a migration (5.1 to 6) perspective (something along the lines of if you
were using X on 5.1 use Y on 6, etc)?
Thanks.
Alireza Dabagh [MS]
2008-11-27 13:21:06 UTC
Permalink
NDIS doesn't need to know the header size and layers above know how to parse
the MAC header of an Ethernet packet.

-ali
Post by Gammaraman
Thanks, Ali.
In my NDIS 5.x based driver, I use NDIS_SET_PACKET_HEADER_SIZE just before
indicating the RX packet to NDIS. So are you saying that a similar operation
is not required on NDIS 6? How does NDIS then know the size of the MAC header?
Post by Alireza Dabagh [MS]
There are no NDIS 6 equivalents for the first three functions and the last
one is not used in NDIS 6. You have to modify the MDL list in the NET_BUFFER
yourself.
-ali
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Post by Gammaraman
Hi,
I am looking to port my WLAN miniport driver from NDIS 5.1 to NDIS 6.0.
I
am
trying to figure out what new NB/NBL APIs to use in place of the
NDIS_PACKET/NDIS_BUFFER APIs I was using previously.
Can someone comment on what NDIS6 APIs should be used for the following
NDIS5.x APIs/macros?
1. NdisUnchainBufferAtBack
2. NdisChainBufferAtBack
I know that what was a NET_BUFFER in 5.x is an MDL (chain) in 6.0 but I am
not able to find any APIs that allow tweaking the MDL chain. Do I have to
manually walk the MDL chain?
3. NdisReinitializePacket
4. NDIS_SET_PACKET_HEADER_SIZE
Do you know of any good links/resources that talk about API level changes
from a migration (5.1 to 6) perspective (something along the lines of
if
you
were using X on 5.1 use Y on 6, etc)?
Thanks.
Gammaraman
2008-11-28 05:17:01 UTC
Permalink
Thanks, Ali.
Post by Alireza Dabagh [MS]
NDIS doesn't need to know the header size and layers above know how to parse
the MAC header of an Ethernet packet.
-ali
Post by Gammaraman
Thanks, Ali.
In my NDIS 5.x based driver, I use NDIS_SET_PACKET_HEADER_SIZE just before
indicating the RX packet to NDIS. So are you saying that a similar operation
is not required on NDIS 6? How does NDIS then know the size of the MAC header?
Post by Alireza Dabagh [MS]
There are no NDIS 6 equivalents for the first three functions and the last
one is not used in NDIS 6. You have to modify the MDL list in the NET_BUFFER
yourself.
-ali
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Post by Gammaraman
Hi,
I am looking to port my WLAN miniport driver from NDIS 5.1 to NDIS 6.0.
I
am
trying to figure out what new NB/NBL APIs to use in place of the
NDIS_PACKET/NDIS_BUFFER APIs I was using previously.
Can someone comment on what NDIS6 APIs should be used for the following
NDIS5.x APIs/macros?
1. NdisUnchainBufferAtBack
2. NdisChainBufferAtBack
I know that what was a NET_BUFFER in 5.x is an MDL (chain) in 6.0 but I am
not able to find any APIs that allow tweaking the MDL chain. Do I have to
manually walk the MDL chain?
3. NdisReinitializePacket
4. NDIS_SET_PACKET_HEADER_SIZE
Do you know of any good links/resources that talk about API level changes
from a migration (5.1 to 6) perspective (something along the lines of
if
you
were using X on 5.1 use Y on 6, etc)?
Thanks.
s***@gmail.com
2017-01-03 10:31:55 UTC
Permalink
Post by Alireza Dabagh [MS]
NDIS doesn't need to know the header size and layers above know how to parse
the MAC header of an Ethernet packet.
-ali
Post by Gammaraman
Thanks, Ali.
In my NDIS 5.x based driver, I use NDIS_SET_PACKET_HEADER_SIZE just before
indicating the RX packet to NDIS. So are you saying that a similar operation
is not required on NDIS 6? How does NDIS then know the size of the MAC header?
Post by Alireza Dabagh [MS]
There are no NDIS 6 equivalents for the first three functions and the last
one is not used in NDIS 6. You have to modify the MDL list in the NET_BUFFER
yourself.
-ali
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Post by Gammaraman
Hi,
I am looking to port my WLAN miniport driver from NDIS 5.1 to NDIS 6.0.
I
am
trying to figure out what new NB/NBL APIs to use in place of the
NDIS_PACKET/NDIS_BUFFER APIs I was using previously.
Can someone comment on what NDIS6 APIs should be used for the following
NDIS5.x APIs/macros?
1. NdisUnchainBufferAtBack
2. NdisChainBufferAtBack
I know that what was a NET_BUFFER in 5.x is an MDL (chain) in 6.0 but I am
not able to find any APIs that allow tweaking the MDL chain. Do I have to
manually walk the MDL chain?
3. NdisReinitializePacket
4. NDIS_SET_PACKET_HEADER_SIZE
Do you know of any good links/resources that talk about API level changes
from a migration (5.1 to 6) perspective (something along the lines of
if
you
were using X on 5.1 use Y on 6, etc)?
Thanks.
Anyone plese help us in migrating NDIS IM 5.1 driver to NDIS 6.x?
Loading...