- Use correct bus number in NtImmediateReadPciSlotInformation, NdisImmediateWritePciSlotInformation, NdisReadPciSlotInformation and NdisWritePciSlotInformation.
svn path=/trunk/; revision=11676
payload should be copied in MiniportTransferData.
Changed tcpip to not consider the ethernet header anywhere above
ProtocolReceive.
svn path=/trunk/; revision=11650
transport/tcp/* remove some spew, eliminate deadlock condition (calling afd
with socket locked).
network/router.c -- GvG noticed a wrong condition at line 153:
This code used to stop when finding a matching bit, not a non-matching one.
net/tcpip:
makefile: change order of .a files. Could break compilation before under
the right circumstances.
turn off some spew
datalink/lan.c:
NdisTransferData does not count header size when figuring out how many bytes
to copy. Most of the tcpip code does, so we do something wierd here. We
must fix this later in a better way.
svn path=/trunk/; revision=11636
Removed unneeded precomp.h from drivers/lib/ip.
Removed some memtrack and other spew.
Removed datagram send pipe part, and accompanying address file queue.
Simplified send pipe (major changes):
- Neighbor is solely responsible for firing normal ip datagrams to the peer.
- Transmit is the only place normal ip datagrams are passed to neighbor from.
- Simplified fragmentation code.
- Made callbacks explicit and always called in neighbor and transmit.
- Clarified ownership of transmitted NdisPacket.
- Ditto IPPackets here and in icmp.
- PC(Packet)->DLComplete is *only* used by lan.c and loopback.c
- Simplified loopback send mechanism
Added the beginnings of a test suite
svn path=/trunk/; revision=11582
- Add multicast support.
- Add media state detection support.
- Protect the adapter context with spinlock and move code talking to card to inside NdisMSynchronizeWithInterrupt calls where necessary.
svn path=/trunk/; revision=11301
- Gain the bus type and slot number using IoGetDeviceProperty from the PnP stack.
- Read the registry values for NDIS miniports from the correct place. See www.plasmic.com/~vizzini/ntnetarch.html for details.
- Update NdisReadPciSlotInformation/NdisWritePciSlotInformation to use the adapter slot information.
svn path=/trunk/; revision=11251
and you guys were using an old one. sedwards helped me figure that out.
I've been cleaning these dirs explicitly since i'm working in them.
This should fix the clean for those.
svn path=/trunk/; revision=11212
Leaned interface between tcpip and ip lib to not include ndis buffers and
such, as well as datagram request structs. This both eliminates code
setting up these structs as well as making use of ip lib easier from userland.
Moved ndis buffer routines to tcpip/buffer.c. They are a bit separate from
the neutral routines functions.
svn path=/trunk/; revision=11171
from kernel land, or from userland with the help of drivers/lib/undis.
Hopefully, I'll be able to simulate a sufficient environment with undis
that we'll be able to test most problems with the ip system in userland.
This follows my general priniciple of getting most interesting code into
a place where we can really examine it and work with it. The interface
to the ip library is still a bit raw. I was hoping to do a better job
of isolating it and especially digging nt kernel dependencies out into
the remaining framework files (tcpip/dispatch.c, tcpip/fileobjs.c), but
it was taking too long. Hopefully I can return to that later.
svn path=/trunk/; revision=11127
the ambiguously linked library starts being used in km. There are further
cleanups i need to do, but hopefully having this checked in will help others
who are eager to help work on it.
svn path=/trunk/; revision=11126
Added a work item in lan.c re: dpc callback from the adapter. This keeps
us from needing mdl functions at dpc level.
Track IRPs to be completed with memtrack.
svn path=/trunk/; revision=11051
event: Don't report eof if we have bytes to deliver still.
Made a mistake moving statuses around. Requeue the request on
STATUS_PENDING.
svn path=/trunk/; revision=11016
Read : notify ourselves that the buffer is empty and reset the pointers.
Tdi : since the handler part is an inner function, don't return from it
but instead set Status and return afterward.
svn path=/trunk/; revision=11015
case because we can't contend with outselves in passive level.
Realized subtle bug in select.
Select needs a referenced file object rather than a handle. Will change
this when i get time.
svn path=/trunk/; revision=10993