Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Apr 2017 21:15:26 +0300
From:      "Andrey V. Elsukov" <bu7cher@yandex.ru>
To:        rgrimes@freebsd.org
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r316699 - head/sys/net
Message-ID:  <e3a92603-0993-703e-8640-c5bfc5f48ebf@yandex.ru>
In-Reply-To: <201704111651.v3BGpZi9075424@pdx.rh.CN85.dnsmgr.net>
References:  <201704111651.v3BGpZi9075424@pdx.rh.CN85.dnsmgr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--q7enxoxO3R9ralDvMPPHsDLWwrGP6tsB7
Content-Type: multipart/mixed; boundary="VmNqvIwPW5XB04HhqASNk2ljKML4Gnv4p";
 protected-headers="v1"
From: "Andrey V. Elsukov" <bu7cher@yandex.ru>
To: rgrimes@freebsd.org
Cc: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Message-ID: <e3a92603-0993-703e-8640-c5bfc5f48ebf@yandex.ru>
Subject: Re: svn commit: r316699 - head/sys/net
References: <201704111651.v3BGpZi9075424@pdx.rh.CN85.dnsmgr.net>
In-Reply-To: <201704111651.v3BGpZi9075424@pdx.rh.CN85.dnsmgr.net>

--VmNqvIwPW5XB04HhqASNk2ljKML4Gnv4p
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 11.04.2017 19:51, Rodney W. Grimes wrote:
>> Modified: head/sys/net/if_gre.c
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
>> --- head/sys/net/if_gre.c	Tue Apr 11 08:29:12 2017	(r316698)
>> +++ head/sys/net/if_gre.c	Tue Apr 11 08:56:18 2017	(r316699)
>> @@ -88,7 +88,7 @@ __FBSDID("$FreeBSD$");
>>  #include <machine/in_cksum.h>
>>  #include <security/mac/mac_framework.h>
>> =20
>> -#define	GREMTU			1500
>> +#define	GREMTU			1476
>=20
> I would of thought that this was
> #define	GREMTU	ETHERMTU
> and now should probably be:
> #define	GREMTU	ETHERMTU - gre_hlen;=20
> Or what ever the approprite sizeof(foo) is;

I just returned back constants that were here :)
The man page says:
 "The MTU of gre interfaces is set to 1476 by default, to match the
  value used by Cisco routers."

> Isn't this arguably wrong in the face of JumboFrames?
>

I don't see why it may be wrong for jumbo frames. The default MTU value
used by any interfaces is ETHERMTU, if you know that your NIC supports
jumbo frames, you will configure specific MTU value.
If you want 9k MTU on gre(4), you should configure it.

