From owner-freebsd-net@FreeBSD.ORG Tue Nov 25 02:18:28 2003 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 25C0816A4CE for ; Tue, 25 Nov 2003 02:18:28 -0800 (PST) Received: from hermes.ccf.auth.gr (hermes.ccf.auth.gr [155.207.1.30]) by mx1.FreeBSD.org (Postfix) with ESMTP id CE27043FBF for ; Tue, 25 Nov 2003 02:18:22 -0800 (PST) (envelope-from gedimitr@auth.gr) Received: from a93 (a93.ee.auth.gr [155.207.19.93]) by hermes.ccf.auth.gr (8.12.10/8.12.10) with SMTP id hAPAIEIb011054 for ; Tue, 25 Nov 2003 12:18:16 +0200 (EET) Message-ID: <000e01c3b33d$7128c4a0$5d13cf9b@ee.auth.gr> From: "Gerasimos Dimitriadis" To: Date: Tue, 25 Nov 2003 12:18:15 +0200 MIME-Version: 1.0 X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-Virus-Scanned: by helios.ccf.auth.gr. Virus data file v4305 created Nov 19 2003 Content-Type: text/plain; charset="iso-8859-7" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.1 Subject: Frame Overhead Discard Problem with Encapsulating Netgraph Node X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 10:18:28 -0000 Dear all, I have built a netgraph node that allows the formation of multihop ad = hoc wireless networks in FreeBSD. This node employs routing tables based = on hardware addresses, in order to give the impression to upper layers = that all the network nodes are within one hop. This netgraph node = accepts all traffic to the wireless interface and encapsulates it using = a custom header. The encapsulated packet propagates towards its = destination according to the routing tables maintained at each = intermediate host, and when it reaches its final destination the = netgraph node deencapsulates it and sends it to the upper layers (upper = hook of ng_ether node). This scheme worked fine with FreeBSD 4.7. However, when I ported it to = 5.1 it was broken. I found out that the received encapsulated frames = were discarded, because their size were longer than accepted / expected = by the kernel (The if_ethersubr.c makes these checks in 5.1). The = message appearing was: wi0: discard oversize frame (len 1536 > max 1514) no matter if I reduced the interface MTU, this message persists. I would like to ask you how can I tell the upper layers (i.e. IP, = TCP/UDP) to leave more size in a packet, so that when my header is = added, the total length does not exceed MTU + ether_header_length? Also, if there is another solution to my problem I would be grateful if = you could inform me about it Thank you very much, Gerasimos Dimitriadis (gedimitr at auth.gr)