svn commit: r187387 - head/sys/netgraph

Alexander Motin mav at FreeBSD.org
Sun Jan 18 04:03:47 PST 2009


Author: mav
Date: Sun Jan 18 12:03:43 2009
New Revision: 187387
URL: http://svn.freebsd.org/changeset/base/187387

Log:
  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

Modified:
  head/sys/netgraph/ng_ppp.c

Modified: head/sys/netgraph/ng_ppp.c
==============================================================================
--- head/sys/netgraph/ng_ppp.c	Sun Jan 18 11:47:39 2009	(r187386)
+++ head/sys/netgraph/ng_ppp.c	Sun Jan 18 12:03:43 2009	(r187387)
@@ -128,7 +128,6 @@ MALLOC_DEFINE(M_NETGRAPH_PPP, "netgraph_
 #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,
 		    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 s
 			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


More information about the svn-src-head mailing list