From pst@Shockwave.COM  Tue Feb 11 02:55:00 1997
Received: from precipice.shockwave.com (ppp-206-170-5-55.rdcy01.pacbell.net [206.170.5.55])
          by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id CAA14563
          for <FreeBSD-gnats-submit@freebsd.org>; Tue, 11 Feb 1997 02:54:59 -0800 (PST)
Received: (from pst@localhost) by precipice.shockwave.com (8.8.4/8.7.3) id CAA00379; Tue, 11 Feb 1997 02:54:55 -0800 (PST)
Message-Id: <199702111054.CAA00379@precipice.shockwave.com>
Date: Tue, 11 Feb 1997 02:54:55 -0800 (PST)
From: Paul Traina <pst@Shockwave.COM>
Reply-To: pst@Shockwave.COM
To: FreeBSD-gnats-submit@freebsd.org
Subject: if_ppp LKM does not allow ppp line discipline to be set
X-Send-Pr-Version: 3.2

>Number:         2710
>Category:       i386
>Synopsis:       if_ppp LKM does not allow ppp line discipline to be set
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pst
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Feb 11 03:00:01 PST 1997
>Closed-Date:    Tue Jun 3 21:15:10 PDT 1997
>Last-Modified:  Tue Jun  3 21:15:33 PDT 1997
>Originator:     Paul Traina
>Release:        FreeBSD 3.0-CURRENT i386
>Organization:
Juniper Networks
>Environment:

-current as of last week

>Description:

I was playing about with the kernel mode PPP code, and had forgotten
to compile kernel mode PPP support into the kernel I was running.
Never fear, I had a if_ppp lkm handy for that kernel, so I modloaded
it.

pppd recognized that the kernel ppp code had been installed, but gave the
following error:

Feb 11 02:27:27 precipice pppd[862]: pppd 2.2.0 started by pst, uid 0
Feb 11 02:27:31 precipice pppd[862]: ioctl(TIOCSETD): Operation not supported by device

A quick perusal of the kernel source shows pppasyncattach appearing as
the argument to a PSEUDO_SET macro, but there are other attach routines
in if_ppp.c,  so my totally unreasearched GUESS is that one of the other
PSEUDO_SET vectors is wiping out the first, or some such rot (sorry, I
didn't look).

I worked around the problem by hard-compiling kernel mode ppp back into
that kernel, which suggested to me that it's an LKM initialization problem
only.

Feb 11 02:46:46 precipice pppd[250]: pppd 2.2.0 started by pst, uid 0
Feb 11 02:46:49 precipice pppd[250]: Connect: ppp0 <--> /dev/cuaa1
Feb 11 02:46:53 precipice pppd[250]: local  IP address 206.170.5.55
Feb 11 02:46:53 precipice pppd[250]: remote IP address 206.171.128.66



>How-To-Repeat:

Run kernel with no kernel ppp (pppd) support.
modload /lkm/if_ppp.o
pppd /dev/cuaa1 115200 ...other options...

get "ioctl(TIOCSETD): Operation not supported by device" message

>Fix:
>Release-Note:
>Audit-Trail:

From: Garrett Wollman <wollman@lcs.mit.edu>
To: pst@Shockwave.COM
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: i386/2710: if_ppp LKM does not allow ppp line discipline to be set
Date: Tue, 11 Feb 1997 10:59:24 -0500

 <<On Tue, 11 Feb 1997 02:54:55 -0800 (PST), Paul Traina <pst@Shockwave.COM> said:
 
 > A quick perusal of the kernel source shows pppasyncattach appearing as
 > the argument to a PSEUDO_SET macro, but there are other attach routines
 > in if_ppp.c,  so my totally unreasearched GUESS is that one of the other
 > PSEUDO_SET vectors is wiping out the first, or some such rot (sorry, I
 > didn't look).
 
 Aha.  This is indeed erroneous.  There can only be one entry point to
 an LKM, which means that there can only be one PSEUDO_SET per LKM
 (see /sys/sys/kernel.h under #ifdef PSEUDO_LKM).  The ppp driver's
 attach routine needs to be written to perform ALL initialization at
 once.
 
 -GAWollman
 
 --
 Garrett A. Wollman   | O Siem / We are all family / O Siem / We're all the same
 wollman@lcs.mit.edu  | O Siem / The fires of freedom 
 Opinions not those of| Dance in the burning flame
 MIT, LCS, ANA, or NSA|                     - Susan Aglukark and Chad Irschick
Responsible-Changed-From-To: freebsd-bugs->pst 
Responsible-Changed-By: pst 
Responsible-Changed-When: Fri Feb 14 10:07:41 PST 1997 
Responsible-Changed-Why:  
I'll try to pull my fair share, since I know how to fix this. 
State-Changed-From-To: open->closed 
State-Changed-By: pst 
State-Changed-When: Tue Jun 3 21:15:10 PDT 1997 
State-Changed-Why:  
Peter fixed. 
>Unformatted:
