[net.bugs.4bsd] Unix Netork/Kernel problem

caloccia@bbnccv.UUCP (William P. Caloccia) (08/09/86)

I'm porting code to support the HMP protocol,
from a Sun-2 running SunOS 1.3, to a Sun-2 running  SunOS 3.0.

The code was running on the Sun with the earlier OS, but will not
work on the Sun 3.0.

In particular, the problem appears on the input side, after processing
by hmp_input().

	hmp_input() gets called from the IP layer to extract
	struct sockaddr info from the packet. It then calls sbappendaddr(),
	and if successful, it invokes sorwakeup().

The mbuf chain appears ok until the call to sbappendaddr, and sbappendaddr
 seems to work ok.

Problem #1: the (privledged) user program's recvfrom() gets correct
 information in the struct sockaddr, but receives NO data when there IS data.

Problem #2: apparently if the total data in the incoming hmp packet is very
 short (say 8 bytes), then the system crashes with a "PANIC: RECEIVE 2A"
 apparently from soreceive(). (so the mbuff chain appears to get munged)

Does anyone know of any changes in the sun network code (between
 versions 1.3 and 3.0) that might cause this program to break ?

Have any of the data structures (mbuf, sockaddr, socket, sockbuf)
 or calling procedures changed (hmp_input, sbappendaddr, sorwakeup) ?

thanks,
--bill	(caloccia@bbnccv.arpa)

* trademarks appear in preceeding article *
-- 
William P. Caloccia