> When using libdlpi, if a link is opened (dlpi_open), and bound to a > given sap (dlpi_bind), I strongly suspect that all matching messages > (packets) on that link are queued for consumption (using dlpi_recv() > to drain the queue).
Yes. > What I can't find is what happens if too many messages get queued > before dlpi_recv() can drain them -- the obvious thing is to drop > subsequent packets until there's enough room to enqueue more, but how > would one detect that condition? The packets will queue up at the stream head until it's full. They will then queue up at each downstream module with a service procedure -- in order -- until all queues are filled. At that point, the driver (GLDv3 if the driver uses it) will find that canputnext() returns zero when it attempts to pass the packet upstream, and it will drop packet. -- meem _______________________________________________ networking-discuss mailing list [email protected]
