Path: utzoo!mnetor!uunet!husc6!bbn!uwmcsd1!ig!jade!ucbvax!AI.AI.MIT.EDU!JBVB From: JBVB@AI.AI.MIT.EDU ("James B. VanBokkelen") Newsgroups: comp.protocols.tcp-ip Subject: Re: OOB problems, wisdom anyone? Message-ID: <302407.871221.JBVB@AI.AI.MIT.EDU> Date: 21 Dec 87 17:28:46 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 25 There are at least two interpretations of the TCP "URG" bit and its associated pointer. The Berkeley Unix interpretation is as you describe in your posting. Out-of-band reads return the (16-bit value, I guess) that the Urgent pointer points at (the byte & the byte before, maybe?). Another interpretation has the TCP pass the caller the number of bytes that are to be treated as Urgent (from where the caller has read so far), and it is up to the caller to read/process so as to consume the urgent information. This doesn't imply that the urgent information is any particular size, or even that it is all in one place in the pending data (the caller is assumed to be able to figure it out). The only widely-implemented spec that uses Urgent (that I know of) is Telnet, where a number of IAC-x sequences are sent as Urgent data. In the cases I've seen, Telnet uses the 2nd interpretation. Given the disparate interpretations, I've advised people to stay away from it, and we haven't been particularly eager to expand (or document to the user) our implementation thereof. When I read RFC-793, the 2nd (non-BSD) interpretation seems more reasonable, but I wasn't there when it was written. James B. VanBokkelen FTP Software Inc.