On Fri, Aug 29, 2008 at 06:41:45PM +0200, Luigi Rizzo wrote: > On Fri, Aug 29, 2008 at 09:32:10AM -0700, Sam Leffler wrote: > > Luigi Rizzo wrote: > ... > > >and to be more explicit - the result of m_pullup is that > > >the number of bytes specified as m_pullup argument are in > > >a private piece of memory -- the 'data' region within the mbuf -- so > > >you can freely play with them without trouble. > > > > > >That is why i suggested to just increase the argument to m_pullup > > >by the size of the udp header so one can overwrite the checksum > > >within the mbuf without touching the shared part in the cluster > > >(if any). > > > > > > > Hmm, never considered the m_pullup guaranteed a private copy (but I see > > it in the code). The original semantics were just that the data was > > contiguous. > > funny, i thought the guarantee of a writable copy was also part > of the original semantics :)
The bridge code does a deep copy of the packet for each interface it broadcasts on due the firewall code modifying the headers. It sounds like this should just be a copy+pullup instead. Andrew _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"