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:
mav 2009-01-18 12:03:43 +00:00
parent 61329c22c2
commit facc5c0f61

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