From owner-cvs-all Mon Dec 30 12:22:43 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 72E9337B401; Mon, 30 Dec 2002 12:22:41 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0274443ED4; Mon, 30 Dec 2002 12:22:41 -0800 (PST) (envelope-from sam@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBUKMefh040515; Mon, 30 Dec 2002 12:22:40 -0800 (PST) (envelope-from sam@repoman.freebsd.org) Received: (from sam@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBUKMenY040514; Mon, 30 Dec 2002 12:22:40 -0800 (PST) Message-Id: <200212302022.gBUKMenY040514@repoman.freebsd.org> From: Sam Leffler Date: Mon, 30 Dec 2002 12:22:40 -0800 (PST) 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 ... X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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 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