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:
parent
61329c22c2
commit
facc5c0f61
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user