From owner-freebsd-stable Thu May 25 10:27:56 2000 Delivered-To: freebsd-stable@freebsd.org Received: from ns.unet.ru (ns.unet.ru [195.9.254.3]) by hub.freebsd.org (Postfix) with ESMTP id E7D4C37B506 for ; Thu, 25 May 2000 10:27:47 -0700 (PDT) (envelope-from vick@unet.ru) Received: from unet.ru (localhost [127.0.0.1]) by ns.unet.ru (8.9.3/Unet) with ESMTP id VAA79724; Thu, 25 May 2000 21:27:43 +0400 (MSD) (envelope-from vick@unet.ru) Message-ID: <392D628F.32905FAF@unet.ru> Date: Thu, 25 May 2000 21:27:43 +0400 From: Victor Ponomarev Organization: LPI X-Mailer: Mozilla 4.61 [en] (X11; I; FreeBSD 3.4-STABLE i386) X-Accept-Language: en MIME-Version: 1.0 To: Stable Subject: Improvement of VLAN Support badly needed... Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi All! Now VLAN support in stable is bad. Suppose you would like to really route two VLAN using a FreeBSD box as router. host---vlan port---trunk port---vlan port---host | | | router Usually in that config router port configured as a trunk also, this mean that it can received large packet. When host send a packet about 1514 byte switch trunk port add 4 byte and router trunk port substitute vlan tag to another and send it back to switch. The latter remove vlan header and send packet to appropriate vlan ports. Currently FreeBSD router simply drop large packet on it's interface. That's very bad... Second, standard ethernet MTU size is 1500, now we have vlan interface with MTU 1496, so large packet will be fragmented in BSD router on large and small packet. It's also bad because it's a) stupid resource consumed work for a router in that ethernet environment, b) small packet have large overhead and at last c) we should transmit two packet to medium instead one... The existing solution on these problem for Intel card may be found at http://www.euitt.upm.es/~pjlobo/ But there's another problem with small ip packet. When BSD router strip ethernet header for payload < 46 it strip padding bytes also. But when it reinserted data with another vlan header it don't add padding bytes and we have runts packets on interface... Sorry but I'm not a kernel programming expert so I can't change this things myself :( Bye, Vick. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message