Subject: Re: 802.1q tagging Ultra5
To: None <port-sparc64@netbsd.org>
From: Miles Nordin <carton@Ivy.NET>
List: port-sparc64
Date: 02/02/2006 01:30:28
--pgp-sign-Multipart_Thu_Feb__2_01:30:18_2006-1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

>>>>> "t" =3D=3D tbowers  <tbowers@jiffydo.com> writes:

     t> 1.) I=E2=80=99m having very hard time finding information on
     t> configuring 802.1q tagging and Vlan interfaces on NetBSD.

um...yeah.  I can't believe you didn't type 'man vlan' which will tell
you all about it.  I don't know how the information could be placed in
a more obvious spot.

     t> =E2=80=9Chow to=E2=80=9D or best practice for building a router usi=
ng NetBSD.
     t> Perhaps a document to suggest what to strip out of the build?

FWIW, I run several BSD routers and always install a regular tree, so
I don't consider it a good practice to strip things out of the build
for the purpose of running a router on an Ultra 5.  Maybe you would
like to use veriexec for a system that seldom changes, though I've no
experience with it.

For BGP and OSPF, you'll need net/quagga from pkgsrc.  Quagga is kind
of flakey, I'm afraid.  If you create/destroy cloning interfaces after
starting Quagga, it will get completely befuddled.  Also all the
interval timers are based off the wall clock, so if the system time is
ever 'step'ed it gets messed up.  Adding/removing address families
to/from a BGP peer for me required restarting bgpd or completely
removing and readding all peer config statements or Quagga would send
out corrupt BGP open packets and never form an adjacency.  ...and
other obnoxious quirks like that.  However I'm using BGP and OSPF for
IPv4 and IPv6, and it does work and is lots of fun.

If you are forwarding high pps, you must use a card that supports
interrupt mitigation like bge.  But at least for 2.0 I think bge
doesn't work on sparc64.  With hme or gem (no interrupt coalescing) I
would expect an ultra 5 to livelock between 10 - 100kp/s, much less
than you can get with PeeCee crap and a modern network chip which
supposedly do more like 1mp/s.  FreeBSD has ``device polling'' to
avoid livelock and increase top p/s, but it doesn't work on sparc64
interfaces like hme and gem, and someone posted on their list that
polling seemed to be broken entirely on sparc64 even for chips where
it does work like dc/tlp, so in this case I think polling isn't
necessarily an enticement to defect from NetBSD until the polling guys
get it fully working on notPeeCees.

I had problems on NetBSD with interfaces (both gem and hme) locking up
~hourly and needing 'ifconfig down up' to get them running again.  It
showed up on a Netra T1 200 routing about 3Mbit/s.  Ultimately I had
to use FreeBSD instead, but maybe it is better now, and many others
haven't seen this problem, YMMV.

--pgp-sign-Multipart_Thu_Feb__2_01:30:18_2006-1
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (NetBSD)

iQCVAwUAQ+GnBInCBbTaW/4dAQKAYgQAsbTxohCD5cu9owf1eigB9vuuvGPtGNd4
D19f3TMHYl9l9vuIQ5zq8HCeP6MDJ+NSoDQoYpaoDuihxCKxoN5ivnWArxKl0uwy
zoaP/g8Gc2DIpqmLbMHPwDnErnBxnbN/1knlTukVVbNkFCAljatDn521fndMoild
ZD8sgeUE+mQ=
=F28V
-----END PGP SIGNATURE-----

--pgp-sign-Multipart_Thu_Feb__2_01:30:18_2006-1--