aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/ppp/async.c
diff options
context:
space:
mode:
authorAtsushi Murai <amurai@FreeBSD.org>1995-02-26 12:18:08 +0000
committerAtsushi Murai <amurai@FreeBSD.org>1995-02-26 12:18:08 +0000
commit53c9f6c0c48df668bb8fa282cd0b12cb8690bcce (patch)
treed05da3a88d3d54962fad8582d501f1b7ad9500b9 /usr.sbin/ppp/async.c
parent550f8550ec70dde086df88fb9d38b44410d299bc (diff)
downloadsrc-53c9f6c0c48df668bb8fa282cd0b12cb8690bcce.tar.gz
src-53c9f6c0c48df668bb8fa282cd0b12cb8690bcce.zip
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)
Notes
Notes: svn path=/head/; revision=6735
Diffstat (limited to 'usr.sbin/ppp/async.c')
-rw-r--r--usr.sbin/ppp/async.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/usr.sbin/ppp/async.c b/usr.sbin/ppp/async.c
index d51816286509..d6777b511ec7 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--;
+ }
}
}