freebsd-skq/sys/netatm
Sam Leffler 9967cafc49 Correct mbuf packet header propagation. Previously, packet headers
were sometimes propagated using M_COPY_PKTHDR which actually did
something between a "move" and a  "copy" operation.  This is replaced
by M_MOVE_PKTHDR (which copies the pkthdr contents and "removes" it
from the source mbuf) and m_dup_pkthdr which copies the packet
header contents including any m_tag chain.  This corrects numerous
problems whereby mbuf tags could be lost during packet manipulations.

These changes also introduce arguments to m_tag_copy and m_tag_copy_chain
to specify if the tag copy work should potentially block.  This
introduces an incompatibility with openbsd which we may want to revisit.

Note that move/dup of packet headers does not handle target mbufs
that have a cluster bound to them.  We may want to support this;
for now we watch for it with an assert.

Finally, M_COPYFLAGS was updated to include M_FIRSTFRAG|M_LASTFRAG.

Supported by:	Vernier Networks
Reviewed by:	Robert Watson <rwatson@FreeBSD.org>
2002-12-30 20:22:40 +00:00
..
ipatm - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
sigpvc Include <sys/systm.h> instead of depending on namespace pollution in 2002-09-29 12:01:36 +00:00
spans - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
uni - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_aal5.c Back out my lats commit of locking down a socket, it conflicts with hsu's work. 2002-05-31 11:52:35 +00:00
atm_cm.c - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_cm.h - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_device.c - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_if.c Indirectly pull in declaration for M_IFADDR. 2002-12-28 21:09:38 +00:00
atm_if.h - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_ioctl.h Use a larger data type to prevent counters wrapping so quickly. 2002-06-07 05:29:13 +00:00
atm_pcb.h
atm_proto.c - Nuke some more not needed #ifdef cruft. 2002-04-21 01:41:05 +00:00
atm_sap.h
atm_sigmgr.h Remove __P. 2002-03-20 02:39:27 +00:00
atm_signal.c - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_socket.c Back out my lats commit of locking down a socket, it conflicts with hsu's work. 2002-05-31 11:52:35 +00:00
atm_stack.h - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_subr.c - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_sys.h - Chainsaw the storage pool code. This was being used by a bunch of code 2002-06-14 19:31:07 +00:00
atm_usrreq.c SMP locking for ifnet list. 2002-12-22 05:35:03 +00:00
atm_var.h - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
atm_vc.h
atm.h - Nuke some more not needed #ifdef cruft. 2002-04-21 01:41:05 +00:00
port.h Correct mbuf packet header propagation. Previously, packet headers 2002-12-30 20:22:40 +00:00
queue.h