freebsd-skq/sys/dev
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
..
aac Use OPERATOR instead of WHEEL for make_dev(), use 0640 instead of 0644 2002-12-27 17:52:16 +00:00
acpica Change ACPI make_dev() calls to use UID_ and GID_ constants rather 2002-12-28 14:58:50 +00:00
advansys Change BUS_SPACE_UNRESTRICTED (~0ul) to plain ~0 when used in the 2002-10-09 08:50:26 +00:00
agp - Hold the page queues lock around vm_page_wakeup(). 2002-12-23 21:47:46 +00:00
aha Fix build on alpha. It used to case an int to a pointer in order to do 2002-10-09 09:30:57 +00:00
ahb Fix new gcc-3.1 warnings. I think this gets GENERIC compiling cleanly 2002-05-24 05:21:36 +00:00
aic Add second and thrid bus-toaster IDs 2002-11-14 05:08:22 +00:00
aic7xxx The sequencer downloading code assumes that all jump 2002-12-05 00:47:27 +00:00
amd Convert the use of vtophys() for doing autosense to use busdma. Also correct 2002-12-14 19:20:57 +00:00
amr Problem: Hang while bootup on Perc2/SC. 2002-12-13 17:27:44 +00:00
an Add support for MPI-350 the mini-pci Cisco Aironet card. This needs more 2002-12-29 19:22:07 +00:00
ar network interface driver changes: 2002-11-14 23:54:55 +00:00
asr Use UID_ and GID_ constants instead of hard-coded numeric values 2002-12-27 17:50:39 +00:00
ata Try to fix the problem with burncd blank not seeing the end of 2002-12-17 16:27:45 +00:00
atkbdc Include "opt_kbd.h" since certain structures size depend on the value 2002-10-15 21:35:01 +00:00
awi Correct mbuf packet header propagation. Previously, packet headers 2002-12-30 20:22:40 +00:00
bge network interface driver changes: 2002-11-14 23:54:55 +00:00
bktr Fix a panic unloading the bktr driver when devfs is in use. 2002-12-09 09:04:09 +00:00
buslogic Add some band-aid casts to quiet warnings. This driver still assumes 2002-11-06 20:34:38 +00:00
cardbus Need more parens here. 2002-11-27 17:30:41 +00:00
ccd - Use vrefcnt() instead of v_usecount. 2002-09-25 02:42:43 +00:00
ciss Fix a bunch of warnings on 64 bit platforms in the 2002-10-27 12:27:04 +00:00
cm network interface driver changes: 2002-11-14 23:54:55 +00:00
cnw network interface driver changes: 2002-11-14 23:54:55 +00:00
cs network interface driver changes: 2002-11-14 23:54:55 +00:00
ct This file does not <sys/disklabel.h> 2002-09-20 18:15:40 +00:00
cy Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
dc Fix the missspelt letter in DC_CTYPE_PUP_AUTOSENSe define. 2002-12-18 22:45:43 +00:00
de o track either_ifattach/ether_ifdetach API changes 2002-11-14 23:49:09 +00:00
dec Introduce a boot environment variable (clock_compat_osf1) which can 2001-11-03 17:22:50 +00:00
dgb Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
digi Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
dpt Use bus_addr_t instead of u_int32_t in functions to convert between 2002-11-06 21:19:17 +00:00
drm Remove an unused variable that snuck in the last commit. 2002-12-04 23:39:05 +00:00
ed network interface driver changes: 2002-11-14 23:54:55 +00:00
eisa Add tunable "hw.eisa_slots" to allow overriding the default number 2002-10-31 00:45:49 +00:00
em - Move to array based indexing for TX/RX descriptor/buffer management 2002-12-23 19:11:23 +00:00
en Correct mbuf packet header propagation. Previously, packet headers 2002-12-30 20:22:40 +00:00
ep network interface driver changes: 2002-11-14 23:54:55 +00:00
ex network interface driver changes: 2002-11-14 23:54:55 +00:00
exca Do not return(foo()) in void function. 2002-12-18 22:53:24 +00:00
fb Warning fixes. 2002-11-11 10:28:44 +00:00
fdc Remove calls to cdevsw_add(), they are dreprecated on this branch now. 2002-12-28 21:39:04 +00:00
fe network interface driver changes: 2002-11-14 23:54:55 +00:00
firewire - Add more CSR related definitions (IEEE-1212). 2002-12-30 09:41:32 +00:00
fxp network interface driver changes: 2002-11-14 23:54:55 +00:00
gem Catch up with sam's changes to network interfaces. 2002-11-15 14:36:33 +00:00
gfb Move include of opt_fb.h earlier so that FB_INSTALL_CDEV is defined in 2002-11-08 21:04:44 +00:00
gx network interface driver changes: 2002-11-14 23:54:55 +00:00
hea - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
hfa Adjust some casts to quiet warnings. 2002-11-06 22:58:55 +00:00
hifn Correct mbuf packet header propagation. Previously, packet headers 2002-12-30 20:22:40 +00:00
hme network interface driver changes: 2002-11-14 23:54:55 +00:00
ic Move the com_scr register address definition over with the other seven. 2002-09-22 08:51:31 +00:00
ichsmb typo. 2002-10-18 12:06:01 +00:00
ida Use [u]intmax_t and %j instead of long long and %ll to better fix warnings 2002-11-07 22:23:46 +00:00
idt Use more standard variable names for modevent functions. 2002-10-02 04:47:52 +00:00
ie network interface driver changes: 2002-11-14 23:54:55 +00:00
iicbus network interface driver changes: 2002-11-14 23:54:55 +00:00
iir Remove S_IROTH from the make_dev() lines for iir-related devices. This 2002-12-27 16:28:31 +00:00
isp LINT related fixes (as noticed by bde) 2002-10-14 22:13:51 +00:00
ispfw Know that a 10160 is the same as a 12160. 2002-10-12 00:12:31 +00:00
joy Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
kbd Include "opt_kbd.h" since certain structures size depend on the value 2002-10-15 21:35:01 +00:00
lge network interface driver changes: 2002-11-14 23:54:55 +00:00
lmc Remove #include <pci.h> - there is no abuse of NPCI here 2002-07-21 05:16:14 +00:00
lnc network interface driver changes: 2002-11-14 23:54:55 +00:00
mc146818
mca Argh, isa(4), eisa(4) and mca(4) now attach to legacy(4) instead of 2002-09-26 18:40:06 +00:00
mcd Replace {disable,enable}_intr() with critical_{enter,exit}(). 2002-11-10 03:45:49 +00:00
md Move the check for the MD_SHUTDOWN flag to before the tsleep() call 2002-11-30 22:03:53 +00:00
mii Remove unnecessary <sys/malloc.h> include. 2002-10-29 00:20:47 +00:00
mk48txx Add a driver back end for the Mostek MK48T02, MK48T08 and MK48T59 2002-04-04 23:44:42 +00:00
mlx use __packed. 2002-09-23 18:54:32 +00:00
mly Pass correct parameters to bus_space_barrier() instead of 0 2002-11-14 13:25:53 +00:00
mpt Be consistent about functions being static. 2002-10-16 08:48:39 +00:00
mse Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-23 16:01:49 +00:00
musycc Use %z and %j to quiet warnings. 2002-11-07 22:21:38 +00:00
my network interface driver changes: 2002-11-14 23:54:55 +00:00
ncv o Changes to support NEWCARD. 2002-11-28 01:13:58 +00:00
nge network interface driver changes: 2002-11-14 23:54:55 +00:00
nmdm Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
nsp o Changes to support NEWCARD. 2002-11-28 01:09:29 +00:00
null Everywhere else, an argument passed to a device containing flags 2002-09-21 17:28:17 +00:00
ofw Create the ofwcons device at SI_SUB_CONFIGURE instead of SI_SUB_DRIVERS, 2002-11-18 06:19:12 +00:00
pccard regen to 1.38 2002-11-28 01:00:40 +00:00
pccbb Remove a comple of bogus debug printfs that snuck in during some 2002-11-23 23:09:45 +00:00
pcf Fix bktr and pcf compilation with LINT 2002-03-25 21:22:35 +00:00
pci Properly account for prefetchable memory when a request is being made. 2002-12-03 08:34:20 +00:00
pcic DETACH_FORCE was removed recently. Remove it here, even though this 2002-11-17 04:52:37 +00:00
pdq network interface driver changes: 2002-11-14 23:54:55 +00:00
ppbus Synchronize mode for ppsX devices to that found previously in MAKEDEV 2002-12-27 16:34:12 +00:00
ppc Restore the original copyright 2002-03-23 15:36:13 +00:00
pst Fxi support for the Promise SuperTrak 100, the PCI id was wrong. 2002-12-20 12:15:38 +00:00
puc fix build (make LINT) 2002-12-30 19:45:30 +00:00
raidframe Play nice with GEOM and use the appropriate ioctls for getting the 2002-12-10 15:52:56 +00:00
random Fix a buffer overrun in /dev/random which, due to the nature of the 2002-12-12 17:38:45 +00:00
ray network interface driver changes: 2002-11-14 23:54:55 +00:00
rc Use critical_enter/exit instead of disable/enable_intr to make this 2002-11-08 18:32:57 +00:00
rp Fix data corruption caused by last byte in oddly sized transfers being read 2002-10-20 18:43:11 +00:00
sab Fix compiling without DDB and ALT_BREAK_TO_DEBUGGER. 2002-12-30 18:18:22 +00:00
sbni network interface driver changes: 2002-11-14 23:54:55 +00:00
scd Replace {disable,enable}_intr() with critical_{enter,exit}(). 2002-11-10 03:45:49 +00:00
sf o track either_ifattach/ether_ifdetach API changes 2002-11-14 23:49:09 +00:00
si Cast a pointer to uintptr_t instead ot u_int. 2002-11-07 19:56:21 +00:00
sio Be nice. There are evidentally a number of different cards that 2002-12-21 22:37:54 +00:00
sk o track either_ifattach/ether_ifdetach API changes 2002-11-14 23:49:09 +00:00
smbus Cleanup of amdpm(4). 2002-09-21 21:43:49 +00:00
sn network interface driver changes: 2002-11-14 23:54:55 +00:00
snc network interface driver changes: 2002-11-14 23:54:55 +00:00
snp Declare the snp ioctl()s to work on udev_t, since that is what they 2002-11-11 10:45:31 +00:00
sound Do not return(foo()) in void function. 2002-12-18 22:53:24 +00:00
speaker Merge PC98 changes. 2002-11-02 04:18:10 +00:00
sr network interface driver changes: 2002-11-14 23:54:55 +00:00
stg o Changes to support NEWCARD. 2002-11-28 01:15:01 +00:00
streams s/sokqfilter/soo_kqfilter/ for consistency with the naming of all 2002-12-23 21:37:28 +00:00
sym Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
syscons Do not try to work around ``poor (un)sign extension code'' 2002-10-20 22:50:13 +00:00
tdfx Make use of UID_ROOT, GID_WHEEL for make_dev() arguments. 2002-12-27 16:40:54 +00:00
tga Use UID_ROOT and GID_WHEEL for uid/gid argments to make_dev(). 2002-12-27 16:44:11 +00:00
ti o track either_ifattach/ether_ifdetach API changes 2002-11-14 23:49:09 +00:00
trm Fix the panic that occurs when kldunloading trm by using the correct 2002-12-16 13:38:22 +00:00
twe Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
tx network interface driver changes: 2002-11-14 23:54:55 +00:00
txp network interface driver changes: 2002-11-14 23:54:55 +00:00
ubsec Correct mbuf packet header propagation. Previously, packet headers 2002-12-30 20:22:40 +00:00
usb When resuming after a system suspend, re-issue the UHCI_CMD_MAXP 2002-12-26 13:25:57 +00:00
vinum Back out revision 1.38. disklabel now understands vinum volumes again. 2002-12-18 00:18:54 +00:00
vr Import some relevant changes from Via's if_fet driver: 2002-11-25 05:15:27 +00:00
vx network interface driver changes: 2002-11-14 23:54:55 +00:00
wds - Use %p to print pointers instead of casting pointers to an int and using 2002-11-07 22:25:13 +00:00
wi Require privilege to flush the signal cache on if_an and if_wi 802.11 2002-12-24 14:46:01 +00:00
wl network interface driver changes: 2002-11-14 23:54:55 +00:00
xe network interface driver changes: 2002-11-14 23:54:55 +00:00