jdg0@GTE.COM (Jose Diaz-Gonzalez) (07/17/90)
Hi there, As the subject line says, the version of SLIP for 386/ix authored by John Ioannidis works. We tried it here to link a 386 to a Sun 3, and after some fooling around with the termio settings we managed to make it work. However, there is something wrong with the way it interacts with the rest of the TCP/IP stuff (at least in version 1.1 which is what I have). For one, my mountalld fails to mount any remote file systems, and I'm getting the following msgs just after the booting processes is completed: Can not register service: RPC: Timed out unable to register (SMC_PROG, SM_VERS, UDP). Can not register service: RPC: Timed out Assertion failed: line 420 of pcnfsd.c: "svc_register (TransportHandle, PCNFSDPROG, PCNFSDVERS, Disptach, IPPROTO_UDP) != NULL My impression is that I must tell UDP not to try to use this interface, and I'm obviously not succeeding in doing this. I have included a little piece of code, in the section for minor device 0 of the slip_open routine of the driver, to mark the interface as a point-to-point connection. A similar segment in the section for minor device 1 checks for the right flags. However, when minor device 1 is opened the flag settings appear unchanged. Also, netstat -r or -i does not show the interface as point-to-point. Any ideas?. Cheers, -- Jose +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + + Jose Pedro Diaz-Gonzalez + + + SrMTS + + + GTE Laboratories, Inc. + Tel: (617) 466-2584 + + MS-46 + email: jdiaz@gte.com + + 40 Sylvan Rd. + + + Waltham, MA 02254 + + + + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@close.columbia.edum) (f) (07/20/90)
In article <9481@bunny.GTE.COM> jdg0@GTE.COM (Jose Diaz-Gonzalez) writes: >Hi there, > Hi again! After an 8+ month absense from comp.unix.i386, I'm back! >As the subject line says, the version of SLIP for 386/ix authored by John >Ioannidis works. We tried it here to link a 386 to a Sun 3, and after some Wow! Can I have it? :-) BTW, my driver is NOT Public Domain, it's `copylefted'. You can use it, redistribute it, and play with it, but you CANNOT sell it for a profit (like the GNU stuff). >fooling around with the termio settings we managed to make it work. However, >there is something wrong with the way it interacts with the rest of the TCP/IP >stuff (at least in version 1.1 which is what I have). For one, my mountalld >fails to mount any remote file systems, and I'm getting the following msgs >just after the booting processes is completed: > > >unable to register (SMC_PROG, SM_VERS, UDP). > >Can not register service: RPC: Timed out >Assertion failed: line 420 of pcnfsd.c: "svc_register (TransportHandle, >PCNFSDPROG, PCNFSDVERS, Disptach, IPPROTO_UDP) != NULL > >My impression is that I must tell UDP not to try to use this interface, and Yes, the problem here is that the SLIP driver does not handle loopbacks and broadcasts properly. I ran into this problem when I wrote a network device driver for AIX 1.1 a few months ago; (that's a 4BSD-like driver, not a STREAMS-driver, by the way). By `loopback' I mean that a packet destined for the same interface should be looped back. In other words, if you ping your own SLIP address, you should get packets back. This was *not* the case with my driver. It should be trivially easy to fix (check if the destination address is the same as our address, and if so, loop the packet back). THe broadcast problem is slightly harder, and I'm not sure how to solve it. The SLIP interface is a point-to-point interface, but I couldn't find a way of setting the POINTOPOINT flag in the if_flags field. broadcast makes no sense in a POINTOPOINT link, unless, of course, we fake it by looping back and also transmitting the packet. >I'm obviously not succeeding in doing this. I have included a little piece of >code, in the section for minor device 0 of the slip_open routine of the driver, >to mark the interface as a point-to-point connection. A similar segment in the How??? >section for minor device 1 checks for the right flags. However, when minor >device 1 is opened the flag settings appear unchanged. Also, netstat -r or -i >does not show the interface as point-to-point. Any ideas?. Cheers, > See above. Unfortunately I have no time to play with the code any more. I *will* be wring a new STREAMS driver in the near future, so I might get a chance to polish the slip code and repost it. No promises, though! /ji In-Real-Life: John "Heldenprogrammer" Ioannidis E-Mail-To: ji@cs.columbia.edu V-Mail-To: +1 212 854 5510 P-Mail-To: 450 Computer Science \n Columbia University \n New York, NY 10027