Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!mips!sgi!shinobu!odin!hwajin From: hwajin@sgi.com (Hwa-jin Bae) Newsgroups: comp.protocols.tcp-ip Subject: Re: STREAMS flow control in SunOS 4.1.1 Message-ID: <1991Jun28.193405.24891@odin.corp.sgi.com> Date: 28 Jun 91 19:34:05 GMT References: <1991Jun28.000815.9624@netsoft.wimsey.bc.ca> Sender: news@odin.corp.sgi.com (Net News) Reply-To: hwajin@pei.com Organization: Protocol Engines, Inc. Lines: 42 In-Reply-To: robert@netsoft.wimsey.bc.ca's message of 28 Jun 91 00: 08:15 GMT >>>>> On 28 Jun 91 00:08:15 GMT, robert@netsoft.wimsey.bc.ca (Robert B. Nelson) said: Robert> The problem is I_POPing timod, don't do it! "tirdwr" Robert> translates the calls between the stream head and "timod", if Robert> you pop "timod" then the streams driver or mux which is next Robert> in the stream gets "timod" messages that it doesn't know how Robert> to deal with. on output side "tirdwr" simply hands over data to downstream (do putnext()), unless the size is 0 (as documented in the manual), in which case it discards it, while filtering out M_PROTO and M_PCPROTO msg's. on input side "tirdwr" does various things with M_PROTO/M_PCPROTO msg's, handling data, expedited data indication, orderly release, and disconnect indication in the way described in the manaul. there's really isn't any translation being done inside "tirdwr". "timod" and "tirdwr" provide distinct services by handling disjoint set of messages. if you're not doing any further protocol specific stuff and simply doing write()/read() on the end point, it's shouldn't matter whether you have "timod" below tirdwr or not, although i haven't personally tried to do it this way. most people just push "tirdwr" on a descriptor returned by t_open() directly, which means on top of "timod". Robert> Flow control is handled within "timod" which you've removed. "timod" doesn't really do any flow control. the place flow control happens (in most implementations) is below or at tpimux level. usually by the protocols themselves if they're capable. just my $.02. *hwajin -- protocol engines, inc.