From owner-freebsd-net@FreeBSD.ORG Mon Sep 10 17:24:46 2007 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE10616A419 for ; Mon, 10 Sep 2007 17:24:46 +0000 (UTC) (envelope-from ivsan@ngs.ru) Received: from imx3.ngs.ru (imx3.ngs.ru [81.176.214.138]) by mx1.freebsd.org (Postfix) with ESMTP id 6D71813C465 for ; Mon, 10 Sep 2007 17:24:46 +0000 (UTC) (envelope-from ivsan@ngs.ru) Received: from mx1.intranet.ru (mx1.intranet.ru [172.16.1.1]) by smtp.ngs.ru (smtp) with ESMTP id 92A4B2DB00B2 for ; Tue, 11 Sep 2007 00:09:05 +0700 (NOVST) Received: from [80.242.64.3] (account ivsan@ngs.ru) by mx1.intranet.ru (CommuniGate Pro WebUser 4.3.12) with HTTP id 95343829 for freebsd-net@freebsd.org; Tue, 11 Sep 2007 00:09:05 +0700 From: "Ivan Alexandrovich" To: freebsd-net@freebsd.org X-Mailer: CommuniGate Pro WebUser Interface v.4.3.12 Date: Tue, 11 Sep 2007 00:09:05 +0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="KOI8-R"; format="flowed" Content-Transfer-Encoding: 8bit X-Anti-Virus: Kaspersky Anti-Virus for Sendmail with Milter API 5.6.20, bases: 20070910 #411896, check: 20070910 clean Subject: nested vlans and ethernet frame size X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2007 17:24:47 -0000 Hi I'd like to ask for advice - what is the right place for setting maximum ethernet frame size in freebsd? It needs 1526 bytes to allow two vlan tags per packet. Those tags must be processed by ng_vlan code so it seems that vlanmtu interface flag will be of no use here. We're running freebsd6.2-stable and use some Intel pro 100 card for testing purposes along with QinQ-capable switch. Currently frames of 1526 length are sent without problems but incoming packets of such a size are lost. Since fxp driver complains about 'discarding oversize frame' it can be supposed that the problem in this case is not in nic hardware but in driver. As far as I can see in kernel sources (it's a pity I'm not a programmer :) many ethernet drivers use ETHERNET_MAX_FRAME macro to define size checks. Possibly I could replace "1518" by "1526" in sys/net/ethernet.h but it must be considered brutal, isn't it ? :) Thanks in advance, Ivan