[Midnightbsd-cvs] src [9008] trunk/sys/net/if_stf.c: permit change of MTU in 6to4 relay.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Thu Sep 29 21:45:31 EDT 2016
Revision: 9008
http://svnweb.midnightbsd.org/src/?rev=9008
Author: laffer1
Date: 2016-09-29 21:45:31 -0400 (Thu, 29 Sep 2016)
Log Message:
-----------
permit change of MTU in 6to4 relay.
Modified Paths:
--------------
trunk/sys/net/if_stf.c
Modified: trunk/sys/net/if_stf.c
===================================================================
--- trunk/sys/net/if_stf.c 2016-09-30 01:44:59 UTC (rev 9007)
+++ trunk/sys/net/if_stf.c 2016-09-30 01:45:31 UTC (rev 9008)
@@ -799,7 +799,7 @@
struct rt_addrinfo *info;
{
RT_LOCK_ASSERT(rt);
- rt->rt_rmx.rmx_mtu = IPV6_MMTU;
+ rt->rt_rmx.rmx_mtu = rt->rt_ifp->if_mtu;
}
static int
@@ -812,7 +812,7 @@
struct ifreq *ifr;
struct sockaddr_in6 *sin6;
struct in_addr addr;
- int error;
+ int error, mtu;
error = 0;
switch (cmd) {
@@ -846,6 +846,18 @@
error = EAFNOSUPPORT;
break;
+ case SIOCGIFMTU:
+ break;
+
+ case SIOCSIFMTU:
+ ifr = (struct ifreq *)data;
+ mtu = ifr->ifr_mtu;
+ /* RFC 4213 3.2 ideal world MTU */
+ if (mtu < IPV6_MINMTU || mtu > IF_MAXMTU - 20)
+ return (EINVAL);
+ ifp->if_mtu = mtu;
+ break;
+
default:
error = EINVAL;
break;
More information about the Midnightbsd-cvs
mailing list