9967cafc49
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> |
||
---|---|---|
.. | ||
ipatm | ||
sigpvc | ||
spans | ||
uni | ||
atm_aal5.c | ||
atm_cm.c | ||
atm_cm.h | ||
atm_device.c | ||
atm_if.c | ||
atm_if.h | ||
atm_ioctl.h | ||
atm_pcb.h | ||
atm_proto.c | ||
atm_sap.h | ||
atm_sigmgr.h | ||
atm_signal.c | ||
atm_socket.c | ||
atm_stack.h | ||
atm_subr.c | ||
atm_sys.h | ||
atm_usrreq.c | ||
atm_var.h | ||
atm_vc.h | ||
atm.h | ||
port.h | ||
queue.h |