On 9/2/08, Andrew Thompson <thompsa_at_freebsd.org> wrote: > On Tue, Sep 02, 2008 at 10:54:08AM -0700, Maksim Yevmenkin wrote: > > Andrew, > > > > > I have a patch here to removing the alignment of the align parameter. I > > > can not see why it was added as it up to the caller to specify this, it > > > breaks tap(4) on strict alignment machines as m_uiotombuf is called with > > > ETHER_ALIGN. Also 'align' isnt a great description of this field, its > > > more a padding or data offset. > > > > hmm... strange... from cvs > > > > === > > > > Revision 1.53 > > Wed May 4 18:55:02 2005 UTC (3 years, 4 months ago) by emax > > Branches: MAIN > > > > Change m_uiotombuf so it will accept offset at which data should be copied > > to the mbuf. Offset cannot exceed MHLEN bytes. This is currently used to > > fix Ethernet header alignment problem on alpha and sparc64. Also change all > > users of m_uiotombuf to pass proper offset. > > > > Reviewed by: jmg, sam > > Tested by: Sten Spans "sten AT blinkenlights DOT nl" > > MFC after: 1 week > > > > === > > > > could you please explain how and on which platforms it breaks tap(4)? > > > That revision had the correct behaviour, it was broken in r1.169 > > Rewrite m_uiotombuf() to use m_getm2() for mbuf allocation and do the > uiomove() in a tight loop over the mbuf chain. Add a flags parameter to > accept mbuf flags to be passed to m_getm2(). Adjust all callers for the > extra parameter. > > Sponsored by: TCP/IP Optimization Fundraise 2005 ahh... i see... i was looking at the wrong revision :) yes, i agree with you. i do not see the reason for the alignment of the align parameter. thanks, maxReceived on Tue Sep 02 2008 - 16:56:58 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:34 UTC