Subject: Re: Dynamic registry of ehternet frame types
To: Martin Husemann <martin@duskware.de>
From: Ignatios Souvatzis <ignatios@theory.cs.uni-bonn.de>
List: tech-kern
Date: 11/12/2003 10:41:13
--xXmbgvnjoT4axfJE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Wed, Nov 12, 2003 at 09:54:16AM +0100, Martin Husemann wrote:
> On Wed, Nov 12, 2003 at 09:47:31AM +0100, Jaromir Dolecek wrote:
> > default:
> > if (ether_me_harder && (*ether_me_harder)(etype, m))
> > break;
>=20
> Managing a list of
>=20
> struct ethertype_input_handler {
> SLIST_ENTRY(ethertype_input_handler) next;
> void (*func)(struct mbuf *m, u_int16 ethertype)
> u_int16 ethertype;
> };
>=20
> is not that hard and it scales better.
If it's supposed to scale, make it an rbtree.=20
hiding,
-is
--xXmbgvnjoT4axfJE
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: 2.6.i
iQEVAgUBP7IAMjCn4om+4LhpAQHAlAf/RePXajPjYS+Ja5VXPmR7sUHBmEdQeNH0
EE2h1hyMKOwbWb3fDnPX3mzodSZtaujpR+mTsEkZrT/zArhRSpGTQ+qChVDdL/OB
2L3WZ80k+iIGgx7JsvgjKEbbN4glPPwceGzPRTc/ypNVKf5oNBQqVe1d4YJI8KCI
WDc3XJbkH7wWBbYA/ol5TBl0fbjfAd5cJXbB6+tLnCk/mEZZszBeDhvBFicWWN87
E5+eoBEhf16kt/bmq+GNcpNH/4HBMGk6rmLvseTa9tPHwgPiSIXkeT+SjTb7Taza
DDrVHvd3xUJCAZR5/3St16MKAJ6nsYXWxm7MgTFhRDO37OU8rNrTvw==
=sOCJ
-----END PGP SIGNATURE-----
--xXmbgvnjoT4axfJE--