On Tue, May 18, 2004 at 02:00:28PM +0100, Doug Rabson wrote: > On Tue, 2004-05-18 at 09:48, Luigi Rizzo wrote: > > I will try to remove as many assumptions as possible. > > thanks for the feedback. > > I think that in your prototype, the only assumption was in struct > llentry. I would suggest defining it as something like: to be really flexible, both l3_addr and ll_addr should be variable size (v4,v6,v8 over 802.x,firewire,appletalk,snail-mail), then things rapidly become confusing and inefficient. I would like to keep the ipv4 over ethernet case simple and quick, even if this means replicating the code for the generic case (and this is one of the reasons i have stalled a bit on this code -- i want to make up my mind on what is a reasonable approaxch). cheers luigi > struct llentry { > struct llentry *lle_next; > struct mbuf *la_hold; > uint16_t flags; /* see values in if_ether.h */ > uint8_t la_preempt; > uint8_t la_asked; > time_t expire; > struct in_addr l3_addr; > uint8_t ll_addr[0]; > }; > > Where the allocation of them uses something like 'malloc(sizeof(struct > llentry) + ifp->if_addrlen)'. > > > > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"Received on Tue May 18 2004 - 07:07:13 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:54 UTC