diff options
author | amurai <amurai@FreeBSD.org> | 1995-02-26 12:18:08 +0000 |
---|---|---|
committer | amurai <amurai@FreeBSD.org> | 1995-02-26 12:18:08 +0000 |
commit | eeb422fed8735188e4e141578d0383ae57ba8343 (patch) | |
tree | d05da3a88d3d54962fad8582d501f1b7ad9500b9 /usr.sbin/ppp/async.c | |
parent | 7c16fe40ea66e6edc77ed310b654360adf11b9f9 (diff) | |
download | FreeBSD-src-eeb422fed8735188e4e141578d0383ae57ba8343.zip FreeBSD-src-eeb422fed8735188e4e141578d0383ae57ba8343.tar.gz |
New user Process PPP based on iij-ppp0.94beta2.
o Supporting SYNC SIO device (But need a device driver)
- add "set speed sync"
o Fixing bug for Predictor-1 function.
o Add new parameter that re-sent interval for set timeout commands.
o Improving RTT (Round Trip Time) and reducing processor time.
- Previous Timer service was using polling, and now using
SIGALRM ;-)
- A 0.94beta2 will not work correctly....
-- Follows are additinal feature not including 0.94beta2
o Support Proxy ARP
- add "enable/disable proxy" commands
o Marging common routine in CHAP/PAP.
o Enhancing LCP/IPCP log information.
o Support local Authfication connection on port 300x and tty.
- You can set up pair of your "hostname -s" and
password in ppp.secret. if either ppp.secret file nor
your hostname line don't exist, It will notify a message
and working as same as previous version.(Backword compatibility)
- If you did set up them, It's allow connection but nothing to do
except help and passwd command.
- add "passwd yourpasswd" commands
o Support afilter - keep Alive filter that a packet can send/receiving
according to ifilter/ofilter but doesn't count it as preventing idle
timer expires.
- Same syntax of other filters.
o Fixing bugs reported by current user for previous one. Thanks !!
Reviewed by: Atsushi Murai (amurai@spec.co.jp)
Diffstat (limited to 'usr.sbin/ppp/async.c')
-rw-r--r-- | usr.sbin/ppp/async.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/usr.sbin/ppp/async.c b/usr.sbin/ppp/async.c index d518162..d6777b5 100644 --- a/usr.sbin/ppp/async.c +++ b/usr.sbin/ppp/async.c @@ -18,20 +18,20 @@ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * $Id:$ - * + * */ #include "fsm.h" #include "hdlc.h" #include "lcp.h" #include "lcpproto.h" #include "modem.h" +#include "vars.h" #define HDLCSIZE (MAX_MRU*2+6) struct async_state { int mode; int length; - struct mbuf *hpacket; u_char hbuff[HDLCSIZE]; /* recv buffer */ u_char xbuff[HDLCSIZE]; /* xmit buffer */ u_long my_accmap; @@ -47,6 +47,7 @@ AsyncInit() struct async_state *stp = &AsyncState; stp->mode = MODE_HUNT; + stp->length = 0; stp->my_accmap = stp->his_accmap = 0xffffffff; } @@ -176,10 +177,17 @@ int cnt; struct mbuf *bp; OsAddInOctets(cnt); - while (cnt > 0) { - bp = AsyncDecode(*buff++); - if (bp) - HdlcInput(bp); - cnt--; + if (DEV_IS_SYNC) { + bp = mballoc(cnt, MB_ASYNC); + bcopy(buff, MBUF_CTOP(bp), cnt); + bp->cnt = cnt; + HdlcInput(bp); + } else { + while (cnt > 0) { + bp = AsyncDecode(*buff++); + if (bp) + HdlcInput(bp); + cnt--; + } } } |