From owner-svn-src-head@freebsd.org Tue Mar 21 16:06:18 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 189F1D169BC; Tue, 21 Mar 2017 16:06:18 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD0C212ED; Tue, 21 Mar 2017 16:06:17 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.86 (FreeBSD)) (envelope-from ) id 1cqMIZ-000M8g-Gf; Tue, 21 Mar 2017 19:06:15 +0300 Date: Tue, 21 Mar 2017 19:06:15 +0300 From: Slawa Olhovchenkov To: Toomas Soome Cc: Ian Lepore , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers , Toomas Soome Subject: Re: svn commit: r315653 - in head: lib/libstand sys/boot/common sys/boot/i386/libi386 Message-ID: <20170321160615.GD86500@zxy.spb.ru> References: <201703202220.v2KMKHVP050735@repo.freebsd.org> <20170321123547.GC86500@zxy.spb.ru> <1490109312.13094.41.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Mar 2017 16:06:18 -0000 On Tue, Mar 21, 2017 at 05:53:12PM +0200, Toomas Soome wrote: > > > On 21. märts 2017, at 17:15, Ian Lepore wrote: > > > > On Tue, 2017-03-21 at 15:35 +0300, Slawa Olhovchenkov wrote: > >> On Mon, Mar 20, 2017 at 10:20:17PM +0000, Toomas Soome wrote: > >> > >>> > >>> Author: tsoome > >>> Date: Mon Mar 20 22:20:17 2017 > >>> New Revision: 315653 > >>> URL: https://svnweb.freebsd.org/changeset/base/315653 > >>> > >>> Log: > >>> loader: verify the value from dhcp.interface-mtu and use snprintf > >>> to set mtu > >>> > >>> Since the uset can set dhcp.interface-mtu, we need to try to > >>> validate the > >>> value. So we verify if the conversion to int is successful and we > >>> will not > >>> allow to set value greater than max IPv4 packet size. > >>> > >>> + tmp > USHRT_MAX) { > >>> + printf("%s: bad value: > >>> \"%s\", " > >>> + "ignoring\n", > >>> + "dhcp.interface-mtu", > >>> val); > >> === > >> USHRT_MAX Maximum value for an object of type unsigned short > >> int > >> 65535 (216-1) or greater* > >> > >> * the actual value depends on the particular system and library > >> implementation, but shall reflect the limits of these types in the > >> target platform. > >> === > >> > >> I mean IF_MAXMTU more correct. > >> > > > > The context here is libstand; because it is standalone by design, the > > code doesn't have access to IF_MAXMTU or other kernel/userland > > constants. There is also no question that a short is 16 bits or that > > USHRT_MAX will be anything other than 65535 in that environment. If > > some platform did appear that had a different-sized short by default, > > we would add whatever flags are necessary to force it back to 16 bits > > in src/share/mk/bsd.stand.mk. > > > > > Also note the “upper” value is entirely fictional - we felt we need to pick some “sane” default, with current (common 1Gb/s) ethernet hardware you will be in trouble long before reaching that value;) 18000? IMHO, max found in different spec is about 16K. Mostly jumbo is 9000-9198.