Date: Mon, 30 Dec 2002 12:22:40 -0800 (PST) From: Sam Leffler <sam@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/awi awi.c awi_wep.c src/sys/dev/en midway.c src/sys/dev/hifn hifn7751.c src/sys/dev/ubsec ubsec.c src/sys/kern uipc_mbuf.c uipc_mbuf2.c src/sys/net if_loop.c src/sys/netatm port.h src/sys/netinet ip_input.c src/sys/netinet6 ... Message-ID: <200212302022.gBUKMenY040514@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
sam 2002/12/30 12:22:40 PST Modified files: sys/dev/awi awi.c awi_wep.c sys/dev/en midway.c sys/dev/hifn hifn7751.c sys/dev/ubsec ubsec.c sys/kern uipc_mbuf.c uipc_mbuf2.c sys/net if_loop.c sys/netatm port.h sys/netinet ip_input.c sys/netinet6 esp_input.c icmp6.c ip6_input.c ip6_output.c ipsec.c sys/netipsec ipsec_mbuf.c ipsec_output.c sys/sys mbuf.h Log: 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> Revision Changes Path 1.24 +1 -1 src/sys/dev/awi/awi.c 1.10 +1 -1 src/sys/dev/awi/awi_wep.c 1.32 +1 -1 src/sys/dev/en/midway.c 1.6 +4 -3 src/sys/dev/hifn/hifn7751.c 1.7 +4 -2 src/sys/dev/ubsec/ubsec.c 1.107 +54 -14 src/sys/kern/uipc_mbuf.c 1.15 +8 -6 src/sys/kern/uipc_mbuf2.c 1.75 +10 -10 src/sys/net/if_loop.c 1.12 +1 -2 src/sys/netatm/port.h 1.219 +10 -1 src/sys/netinet/ip_input.c 1.15 +1 -2 src/sys/netinet6/esp_input.c 1.25 +13 -4 src/sys/netinet6/icmp6.c 1.42 +1 -1 src/sys/netinet6/ip6_input.c 1.44 +1 -1 src/sys/netinet6/ip6_output.c 1.17 +5 -11 src/sys/netinet6/ipsec.c 1.3 +1 -1 src/sys/netipsec/ipsec_mbuf.c 1.2 +1 -1 src/sys/netipsec/ipsec_output.c 1.109 +9 -5 src/sys/sys/mbuf.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212302022.gBUKMenY040514>