From owner-freebsd-net@FreeBSD.ORG Fri Jul 8 14:01:01 2005 Return-Path: X-Original-To: freebsd-net@freebsd.org 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 C3BED16A41C; Fri, 8 Jul 2005 14:01:01 +0000 (GMT) (envelope-from jura@networks.ru) Received: from networks.ru (orange.networks.ru [80.249.138.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC11843D45; Fri, 8 Jul 2005 14:01:00 +0000 (GMT) (envelope-from jura@networks.ru) X-Spam-Status: No, hits=0.0 required=2.0 Received: from [81.195.67.217] (account jura HELO Jura) by networks.ru (CommuniGate Pro SMTP 4.2.8) with ESMTP-TLS id 1669661; Fri, 08 Jul 2005 18:00:54 +0400 Message-ID: <02bc01c583c5$300fe070$6504010a@Jura> From: "Yuriy N. Shkandybin" To: , "Yuriy N. Shkandybin" Date: Fri, 8 Jul 2005 17:58:58 +0400 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="windows-1251"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2527 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527 Cc: freebsd-net@freebsd.org Subject: Re: kern/83011: nge vlans broken 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: Fri, 08 Jul 2005 14:01:01 -0000 I've invistigated that m_head mbuf doesn't have M_VLANTAG when performing VLAN_OUTPUT() next diff for /usr/src/sys/net/if_vlan_var.h make it work: --- 1.h Fri Jul 8 17:34:31 2005 +++ if_vlan_var.h Fri Jul 8 17:35:53 2005 @@ -111,7 +111,7 @@ } while (0) #define VLAN_OUTPUT_TAG(_ifp, _m) \ - ((_m)->m_flags & M_VLANTAG ? \ + ((_ifp)->if_nvlans != 0 ? \ m_tag_locate((_m), MTAG_VLAN, MTAG_VLAN_TAG, NULL) : NULL) #define VLAN_TAG_VALUE(_mt) (*(u_int *)((_mt)+1)) #endif /* _KERNEL */ Actually this is partial backout ru@ commit http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/if_vlan_var.h.diff?r1=1.20&r2=1.21&f=h Since it's not adressed to if_nge itself, so it's possible same problems for another interfaces. Jura