cvs commit: src/sys/netinet ip_divert.c ip_input.c

Sam Leffler sam at errno.com
Mon Nov 17 09:29:55 PST 2003


On Sunday 16 November 2003 07:17 pm, Brian Feldman wrote:
> green       2003/11/16 19:17:49 PST
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/netinet          ip_divert.c ip_input.c
>   Log:
>   Fix a few cases where MT_TAG-type "fake mbufs" are created on the stack,
> but do not have mh_nextpkt initialized.  Somtimes what's there is "1", and
> the ip_input() code pukes trying to m_free() it, rendering divert sockets
> and such broken.
>   This really underscores the need to get rid of MT_TAG.

I've got most of the changes for that done along with mods to cleanup the 
"backdoor linkage" between parts of the network code; but it's not ready to 
commit yet.  Switching over dummynet cleans up that code (IMO) and adds no 
cost as there was already a malloc'd data structure for each packet, but ipfw 
is a bit more tricky.  The goal of all this is to eliminate all MT_TAG usage 
and also the global function pointer hooks (the latter are replaced by 
pfil_hooks which then become necessary for many packages and so will be 
needed in a GENERIC kernel).

	Sam



More information about the cvs-src mailing list