>>  static const char grename[] =3D "gre";
>>  static MALLOC_DEFINE(M_GRE, grename, "Generic Routing Encapsulation")=
;
>>  static VNET_DEFINE(struct mtx, gre_mtx);
>> @@ -173,7 +173,7 @@ gre_clone_create(struct if_clone *ifc, i
>>  	GRE2IFP(sc)->if_softc =3D sc;
>>  	if_initname(GRE2IFP(sc), grename, unit);
>> =20
>> -	GRE2IFP(sc)->if_mtu =3D sc->gre_mtu =3D GREMTU;
>> +	GRE2IFP(sc)->if_mtu =3D GREMTU;
>>  	GRE2IFP(sc)->if_flags =3D IFF_POINTOPOINT|IFF_MULTICAST;
>>  	GRE2IFP(sc)->if_output =3D gre_output;
>>  	GRE2IFP(sc)->if_ioctl =3D gre_ioctl;
>> @@ -231,7 +231,8 @@ gre_ioctl(struct ifnet *ifp, u_long cmd,
>>  		 /* XXX: */
>>  		if (ifr->ifr_mtu < 576)
>=20
> This is another magic constant that should be in a #define.

It was here too. I think it is something from the past and can be removed=
=2E

=46rom RFC791: "It is recommended that hosts only send datagrams larger
than 576 octets".

>>  			return (EINVAL);
>> -		break;
>> +		ifp->if_mtu =3D ifr->ifr_mtu;
>> +		return (0);
>>  	case SIOCSIFADDR:
>>  		ifp->if_flags |=3D IFF_UP;
>>  	case SIOCSIFFLAGS:
>> @@ -255,12 +256,6 @@ gre_ioctl(struct ifnet *ifp, u_long cmd,
>>  	}
>>  	error =3D 0;
>>  	switch (cmd) {
>> -	case SIOCSIFMTU:
>> -		GRE_WLOCK(sc);
>> -		sc->gre_mtu =3D ifr->ifr_mtu;
>> -		gre_updatehdr(sc);
>> -		GRE_WUNLOCK(sc);
>> -		goto end;
>>  	case SIOCSIFPHYADDR:
>>  #ifdef INET6
>>  	case SIOCSIFPHYADDR_IN6:
>> @@ -549,7 +544,6 @@ gre_updatehdr(struct gre_softc *sc)
>>  	} else
>>  		sc->gre_oseq =3D 0;
>>  	gh->gre_flags =3D htons(flags);
>> -	GRE2IFP(sc)->if_mtu =3D sc->gre_mtu - sc->gre_hlen;
>>  }
>> =20
>>  static void
>>
>> Modified: head/sys/net/if_gre.h
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
>> --- head/sys/net/if_gre.h	Tue Apr 11 08:29:12 2017	(r316698)
>> +++ head/sys/net/if_gre.h	Tue Apr 11 08:56:18 2017	(r316699)
>> @@ -69,7 +69,6 @@ struct gre_softc {
>>  	uint32_t		gre_oseq;
>>  	uint32_t		gre_key;
>>  	uint32_t		gre_options;
>> -	uint32_t		gre_mtu;
>>  	u_int			gre_fibnum;
>>  	u_int			gre_hlen;	/* header size */
>>  	union {
>>
>> Modified: head/sys/net/if_me.c
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
>> --- head/sys/net/if_me.c	Tue Apr 11 08:29:12 2017	(r316698)
>> +++ head/sys/net/if_me.c	Tue Apr 11 08:56:18 2017	(r316699)
>> @@ -66,7 +66,7 @@ __FBSDID("$FreeBSD$");
>>  #include <machine/in_cksum.h>
>>  #include <security/mac/mac_framework.h>
>> =20
>> -#define	MEMTU			1500
>> +#define	MEMTU			(1500 - sizeof(struct mobhdr))
>=20
> 1500 -> ETHERMTU?

Feel free to fix this. Many pseudo interfaces has similar MTU limitations=
=2E

--=20
WBR, Andrey V. Elsukov


--VmNqvIwPW5XB04HhqASNk2ljKML4Gnv4p--

--q7enxoxO3R9ralDvMPPHsDLWwrGP6tsB7
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEzBAEBCAAdFiEE5lkeG0HaFRbwybwAAcXqBBDIoXoFAljtHT4ACgkQAcXqBBDI
oXoJ3Qf/YsC3Y5+ViZTmCbjs8iNY1b1S91ECVIbNGPrPNIJwQS55dU/46tPzaUzw
55aVCd7zcb+6c98wEInEd3vR69ExXTReT6dfbaoQOxKOjRfVKtxsYFuuFSj9Nhhi
moqVlPEODEkJxHOl/+hdHXMUaI1K39rhClZLEfSgnU95ruw2RcNluYF65YUz49Wp
H8r+1bpIuHDj/BHPLcKX/M7aDqYJ1jXO+Oggx8zkJQAmLQzpiaIuL06YPTf9AKoC
NphIX5NFDJsI3YeD6oF3addW8TZ3AfNwTkToBJvTmh9muiUpiGwULNO6cTlSvwGd
GEMNCUJvcV+5xDQEa9wpNqqvqklgYw==
=mJxp
-----END PGP SIGNATURE-----

--q7enxoxO3R9ralDvMPPHsDLWwrGP6tsB7--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e3a92603-0993-703e-8640-c5bfc5f48ebf>