CORRECTION: (part 2) pppX fix for altq/pf
Andrew Atrens
atrens at nortel.com
Fri Aug 24 05:57:28 PDT 2007
Oops again. my version has no crit_enter/crit_exit .. so I've needed to
tweak the patch to not touch those (2) lines ..
Index: ppp_tty.c
===================================================================
RCS file: /usr/dfly/repo/src/sys/net/ppp_layer/ppp_tty.c,v
retrieving revision 1.23
diff -u -r1.23 ppp_tty.c
--- ppp_tty.c 22 Dec 2006 23:44:57 -0000 1.23
+++ ppp_tty.c 11 Apr 2007 03:41:54 -0000
@@ -378,12 +368,16 @@
uio->uio_resid < PPP_HDRLEN)
return (EMSGSIZE);
crit_enter();
for (mp = &m0; uio->uio_resid; mp = &m->m_next) {
- MGET(m, MB_WAIT, MT_DATA);
+ if ( mp == &m0 ) {
+ MGETHDR(m, MB_WAIT, MT_DATA);
+ m->m_pkthdr.len = uio->uio_resid - PPP_HDRLEN;
+ m->m_pkthdr.rcvif = NULL;
+ }
+ else
+ MGET(m, MB_WAIT, MT_DATA);
if ((*mp = m) == NULL) {
m_freem(m0);
crit_exit();
return (ENOBUFS);
}
m->m_len = 0;
More information about the Submit
mailing list