NDIS driver question..

Hi,

Here is my problem:
We are trying to ship our Windows XP servers with a static IP address set
initially. The customer will give an IP address once they have plugged our
servers into their LAN. The problem is if Windows XP detects a conflicting
IPaddress, it resets the IP address to 0.0.0.0 and disables the IP stack.
At this point, any driver sitting above the TCP/IP driver(TDI client
drivers) cannot send/receive any IP packets.

Since XP does not support DLC, we thought we could write an NDIS
intermediate driver that peeks at all IP packets and if the IP packet is
addressed to our application, process it.

  1. The driver must be able to process the IP packet(read the contents of
    it.)
  2. The driver must be able to send a UDP reply after processing the IP
    packets.

Is this possible… I would highly appreciate any help on this.

Thanks!
SK

This is definitely possible, but most likely more work than you actually
need to do. Is it a requirement for your product that you have network
connectivity in order for it to be configured when it is initially set up?
If not, you could ship the machines with the network adapter disabled.

I have a few other suggestions, but I am under the impression that your
product requires network connectivity initially (thus the static address) in
order to be configured.

I’m not sure what kind of information you’re looking for on the intermediate
driver, so, suffice to say it can be done as far as I know.

Matt Miller
xxxxx@positivenetworks.net

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@hotmail.com
Sent: Wednesday, April 09, 2003 5:11 PM
To: NT Developers Interest List
Subject: [ntdev] NDIS driver question…

Hi,

Here is my problem:
We are trying to ship our Windows XP servers with a static IP address set
initially. The customer will give an IP address once they have plugged our
servers into their LAN. The problem is if Windows XP detects a conflicting
IPaddress, it resets the IP address to 0.0.0.0 and disables the IP stack.
At this point, any driver sitting above the TCP/IP driver(TDI client
drivers) cannot send/receive any IP packets.

Since XP does not support DLC, we thought we could write an NDIS
intermediate driver that peeks at all IP packets and if the IP packet is
addressed to our application, process it.

  1. The driver must be able to process the IP packet(read the contents of
    it.)
  2. The driver must be able to send a UDP reply after processing the IP
    packets.

Is this possible… I would highly appreciate any help on this.

Thanks!
SK


You are currently subscribed to ntdev as: xxxxx@positivenetworks.net
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thanks for the reply…Matt

We thought about sending our servers with network adapters disabled… but
part of the initialization process is to give the servers a valid IP
address. Since we are running embedded XP, the customers have to connect
to the box via LAN port only. This is why we cannot have the network card
disabled.

Is there any sample that I can use for doing this?

I have not done any NDIS driver programming before.

Your help is highly appreciated.

Thanks!
Sriram

The best sample out there for an NDIS intermediate driver is probably
passthru (which you can find in the nt and xp ddk). If you decide to go the
route of the intermediate driver, you may be in for a bumpy road, depending
of course on your level of understanding of NDIS itself.

The passthru sample itself will demonstrate how to layer your intermediate
driver, but it will not demonstrate how to filter IP packets or send
hand-crafted packets. These two things are not impossible, but for the
novice NDIS programmer they could prove to be a (slightly) daunting task.

The only alternative solutions that I’ve been able to come up with for your
problem would be to use DHCP or require a cross-over cable for configuration
(if it’s a wired nic), but I would think those are not acceptable for what
you are doing.

Hope that helps.

Matt Miller
xxxxx@positivenetworks.net

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@hotmail.com
Sent: Wednesday, April 09, 2003 6:37 PM
To: NT Developers Interest List
Subject: [ntdev] RE: NDIS driver question…

Thanks for the reply…Matt

We thought about sending our servers with network adapters disabled… but
part of the initialization process is to give the servers a valid IP
address. Since we are running embedded XP, the customers have to connect
to the box via LAN port only. This is why we cannot have the network card
disabled.

Is there any sample that I can use for doing this?

I have not done any NDIS driver programming before.

Your help is highly appreciated.

Thanks!
Sriram


You are currently subscribed to ntdev as: xxxxx@positivenetworks.net
To unsubscribe send a blank email to xxxxx@lists.osr.com

What about running a service which detects the disabled IP stack and then
restores
the static IP address set initially.
It’s not a driver solution, but it maybe does the job you want it to.

Jan.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@hotmail.com
Sent: Thursday, April 10, 2003 12:11 AM
To: NT Developers Interest List
Subject: [ntdev] NDIS driver question…

Hi,

Here is my problem:
We are trying to ship our Windows XP servers with a static IP address set
initially. The customer will give an IP address once they have plugged our
servers into their LAN. The problem is if Windows XP detects a conflicting
IPaddress, it resets the IP address to 0.0.0.0 and disables the IP stack.
At this point, any driver sitting above the TCP/IP driver(TDI client
drivers) cannot send/receive any IP packets.

Since XP does not support DLC, we thought we could write an NDIS
intermediate driver that peeks at all IP packets and if the IP packet is
addressed to our application, process it.

  1. The driver must be able to process the IP packet(read the contents of
    it.)
  2. The driver must be able to send a UDP reply after processing the IP
    packets.

Is this possible… I would highly appreciate any help on this.

Thanks!
SK


You are currently subscribed to ntdev as: xxxxx@planet.nl
To unsubscribe send a blank email to xxxxx@lists.osr.com