* Konrad <[EMAIL PROTECTED]> [2008-03-06 21:13]: > so now I changed the tagging from tcp_output to ip_output.
yes, that is much better I think. > I also put an pf_tag_unref to so_free and sosetopt (in case that there > is allready a tag set). great! > I couldn't see a reason for a pf_tag_unref in the so_accept because > the socket could be reused. don't we need an additional ref (aka tagname2tag or the like), not unref, since the socket gets cloned? > So and finally with an cvs diff on current: few style notes inside > + if(so->so_pftag != 0) > + { > + pf_tag_unref(so->so_pftag); > + } no braces in that case, just + if(so->so_pftag != 0) + pf_tag_unref(so->so_pftag); > + so->so_pftag = pf_tagname2tag(mtod(m, char *)); > + if(so->so_pftag == 0) > + { > + error = EINVAL; /*XXX*/ why XXX? > Index: netinet/tcp_output.c > =================================================================== > RCS file: /cvs/src/sys/netinet/tcp_output.c,v > retrieving revision 1.81 > diff -u -p -r1.81 tcp_output.c > --- netinet/tcp_output.c 24 Nov 2007 12:59:28 -0000 1.81 > +++ netinet/tcp_output.c 6 Mar 2008 19:40:48 -0000 > @@ -761,6 +761,7 @@ send: > error = ENOBUFS; > goto out; > } > + > m->m_data += max_linkhdr; > m->m_len = hdrlen; > } the above chunk seems to be an accident nice work! but it'll need soem deeper inspection before we're confident :) -- Henning Brauer, [EMAIL PROTECTED], [EMAIL PROTECTED] BS Web Services, http://bsws.de Full-Service ISP - Secure Hosting, Mail and DNS Services Dedicated Servers, Rootservers, Application Hosting - Hamburg & Amsterdam