Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Oct 2008 08:25:34 +0400
From:      Eygene Ryabinkin <rea-fbsd@codelabs.ru>
To:        freebsd-net@freebsd.org
Cc:        thompsa@freebsd.org
Subject:   Bridge interface as the vlan(4) parent
Message-ID:  <dRaMjuHlwvisbp3jByBWKNuD5/Y@wt/7hVZKn3eToC9bhSgDRUgb0WM>

next in thread | raw e-mail | index | archive | help

--GinsN7d7xEiEJaaA
Content-Type: text/plain; charset=koi8-r
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Andrew, *, good day.

I had just came across the following situation: I have two VLAN-tagged
links that are coming to my machine from two switches.  I am running
RSTP on the switches and need the machine to participate in the spanning
tree formation (one switch is the root, another is the backup).

Since RSTP messages are coming untagged, I need to make bridge on my
physical interfaces, to enable spanning tree formation.  And the bridge
should be the parent device for the vlan(4) interfaces that will untag
the packets.  It is not possible just now to have bridge interface to be
parent of vlan interface for two reasons:

1. vlan(4) won't attach to IFT_BRIDGE; this is rather easy to fix;

2. there should be a hook on the bridge path that will call vlan_input/
   vlan_output; this is the harder problem, but I think that it isn't
   so hard, at least I have such impression after glancing at the code.

Questions: may be I don't understand something and there is another way
to create RSTP-aware bridge that will handle vlans?  If my swithes will
speak PVST, this will be easy -- one bridge per vlan instance and
vlan(4) interfaces will be bridged.  But I need RSTP.

The second question: does anyone sees any problems apart from the
mentioned two?  May be I am wrong about the complexity of the second
problem?

Thanks!
--=20
Eygene
 _                ___       _.--.   #
 \`.|\..----...-'`   `-._.-'_.-'`   #  Remember that it is hard
 /  ' `         ,       __.--'      #  to read the on-line manual  =20
 )/' _/     \   `-_,   /            #  while single-stepping the kernel.
 `-'" `"\_  ,_.-;_.-\_ ',  fsc/as   #
     _.-'_./   {_.'   ; /           #    -- FreeBSD Developers handbook=20
    {_.-``-'         {_/            #

--GinsN7d7xEiEJaaA
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAkj2wj4ACgkQthUKNsbL7Yiw6wCfcoIgNsePLyFShrs0o/1iRknF
6GkAoIiniM3e3//OHLhARup0t41rFt7q
=rRUz
-----END PGP SIGNATURE-----

--GinsN7d7xEiEJaaA--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dRaMjuHlwvisbp3jByBWKNuD5/Y>