Remove strict limitation on minimal multilink MRRU. RFC claims that MRRU

of 1500 must be supported, but allows smaller values to be negotiated.
Enforce specified MRRU for outgoing frames.

MFC after:	2 weeks
This commit is contained in:
Alexander Motin 2009-01-18 12:03:43 +00:00
parent b814ca8a4f
commit aa559f63d1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=187387

View File

@ -128,7 +128,6 @@ MALLOC_DEFINE(M_NETGRAPH_PPP, "netgraph_ppp", "netgraph ppp node");
#define PROT_VJUNCOMP 0x002f
/* Multilink PPP definitions */
#define MP_MIN_MRRU 1500 /* per RFC 1990 */
#define MP_INITIAL_SEQ 0 /* per RFC 1990 */
#define MP_MIN_LINK_MRU 32
@ -1985,6 +1984,12 @@ ng_ppp_mp_xmit(node_p node, item_p item, uint16_t proto)
priv->activeLinks[0], plen));
}
/* Check peer's MRRU for this bundle. */
if (plen > priv->conf.mrru) {
NG_FREE_ITEM(item);
return (EMSGSIZE);
}
/* Extract mbuf. */
NGI_GET_M(item, m);
@ -2540,10 +2545,6 @@ ng_ppp_config_valid(node_p node, const struct ng_ppp_node_conf *newConf)
return (0);
}
/* Check bundle parameters */
if (newConf->bund.enableMultilink && newConf->bund.mrru < MP_MIN_MRRU)
return (0);
/* Disallow changes to multi-link configuration while MP is active */
if (priv->numActiveLinks > 0 && newNumLinksActive > 0) {
if (!priv->conf.enableMultilink