Cut down on spam from Solaris ppp kernel bits: unknown DLPI primitives
authorJames Carlson <carlsonj@workingcode.com>
Mon, 15 Nov 2004 00:57:54 +0000 (00:57 +0000)
committerJames Carlson <carlsonj@workingcode.com>
Mon, 15 Nov 2004 00:57:54 +0000 (00:57 +0000)
(as encountered on Solaris 10) aren't errors, and need to flush out any
queued up (undecoded) data on the read side after pushing ppp_ahdlc.

solaris/Makefile.sol2
solaris/Makefile.sol2-64
solaris/Makefile.sol2gcc
solaris/Makefile.sol2gcc-64
solaris/ppp.c
solaris/ppp_ahdlc.c

index b67902b25d35194a58b5a7461260f5cc26cd876a..c3b257732129d27e6eebb4fe3704a608be502438 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Makefile for STREAMS modules for Solaris 2.
 #
-# $Id: Makefile.sol2,v 1.2 2003/03/31 12:07:28 carlsonj Exp $
+# $Id: Makefile.sol2,v 1.3 2004/11/15 00:57:54 carlsonj Exp $
 #
 
 include Makedefs.sol2
@@ -47,11 +47,13 @@ zlib.o:     ../common/zlib.c
        $(CC) $(CFLAGS) -c $?
 
 install:
+       /usr/sbin/modunload -i 0
        cp ppp ppp.conf /kernel/drv
        cp ppp_comp ppp_ahdl /kernel/strmod
        if grep clone:ppp /etc/minor_perm; then :; else \
          echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
        /usr/sbin/rem_drv ppp 2>/dev/null || true
+       /usr/sbin/modunload -i 0
        /usr/sbin/add_drv ppp
 
 SRCS   = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
index 1e94890c9dd2c71d62dbd070616066b04fccc69d..9d614aeae3aac9d2c3117fbb0d5e71cdb0fcaea6 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Makefile for 64-bit STREAMS modules for Solaris 2.
 #
-# $Id: Makefile.sol2-64,v 1.2 2003/03/31 12:07:28 carlsonj Exp $
+# $Id: Makefile.sol2-64,v 1.3 2004/11/15 00:57:54 carlsonj Exp $
 #
 
 include Makedefs.sol2
@@ -62,6 +62,7 @@ $(LP64DIR):
        mkdir -m 755 -p $@
 
 install:
+       /usr/sbin/modunload -i 0
        cp ppp ppp.conf /kernel/drv
        cp ppp_comp ppp_ahdl /kernel/strmod
        cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
@@ -69,6 +70,7 @@ install:
        if grep clone:ppp /etc/minor_perm; then :; else \
          echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
        /usr/sbin/rem_drv ppp 2>/dev/null || true
+       /usr/sbin/modunload -i 0
        /usr/sbin/add_drv ppp
 
 SRCS   = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
index 59f186957b78014fb7b54b3d4a237e591233f6d2..7d7c943442b3afd035913f68c598a40c2f4ef736 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Makefile for STREAMS modules for Solaris 2.
 #
-# $Id: Makefile.sol2gcc,v 1.3 2004/04/14 02:39:39 carlsonj Exp $
+# $Id: Makefile.sol2gcc,v 1.4 2004/11/15 00:57:54 carlsonj Exp $
 #
 
 include Makedefs.sol2
@@ -47,11 +47,13 @@ zlib.o:     ../common/zlib.c
        $(CC) $(CFLAGS) -c $?
 
 install:
+       /usr/sbin/modunload -i 0
        cp ppp ppp.conf /kernel/drv
        cp ppp_comp ppp_ahdl /kernel/strmod
        if grep clone:ppp /etc/minor_perm; then :; else \
          echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
        /usr/sbin/rem_drv ppp 2>/dev/null || true
+       /usr/sbin/modunload -i 0
        /usr/sbin/add_drv ppp
 
 SRCS   = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
index af9ada525902d938bee476498653174dcc11c865..2844a0dbd2f0d5140e7458aea0706a02abac0ac5 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Makefile for 64-bit STREAMS modules for Solaris 2.
 #
-# $Id: Makefile.sol2gcc-64,v 1.2 2003/03/31 12:07:28 carlsonj Exp $
+# $Id: Makefile.sol2gcc-64,v 1.3 2004/11/15 00:57:54 carlsonj Exp $
 #
 
 include Makedefs.sol2
@@ -62,6 +62,7 @@ $(LP64DIR):
        mkdir -m 755 -p $@
 
 install:
+       /usr/sbin/modunload -i 0
        cp ppp ppp.conf /kernel/drv
        cp ppp_comp ppp_ahdl /kernel/strmod
        cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
@@ -69,6 +70,7 @@ install:
        if grep clone:ppp /etc/minor_perm; then :; else \
          echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
        /usr/sbin/rem_drv ppp 2>/dev/null || true
+       /usr/sbin/modunload -i 0
        /usr/sbin/add_drv ppp
 
 SRCS   = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
index fd5286e45f6c6834d71937b1726548ca7083ecf1..85d7fc70643b78f4b30f075d76b95755a9fc9d4d 100644 (file)
@@ -32,7 +32,7 @@
  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: ppp.c,v 1.2 2002/12/06 09:49:16 paulus Exp $
+ * $Id: ppp.c,v 1.3 2004/11/15 00:57:54 carlsonj Exp $
  */
 
 /*
@@ -1430,7 +1430,8 @@ dlpi_request(q, mp, us)
 #endif
 
     default:
-       cmn_err(CE_CONT, "ppp: unknown dlpi prim 0x%x\n", d->dl_primitive);
+       if (us->flags & US_DBGLOG)
+           DPRINT1("ppp: unknown dlpi prim 0x%x\n", d->dl_primitive);
        /* fall through */
     badprim:
        dlpi_error(q, us, d->dl_primitive, DL_BADPRIM, 0);
index 5bd2fa83fb686220fcac733a6b51d0cbc2ac8f8b..50b914a799ab21d181ab868800cb245ffa5ed6eb 100644 (file)
@@ -49,7 +49,7 @@
  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: ppp_ahdlc.c,v 1.3 2002/12/06 09:49:16 paulus Exp $
+ * $Id: ppp_ahdlc.c,v 1.4 2004/11/15 00:57:54 carlsonj Exp $
  */
 
 /*
@@ -58,6 +58,7 @@
 #include <sys/types.h>
 #include <sys/param.h>
 #include <sys/stream.h>
+#include <sys/stropts.h>
 #include <sys/errno.h>
 
 #ifdef SVR4
@@ -244,6 +245,7 @@ static u_int32_t paritytab[8] =
 MOD_OPEN(ahdlc_open)
 {
     ahdlc_state_t   *state;
+    mblk_t *mp;
 
     /*
      * Return if it's already opened
@@ -288,7 +290,13 @@ MOD_OPEN(ahdlc_open)
 #endif /* SUNOS4 */
 
     qprocson(q);
-    
+
+    if ((mp = allocb(1, BPRI_HI)) != NULL) {
+           mp->b_datap->db_type = M_FLUSH;
+           *mp->b_wptr++ = FLUSHR;
+           putnext(q, mp);
+    }
+
     return 0;
 }