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