freebsd-dev/sys/pci
Bill Paul e4cffe95c7 Support for large frames for VLANs was added by tweaking the packet size
register, present only on 3c90xB and later NICs. This meant that you could
not use a 1500 byte MTU with VLANs on original 3c905/3c900 cards (boomerang
chipset). The boomerang chip does support large frames though, just not
in the same way: you can set the 'allow large frames' bit in the MAC
control register to receive frames up to 4K in size.

Changes:

- Set the 'allow large frames' bit for boomerang chips and increase
  the packet size register for cyclone and later chips. This allows
  us to use IFCAP_VLAN_MTU on all supported xl(4) NICs.
- Actually set the IFCAP_VLAN_MTU flag in the capabilities word
  in xl_attach().
- Change the method used to detect older boomerang chips. My 3c575C
  cardbus NIC was being incorrectly identified as 3c90x chip instead
  of 3c90xB because the capabilities word in its EEPROM reports
  a bizzare value. In addition to checking for the supportsNoTxLength
  bit, also check for the absence of the supportsLargePackets bit.
  Both of these cases denote a 3c90xB chip.
- Make RX and TX checksums configurable via the SIOCSIFCAP ioctl.
- Avoid an unecessary le32toh() in xl_rxeof(): we already have the
  received frame size in the lower 16 bits of rxstat, no need to
  read it again.

Tested with 3c905-TX, 3c900-TPO, 3c980C and 3c575C NICs.
2003-07-10 05:24:33 +00:00
..
agp_ali.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
agp_amd.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
agp_i810.c Add vm object locking. 2003-06-13 08:11:14 +00:00
agp_if.m Fix typo. 2003-04-07 10:06:48 +00:00
agp_intel.c Add PCI IDs for the i82855 and i82875P AGP bridges. 2003-06-23 11:09:45 +00:00
agp_sis.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
agp_via.c Sort the list of PCI ID's in numerical order and fix a whitespace bogon. 2003-06-27 18:17:06 +00:00
agp.c Add vm object locking. 2003-06-19 02:01:33 +00:00
agppriv.h
agpreg.h Add support for the Intel 865 chipset. 2003-05-27 18:23:56 +00:00
agpvar.h
alpm.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
amdpm.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
cy_pci.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
dc21040reg.h Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
if_dc.c Make the dc(4) driver endian-clean, so to that it works on sparc64. 2003-07-09 15:03:10 +00:00
if_dcreg.h Make the dc(4) driver endian-clean, so to that it works on sparc64. 2003-07-09 15:03:10 +00:00
if_de.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
if_devar.h Fix alignment requirements of tulip_rombuf by further increasing 2003-06-13 22:34:03 +00:00
if_mn.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
if_pcn.c Due to extreme bogusness in the pci bus layer, these drivers were 2003-07-03 21:39:53 +00:00
if_pcnreg.h
if_rl.c Due to extreme bogusness in the pci bus layer, these drivers were 2003-07-03 21:39:53 +00:00
if_rlreg.h Add support for Planex FNW-3800-TX(CardBus 100M/10M). 2003-03-18 14:57:09 +00:00
if_sf.c Due to extreme bogusness in the pci bus layer, these drivers were 2003-07-03 21:39:53 +00:00
if_sfreg.h
if_sis.c Due to extreme bogusness in the pci bus layer, these drivers were 2003-07-03 21:39:53 +00:00
if_sisreg.h Fix typo in an unused macro. 2003-01-29 21:56:10 +00:00
if_sk.c Due to extreme bogusness in the pci bus layer, these drivers were 2003-07-03 21:39:53 +00:00
if_skreg.h
if_ste.c Due to extreme bogusness in the pci bus layer, these drivers were 2003-07-03 21:39:53 +00:00
if_stereg.h Change the chip description from "DFE-550TX" to "DL10050". 2002-12-23 21:50:47 +00:00
if_ti.c Remove code that tries to detect if the MCLSHIFT and MSIZE macros 2003-06-13 20:46:34 +00:00
if_tireg.h Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
if_tl.c Use newly minted device_is_attached rather than device_is_alive to see 2003-04-21 18:34:04 +00:00
if_tlreg.h Use if_printf(ifp, "blah") and device_printf(dev, "blah") instead of 2002-10-21 02:54:50 +00:00
if_vr.c Due to extreme bogusness in the pci bus layer, these drivers were 2003-07-03 21:39:53 +00:00
if_vrreg.h Add deviceids for 6105 and 6105M chips. Further changes will be necessary 2003-02-01 01:27:05 +00:00
if_wb.c Due to extreme bogusness in the pci bus layer, these drivers were 2003-07-03 21:39:53 +00:00
if_wbreg.h
if_xl.c Support for large frames for VLANs was added by tweaking the packet size 2003-07-10 05:24:33 +00:00
if_xlreg.h Support for large frames for VLANs was added by tweaking the packet size 2003-07-10 05:24:33 +00:00
intpm.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
intpmreg.h
locate.pl
meteor_reg.h
meteor.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
ncr.c Merge common XPT_CALC_GEOMETRY functions into a single convenience function. 2003-06-14 22:17:41 +00:00
ncrreg.h
ti_fw2.h At long last, commit the zero copy sockets code. 2002-06-26 03:37:47 +00:00
ti_fw.h At long last, commit the zero copy sockets code. 2002-06-26 03:37:47 +00:00
viapm.c Add ID for VT8233A. 2003-06-22 06:50:02 +00:00
xmaciireg.h
xrpu.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00