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--