o Don't go multilink if the peer hasn't asked for it

o Don't go multilink if the peer hasn't agreed
o When negotiating multilink, don't try to push the peers
  MRU up according to our `set mtu' setting.  Instead, accept
  whatever MRU they want and push their MRRU up instead.
o When *not* negotiating multilink, REJ short sequence number
  REQs.
This commit is contained in:
Brian Somers 1998-04-23 18:55:50 +00:00
parent 49052c9523
commit dbf60d74f8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/cvs2svn/branches/MP/; revision=35404
2 changed files with 6 additions and 5 deletions

View File

@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: datalink.c,v 1.1.2.42 1998/04/19 15:24:39 brian Exp $
* $Id: datalink.c,v 1.1.2.43 1998/04/23 03:22:48 brian Exp $
*/
#include <sys/types.h>
@ -444,7 +444,7 @@ datalink_AuthOk(struct datalink *dl)
{
/* XXX: Connect to another ppp instance HERE */
if (dl->physical->link.lcp.want_mrru) {
if (dl->physical->link.lcp.want_mrru && dl->physical->link.lcp.his_mrru) {
if (!mp_Up(&dl->bundle->ncp.mp,
dl->physical->link.lcp.want_mrru,
dl->physical->link.lcp.his_mrru,

View File

@ -17,7 +17,7 @@
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* $Id: lcp.c,v 1.55.2.43 1998/04/19 23:08:30 brian Exp $
* $Id: lcp.c,v 1.55.2.44 1998/04/23 03:22:55 brian Exp $
*
* TODO:
* o Limit data field length by MRU
@ -464,6 +464,7 @@ LcpDecodeConfig(struct fsm *fp, u_char *cp, int plen, int mode_type,
break;
case MODE_REJ:
lcp->his_reject |= (1 << type);
lcp->want_mrru = 0; /* Ah well, no multilink :-( */
break;
}
break;
@ -476,7 +477,7 @@ LcpDecodeConfig(struct fsm *fp, u_char *cp, int plen, int mode_type,
switch (mode_type) {
case MODE_REQ:
mtu = lcp->fsm.bundle->cfg.mtu;
if (mru < MIN_MRU || mru < mtu) {
if (mru < MIN_MRU || (!lcp->want_mrru && mru < mtu)) {
/* Push him up to MTU or MIN_MRU */
lcp->his_mru = mru < mtu ? mtu : MIN_MRU;
*sp = htons((u_short)lcp->his_mru);
@ -758,7 +759,7 @@ LcpDecodeConfig(struct fsm *fp, u_char *cp, int plen, int mode_type,
switch (mode_type) {
case MODE_REQ:
if (IsAccepted(mp->cfg.shortseq)) {
if (lcp->want_mrru && IsAccepted(mp->cfg.shortseq)) {
lcp->his_shortseq = 1;
memcpy(dec->ackend, cp, length);
dec->ackend += length;