From owner-freebsd-net@FreeBSD.ORG Tue Apr 9 10:43:37 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 760977CB for ; Tue, 9 Apr 2013 10:43:37 +0000 (UTC) (envelope-from rlp@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id 2DF3E92 for ; Tue, 9 Apr 2013 10:43:36 +0000 (UTC) Received: from localhost (unknown [213.17.239.109]) by smtp.semihalf.com (Postfix) with ESMTP id 10028EBDCE for ; Tue, 9 Apr 2013 12:43:30 +0200 (CEST) X-Virus-Scanned: by amavisd-new at semihalf.com Received: from smtp.semihalf.com ([213.17.239.109]) by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new, port 10024) with ESMTP id JlW+JiOc5MOv for ; Tue, 9 Apr 2013 12:43:29 +0200 (CEST) Received: from [10.0.2.212] (cardhu.semihalf.com [213.17.239.108]) by smtp.semihalf.com (Postfix) with ESMTPSA id 775ABEBD4D for ; Tue, 9 Apr 2013 12:43:29 +0200 (CEST) Message-ID: <5163F0D1.1060206@semihalf.com> Date: Tue, 09 Apr 2013 12:43:29 +0200 From: Pablo Ribalta Lorenzo User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130221 Thunderbird/17.0.3 MIME-Version: 1.0 To: freebsd-net@freebsd.org Subject: Bridge of vlan with a bridge Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 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, 09 Apr 2013 10:43:37 -0000 Hi there, Lately I was experiencing an issue while trying to recreate a particular setup for my networking interfaces that I would like to share. I'm running FreeBSD 8.3, but I also see the same issue in FreeBSD 10.0 (CURRENT). My setup looks like this: em0 --- vlan0 / \ \ / \ \ eth0 --- eth0.100 bridge0 bridge1 \ / / \ / / em1 --- vlan1 |----------------| |------------------------| Linux FreeBSD Where eth0 and eth0.100 are interfaces in a Linux PC. The rest of the interfaces belong to the FreeBSD setup and you can see their topology. em1 and vlan1 interfaces are not active. The issue goes as it follows: I'm trying to establish communication between eth0 and bridge1 trying to ping from both sides, with unsuccessful results. From bridge1 towards eth0 the traffic looks fine through tcpdump, being the route: bridge1 -> vlan0 -> em0 -> eth0.100 -> eth0 However, once the packets attempt to do the route in different direction, they get stuck in bridge0, being the route: eth0 -> eth0.100 -> em0 -> bridge0 From my investigations seems that this setup is not supported by both FreeBSD implementations (8.3 and CURRENT), but I'd like to know if you can provide some insight about: - Why packets are forwarded from 'em0' to 'bridge0', and 'vlan0' is ignored. I'm aware that bridges introduce some changes in the packet routing, but it seems weird that being in promisc mode, 'em0' is not forwarding any package to 'vlan0'. - Why the packets are stuck in bridge0. I guess that because of the mechanism of the bridge, packets cannot be pushed back to the same channel they were received... and being 'em1' not active, 'bridge0' is sort of a dead end for the packets. I have some explanations for the second point, but the first one is puzzling me. I'd appreciate some comments about this issue. Thank you. -- Pozdrawiam, Pablo Ribalta Lorenzo