From owner-cvs-all@FreeBSD.ORG Sun Oct 28 16:24:17 2007 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 256AC16A421; Sun, 28 Oct 2007 16:24:17 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1528D13C481; Sun, 28 Oct 2007 16:24:17 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l9SGOG3L002210; Sun, 28 Oct 2007 16:24:16 GMT (envelope-from thompsa@repoman.freebsd.org) Received: (from thompsa@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l9SGOGvx002209; Sun, 28 Oct 2007 16:24:16 GMT (envelope-from thompsa) Message-Id: <200710281624.l9SGOGvx002209@repoman.freebsd.org> From: Andrew Thompson Date: Sun, 28 Oct 2007 16:24:16 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_7 Cc: Subject: cvs commit: src/sys/net ethernet.h if_bridge.c if_ethersubr.c if_vlan.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Oct 2007 16:24:17 -0000 thompsa 2007-10-28 16:24:16 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/net ethernet.h if_bridge.c if_ethersubr.c if_vlan.c Log: MFC ethernet.h r.133, if_bridge.c r1.104, if_ethersubr.c r1.237, if_vlan.c r1.125 The bridging output function puts the mbuf directly on the interfaces send queue so the output network card must support the same tagging mechanism as how the frame was input (prepended Ethernet header tag or stripped HW mflag). Now the vlan Ethernet header is _always_ stripped in ether_input and the mbuf flagged, only only network cards with VLAN_HWTAGGING enabled would properly re-tag any outgoing vlan frames. If the outgoing interface does not support hardware tagging then readd the vlan header to the front of the frame. Move the common vlan encapsulation in to ether_vlanencap(). Approved by: re (kensmith) Revision Changes Path 1.32.2.1 +1 -0 src/sys/net/ethernet.h 1.103.2.2 +17 -1 src/sys/net/if_bridge.c 1.236.2.1 +28 -0 src/sys/net/if_ethersubr.c 1.124.2.1 +1 -28 src/sys/net/if_vlan.c