* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-#define RCSID "$Id: lcp.c,v 1.52 2000/04/15 01:27:12 masputra Exp $"
+#define RCSID "$Id: lcp.c,v 1.53 2000/04/24 07:41:09 paulus Exp $"
/*
* TODO:
#ifdef CBCP_SUPPORT
ao->neg_cbcp = 1;
#endif
-#ifdef HAVE_MULTILINK
ao->neg_endpoint = 1;
-#endif
BZERO(xmit_accm[unit], sizeof(xmit_accm[0]));
xmit_accm[unit][3] = 0x60000000;
{
lcp_options *wo = &lcp_wantoptions[f->unit];
lcp_options *go = &lcp_gotoptions[f->unit];
+ lcp_options *ao = &lcp_allowoptions[f->unit];
wo->magicnumber = magic();
wo->numloops = 0;
go->neg_ssnhf = 0;
go->neg_endpoint = 0;
}
+ if (noendpoint)
+ ao->neg_endpoint = 0;
peer_mru[f->unit] = PPP_MRU;
auth_reset(f->unit);
}
break;
case CI_EPDISC:
- if (!ao->neg_endpoint || !multilink ||
+ if (!ao->neg_endpoint ||
cilen < CILEN_CHAR ||
cilen > CILEN_CHAR + MAX_ENDP_LEN) {
orc = CONFREJ;
if (go->neg_mrru)
notice("oops, multilink negotiated only for receive");
multilink = 0;
+ if (demand) {
+ /* already have a bundle */
+ cfg_bundle(0, 0, 0, 0);
+ return 0;
+ }
make_new_bundle(0, 0, 0, 0);
set_ifunit(1);
return 0;