On Fri, 2011-07-22 at 08:30 -0300, SUPORTE - Kernel Informática wrote: > I had a debian squeeze with 3 slips connection, sl0, sl1 and sl2 on > working VPND solution. Its using the kernel version > linux-image-2.6.32-5-amd64_2.6.32-31_amd64 so I upgrade it to > linux-image-2.6.32-5-amd64_2.6.32-35_amd64 and the slip interface dont > fork to sl1 any more! example: When I start the first connection its > works well with sl0 interface so when i start second and third > connections its bind interface sl0 too chasing the first one! they dont > fork to sl1 and sl2 any more! > Maybe this is a BUG on this patch? > > When I found this problem I stop to upgrade my others squeeze solution > using VPND with slip interface!
vpnd (source: <http://vpnd.linuxsys.com/archive/vpnd-1.1.4.tar.gz>) expects to get the SLIP unit number when setting SLIP line discipline: /* set line discipline to SLIP, react to errors */ #ifdef LINUX i=N_SLIP; if((anchor->proxy=ioctl(anchor->tty,TIOCSETD,&i))<0) JUMP("ioctl(TIOCSETD)",err3); #elif defined(FreeBSD) || defined(OSNetBSD) || defined(OSOpenBSD) ... /* create interface name */ memset(&ifr,0,sizeof(ifr)); sprintf(ifr.ifr_name,"sl%u",anchor->proxy); But in commit 057bef938896e6266ae24ec4266d24792d27c29a the behaviour of slip_open() and hence ioctl TIOCSETD was changed so that the unit number is no longer returned. It looks like applications are supposed to use the ioctl SIOCGIFNAME to find the net device name. But clearly the driver was previously returning the unit number and applications did depend on this. So I think this change has to be reverted and the TTY layer will have to accept positive return values from ldisc open(). Ben. -- Ben Hutchings Absolutum obsoletum. (If it works, it's out of date.) - Stafford Beer
signature.asc
Description: Digital signature