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>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212302022.gBUKMenY040514>
