dragonfly.git
15 years agoFix CVE-2008-3831. Affects the Intel G33 series and newer only.
Hasso Tepper [Mon, 27 Oct 2008 03:42:33 +0000 (03:42 +0000)]
Fix CVE-2008-3831. Affects the Intel G33 series and newer only.

Obtained-from: DRM git

15 years agopr_ctlinput is usually called when certains types of ICMP packets are received.
Sepherosa Ziehau [Mon, 27 Oct 2008 02:56:30 +0000 (02:56 +0000)]
pr_ctlinput is usually called when certains types of ICMP packets are received.
However, the processing of ICMP packets happens in netisr0, which means the
thread context, in which pr_ctlinput is called, is not correct.  To handle this
following two fixes are applied:
- Add pr_ctlport to protosw and ip6protosw, which could be used to locate
  correct msgport to call pr_ctlinput for specific protocol
- All necessary information needed by pr_ctlinput are gather into one netmsg,
  and this netmsg is delivered synchronously (some information is on the stack)

Note for new protocol implementation:
pr_ctlinput and pr_ctlport should be both NULL or both non-NULL.

Obtained-from: dillon@
Tested-by: pavalos@
15 years agoRemove stale header file.
Sascha Wildner [Sun, 26 Oct 2008 17:17:44 +0000 (17:17 +0000)]
Remove stale header file.

15 years agoUpdate ips_total
Sepherosa Ziehau [Sun, 26 Oct 2008 09:50:15 +0000 (09:50 +0000)]
Update ips_total

Obtained-from: NetBSD ip_flow.c rev 1.34

15 years ago- If a packet came in as link-level broadcast or link-level multicast, don't
Sepherosa Ziehau [Sun, 26 Oct 2008 09:37:50 +0000 (09:37 +0000)]
- If a packet came in as link-level broadcast or link-level multicast, don't
  attempt to fast-forward it out.
  Obtained-from: NetBSD ip_flow.c rev 1.14
- Fix comment

15 years ago- ip_mport() will make sure following things for us:
Sepherosa Ziehau [Sun, 26 Oct 2008 09:15:33 +0000 (09:15 +0000)]
- ip_mport() will make sure following things for us:
  o  IP header is in one mbuf
  o  IP length is not less then IP header length
- Truncate mbufs to the correct length before forwarding
  Obtained-from: NetBSD ip_flow.c rev 1.6

15 years agoPerform ipflow timeout, only if the CPU has active ipflows; saves us some
Sepherosa Ziehau [Sun, 26 Oct 2008 08:32:10 +0000 (08:32 +0000)]
Perform ipflow timeout, only if the CPU has active ipflows; saves us some
physical ipi sending time.

Inspired-by: NetBSD ipflow.c rev 1.2
15 years agoBring in following changes from NetBSD ip_flow.c
Sepherosa Ziehau [Sun, 26 Oct 2008 08:02:43 +0000 (08:02 +0000)]
Bring in following changes from NetBSD ip_flow.c
rev 1.2(part), 1.8, 1.9, 1.10, 1.11, 1.12, 1.18(w/ mod)

- IP checksum fix/twist
- Hardware checksum off loading fix

15 years ago- Move ipflow definition from ip_flow.h to ip_flow.c; it's implementation
Sepherosa Ziehau [Sun, 26 Oct 2008 07:11:28 +0000 (07:11 +0000)]
- Move ipflow definition from ip_flow.h to ip_flow.c; it's implementation
  detail.
- Move ipflow function declarations from in_var.h to ip_flow.h, include
  ip_flow.h in files which uses ipflow functions.

15 years ago- Return the real cluster limit used by the objcache
Sepherosa Ziehau [Sun, 26 Oct 2008 04:29:20 +0000 (04:29 +0000)]
- Return the real cluster limit used by the objcache
- For mbuf objcaches, raise backing kmalloc pools' limit according to the
  cluster limits.
Suggested-by: dillon@
Reviewed-by: aggelos@, nth@
15 years agoit's -> its
Sascha Wildner [Sun, 26 Oct 2008 00:05:24 +0000 (00:05 +0000)]
it's -> its

15 years ago- RX/TX coal parameters could be set at any time.
Sepherosa Ziehau [Sat, 25 Oct 2008 10:46:55 +0000 (10:46 +0000)]
- RX/TX coal parameters could be set at any time.
- Set default RX coal packets to 64, so RX coal timeout takes control during
  bulk data operations.  This greately reduces the interrupt rate while keeps
  bulk data performance.
- Set default TX coal packets to 64 and TX coal timeout to 65535us (maximum
  allowable value).  This greately reduce the interrupt rate while greately
  increases (almost doubles) small packet TX performance.
- Remove unused field in jme_softc

15 years agoUse atomic_fetchadd_int() to simplify the reference counting logic.
Sepherosa Ziehau [Fri, 24 Oct 2008 11:15:07 +0000 (11:15 +0000)]
Use atomic_fetchadd_int() to simplify the reference counting logic.

Reviewed-by: dillon@
15 years agoRemove more stuff: ports/, root_skels/ (which we maintain in nrelease/),
Sascha Wildner [Thu, 23 Oct 2008 16:56:23 +0000 (16:56 +0000)]
Remove more stuff: ports/, root_skels/ (which we maintain in nrelease/),
scripts/ and src/lib/lua.

15 years agoReduce differences with root_skels in contrib.
Sascha Wildner [Thu, 23 Oct 2008 16:45:37 +0000 (16:45 +0000)]
Reduce differences with root_skels in contrib.

15 years agoAdd a periodic(8) script to run 'hammer cleanup' (snapshot, prune
Sascha Wildner [Wed, 22 Oct 2008 20:15:55 +0000 (20:15 +0000)]
Add a periodic(8) script to run 'hammer cleanup' (snapshot, prune
and reblock all HAMMER filesystems) on a nightly basis. The exact
behavior (period, retention and run time) can be configured by
tweaking <filesystem>/snapshots/config as described in hammer(5).

15 years agoAdd 5906/5906M support. Based on my old patch with some additional work from
Sepherosa Ziehau [Wed, 22 Oct 2008 14:24:24 +0000 (14:24 +0000)]
Add 5906/5906M support.  Based on my old patch with some additional work from
FreeBSD.

Tested-by: Petr Janda <elekktretterr@exemail.com.au>
15 years agoRaise the kmalloc limit for the M_HAMMER_INO pool based on desiredvnodes
Matthew Dillon [Wed, 22 Oct 2008 01:43:51 +0000 (01:43 +0000)]
Raise the kmalloc limit for the M_HAMMER_INO pool based on desiredvnodes
to try to avoid kernel memory exhaustion panics.

Reported-by: Matthias Schmidt <matthias@dragonflybsd.org>, and others.
15 years agoAdd kmalloc_raise_limit() - allow a subsystem to raise the allocation
Matthew Dillon [Wed, 22 Oct 2008 01:42:17 +0000 (01:42 +0000)]
Add kmalloc_raise_limit() - allow a subsystem to raise the allocation
limit for a kmalloc pool.

15 years agoRemove trailing whitespace.
Sascha Wildner [Tue, 21 Oct 2008 14:35:33 +0000 (14:35 +0000)]
Remove trailing whitespace.

15 years ago* Remove 'exit 1' so the script continues running.
Sascha Wildner [Tue, 21 Oct 2008 14:02:48 +0000 (14:02 +0000)]
* Remove 'exit 1' so the script continues running.

* Add swap to fstab.

* Remove dntpd setup because the same stuff is in our default dntpd.conf
  already.

15 years agoAdd tunable net.inet.ip.mpsafe to register IP as MPSAFE netisr.
Sepherosa Ziehau [Tue, 21 Oct 2008 13:51:01 +0000 (13:51 +0000)]
Add tunable net.inet.ip.mpsafe to register IP as MPSAFE netisr.
Multicast/IPSEC still need BGL.

15 years ago- Move RX filter configuration from re_init() into re_setmulti()
Sepherosa Ziehau [Tue, 21 Oct 2008 12:31:01 +0000 (12:31 +0000)]
- Move RX filter configuration from re_init() into re_setmulti()
- IFF_BROADCAST will never be set/cleared
- Fix SIOCSIFFLAGS support; it was really annoying that each time when I ran
  tcpdump, the NIC reinitialized itself.

15 years agoUnbreak UP building
Sepherosa Ziehau [Mon, 20 Oct 2008 13:16:58 +0000 (13:16 +0000)]
Unbreak UP building

15 years agoIn route_init(), call netmsg_service_port_init(); mainly to register route
Sepherosa Ziehau [Mon, 20 Oct 2008 12:22:24 +0000 (12:22 +0000)]
In route_init(), call netmsg_service_port_init(); mainly to register route
thread's msgport for netmsg_service_sync(), since route threads also do
network output during arp input processing.

15 years agoFix typo.
Sascha Wildner [Mon, 20 Oct 2008 07:35:08 +0000 (07:35 +0000)]
Fix typo.

15 years agoSync libc/stdtime and zdump(8)/zic(8) with tzcode2008h from elsie.
Sascha Wildner [Sun, 19 Oct 2008 20:15:58 +0000 (20:15 +0000)]
Sync libc/stdtime and zdump(8)/zic(8) with tzcode2008h from elsie.

There shouldn't be any user visible changes. Some bugs are fixed, among
them an issue with Python's mktime() when TZ wasn't set (reported by
Aran Cox).

Another thing is that this code should behave nicely on architectures with
a 64 bits wide time_t.

15 years agoRegenerate the pciconf(8) database from the following files:
Sascha Wildner [Sun, 19 Oct 2008 11:31:05 +0000 (11:31 +0000)]
Regenerate the pciconf(8) database from the following files:

Hart:    Jan 22, 2008 (version 671)
Boemler: Oct 19, 2008
Mares:   Oct 17, 2008

15 years agoAdd pcie_set_max_readrq() to avoid code duplication between various network
Sepherosa Ziehau [Sun, 19 Oct 2008 09:13:58 +0000 (09:13 +0000)]
Add pcie_set_max_readrq() to avoid code duplication between various network
device drivers.

15 years agoAdd m_devpad() to avoid code duplication in various network device drivers
Sepherosa Ziehau [Sun, 19 Oct 2008 08:39:55 +0000 (08:39 +0000)]
Add m_devpad() to avoid code duplication in various network device drivers

15 years agoUpdate sensorsd(8) to the latest code.
Hasso Tepper [Sun, 19 Oct 2008 08:16:20 +0000 (08:16 +0000)]
Update sensorsd(8) to the latest code.

Obtained-from: OpenBSD

15 years agoReduce RX coal ticks to 100us (favors performance a little bit)
Sepherosa Ziehau [Sun, 19 Oct 2008 08:11:35 +0000 (08:11 +0000)]
Reduce RX coal ticks to 100us (favors performance a little bit)

15 years ago- In re_stop(), call re_reset(), which is supposed to stop TX/RX engines.
Sepherosa Ziehau [Sun, 19 Oct 2008 06:00:24 +0000 (06:00 +0000)]
- In re_stop(), call re_reset(), which is supposed to stop TX/RX engines.
- In re_reset(), don't touch 0x82 (a magic CSR), which seems to be 8110/8169
  specific.  Write 1 to it on attach path.
  According-to: RealTek r8169-6.007.00
- For certain chips (looks like all MAC2 chips), RE_CMD_RESET will not stop
  TX/RX engines, a seperate command (RE_CMD_STOPREQ) must be issued before
  RE_CMD_RESET.
  According-to: RealTek r8168-8.008.00

15 years ago- Pack boolean fields into re_softc.re_flags
Sepherosa Ziehau [Sun, 19 Oct 2008 04:40:16 +0000 (04:40 +0000)]
- Pack boolean fields into re_softc.re_flags
- Nuke some unused fields in re_softc

# This file should have been committed along with if_re.c rev1.93

15 years ago- Pack boolean fields into re_softc.re_flags
Sepherosa Ziehau [Sun, 19 Oct 2008 04:38:40 +0000 (04:38 +0000)]
- Pack boolean fields into re_softc.re_flags
- Nuke some unused fields in re_softc

15 years agoInstead of using lwkt_migratecpu(), use ifnet threads to do dom_rtattach()
Sepherosa Ziehau [Sun, 19 Oct 2008 03:25:31 +0000 (03:25 +0000)]
Instead of using lwkt_migratecpu(), use ifnet threads to do dom_rtattach()

15 years ago- Move PCIe chip detection into re_probe()
Sepherosa Ziehau [Sun, 19 Oct 2008 03:17:52 +0000 (03:17 +0000)]
- Move PCIe chip detection into re_probe()
- Panic if the passed in "max read request size" exceeds limit

15 years agoTry recollecting TX descriptors when we are short of them in re_start()
Sepherosa Ziehau [Sat, 18 Oct 2008 14:56:31 +0000 (14:56 +0000)]
Try recollecting TX descriptors when we are short of them in re_start()

15 years agoThere are 4 fields in re_hwrev
Sepherosa Ziehau [Sat, 18 Oct 2008 11:49:34 +0000 (11:49 +0000)]
There are 4 fields in re_hwrev

15 years agoReduce the threshold that control when "cut through mode" should be applied;
Sepherosa Ziehau [Sat, 18 Oct 2008 11:36:37 +0000 (11:36 +0000)]
Reduce the threshold that control when "cut through mode" should be applied;
mainly to fix jumbo frame RX support.

15 years ago- Don't claim 7422 MTU size is support by various 8111/8169 chips (PCI devices);
Sepherosa Ziehau [Sat, 18 Oct 2008 11:26:52 +0000 (11:26 +0000)]
- Don't claim 7422 MTU size is support by various 8111/8169 chips (PCI devices);
  6144 MTU size works reliably.
    Set MTU above 6144 (6 * 1024) on these chips and do following test:
    netperf -H host -l 30 -t UDP_STREAM -- -m (mtu-28)
    All kinds of wiredness will pop up on the test box.
- Set max supported MTU to 9216 for 8168D.
  Obtained-from: Realtek r8168-8.008.00
- Set max supported MTU to 6144 for non-8168D GigE chips.
- Cleanup jumbo frame/MTU size related macros.

# As usual, 8169(with 88E1000 PHY) does not seem to work well with any jumbo
# frame size

15 years agoFix hardware vlan tagging support by setting vlan information on all TX
Sepherosa Ziehau [Sat, 18 Oct 2008 04:44:41 +0000 (04:44 +0000)]
Fix hardware vlan tagging support by setting vlan information on all TX
descriptors for multi-segment packets.

# Even with this fix in place, 8169 still does not work reliably with vlan.
# Certain packets are never seen on the wire; maybe caused by the trailing
# ether frame CRC generated by the hardware?

15 years agoFix re_ioctl SIOCSIFCAP support, so that VLAN_HWTAGGING and VLAN_MTU could
Sepherosa Ziehau [Sat, 18 Oct 2008 03:00:29 +0000 (03:00 +0000)]
Fix re_ioctl SIOCSIFCAP support, so that VLAN_HWTAGGING and VLAN_MTU could
be turned off.

15 years agoTry to do a better job aborting active requests when a usb mass storage
Matthew Dillon [Sat, 18 Oct 2008 01:17:53 +0000 (01:17 +0000)]
Try to do a better job aborting active requests when a usb mass storage
device is pulled.

15 years agoAllow an alignment default of 0 to be treated as 1.
Matthew Dillon [Sat, 18 Oct 2008 01:15:33 +0000 (01:15 +0000)]
Allow an alignment default of 0 to be treated as 1.

Obtained-from: FreeBSD

15 years agoAdd vfs.nfs.flush_on_hlink and default to off.
Matthew Dillon [Sat, 18 Oct 2008 01:13:54 +0000 (01:13 +0000)]
Add vfs.nfs.flush_on_hlink and default to off.

15 years agoCorrect jumbo frame support for 8168C/CP/D.
Sepherosa Ziehau [Fri, 17 Oct 2008 14:12:23 +0000 (14:12 +0000)]
Correct jumbo frame support for 8168C/CP/D.

These newer chips use ancient design, which does _not_ support gathering RX.
An even worse aspect of the new chips' design is that it does not compat
with old ones: the buffer length field in the RX descriptor seems to be
completely ignored by the hardware.  This means host memory will be trashed
by hardware if driver uses gathering RX.

Allocate a jumbo buffer pool for these chips and configure "max RX packet
size" register according to MTU.

15 years agoFix some typos.
Sascha Wildner [Fri, 17 Oct 2008 12:41:38 +0000 (12:41 +0000)]
Fix some typos.

Found-by: LanguageTool
15 years agoChange 'then' to 'than' in comparisons.
Sascha Wildner [Fri, 17 Oct 2008 11:30:24 +0000 (11:30 +0000)]
Change 'then' to 'than' in comparisons.

Found-by: LanguageTool
15 years agoUse standard markup for one or more files.
Sascha Wildner [Fri, 17 Oct 2008 07:52:56 +0000 (07:52 +0000)]
Use standard markup for one or more files.

15 years agoChange 'then' to 'than' in comparisons.
Sascha Wildner [Thu, 16 Oct 2008 23:08:30 +0000 (23:08 +0000)]
Change 'then' to 'than' in comparisons.

Found-by: LanguageTool
15 years agoAdd KQUEUE support to HAMMER.
Matthew Dillon [Thu, 16 Oct 2008 17:24:16 +0000 (17:24 +0000)]
Add KQUEUE support to HAMMER.

15 years agoAdd a new utility called 'monitor' which uses kqueue to monitor a
Matthew Dillon [Thu, 16 Oct 2008 17:23:20 +0000 (17:23 +0000)]
Add a new utility called 'monitor' which uses kqueue to monitor a
list of files and directories specified on the command line.

15 years agoAdjust max read request size according to MTU; 512 seems to be the only
Sepherosa Ziehau [Thu, 16 Oct 2008 14:58:50 +0000 (14:58 +0000)]
Adjust max read request size according to MTU; 512 seems to be the only
value that works with jumbo frames without "watchdog timeout" during
UDP_STREAM netperf tests.

15 years agoAccording to wpaul's comment, 8139C+ only support 64 TX/RX descriptors
Sepherosa Ziehau [Thu, 16 Oct 2008 12:46:40 +0000 (12:46 +0000)]
According to wpaul's comment, 8139C+ only support 64 TX/RX descriptors

15 years agoAdd hardware csum offload support for MAC style 2 chips, which include
Sepherosa Ziehau [Thu, 16 Oct 2008 12:29:13 +0000 (12:29 +0000)]
Add hardware csum offload support for MAC style 2 chips, which include
8102E, 8102EL, 8168C, 8168CP and 8168D.

Obtained-from: RealTek r8101-1.009.00 r8168-8.008.00

Add RE_C_AUTOPAD capability to indicate hardware could correctly pad
short ether frames.  Turn it on for newer version of 8168B (0x38000000
and 0xb8000000) and MAC style 2 chips; manually padding short UDP packets
for newer version 8168B will result in incorrect UDP csum, while manually
padding short ICMP packets for MAC style 2 chips will result in both
incorrect IP header csum and incorrect IP length (o_O)

15 years agoXref utrace(2) from ktrace(2) instead of ktrace(1).
Sascha Wildner [Thu, 16 Oct 2008 08:15:18 +0000 (08:15 +0000)]
Xref utrace(2) from ktrace(2) instead of ktrace(1).

15 years agoAdd man page for utrace(2). With modifications from FreeBSD. Xref utrace(2)
Matthias Schmidt [Thu, 16 Oct 2008 07:58:43 +0000 (07:58 +0000)]
Add man page for utrace(2).  With modifications from FreeBSD.  Xref utrace(2)
in ktrace(1).

15 years ago* Silence -Wold-style-definition (i.e., ansify).
Sascha Wildner [Thu, 16 Oct 2008 01:52:34 +0000 (01:52 +0000)]
* Silence -Wold-style-definition (i.e., ansify).

* Remove 'register'.

* Remove P() and friends.

15 years agoChange hammer_str_to_tid() and its callers to restrict the format of
Matthew Dillon [Wed, 15 Oct 2008 22:38:37 +0000 (22:38 +0000)]
Change hammer_str_to_tid() and its callers to restrict the format of
strings after the '@@' portion of the filename.  Unknown formats are
simply passed through, so for example you can create a file called 'x@@b'
without it thinking it is 'x' with a @@b transaction id extension.

The formats allowed are:

    @@0x%016llx[:%05d]
    @@-1[:%05d]

Any other format is passed through and not treated specially.

Reported-by: "Steve O'Hara-Smith" <steve@sohara.org>
15 years agoAdd code to parse the utrace(2) entries generated by malloc(3) in a more
Hasso Tepper [Wed, 15 Oct 2008 16:04:11 +0000 (16:04 +0000)]
Add code to parse the utrace(2) entries generated by malloc(3) in a more
human-readable format.

Obtained-from: FreeBSD

15 years agoFix another path
Matthias Schmidt [Wed, 15 Oct 2008 12:48:34 +0000 (12:48 +0000)]
Fix another path

15 years agoUse cred from componentname, don't access curthread
Aggelos Economopoulos [Wed, 15 Oct 2008 12:12:51 +0000 (12:12 +0000)]
Use cred from componentname, don't access curthread

15 years agoFix path to the dhcpd.conf file.
Matthias Schmidt [Wed, 15 Oct 2008 11:39:49 +0000 (11:39 +0000)]
Fix path to the dhcpd.conf file.

15 years agoAdd some DragonFly specific tips.
Matthias Schmidt [Wed, 15 Oct 2008 09:56:22 +0000 (09:56 +0000)]
Add some DragonFly specific tips.

15 years agoRemove unused variable.
Sascha Wildner [Tue, 14 Oct 2008 21:25:14 +0000 (21:25 +0000)]
Remove unused variable.

Found-by: LLVM/Clang Static Analyzer
15 years ago- Adjust PCI latency timer on all types of chips
Sepherosa Ziehau [Tue, 14 Oct 2008 15:11:38 +0000 (15:11 +0000)]
- Adjust PCI latency timer on all types of chips
- Adjust PCI cache line size for 8110/8169 chips
- For certain revision of 8101E, reading MAC address from IDRx may not
  work; read from EEPROM instead
- Add comment that adjusting config1 and config5 may cause unrecoverible
  disaster

Obtained-from: RealTek Linux drivers

15 years ago0x28000000 is 8168D according to Realtek r8168-8.008.00 driver
Sepherosa Ziehau [Tue, 14 Oct 2008 10:42:35 +0000 (10:42 +0000)]
0x28000000 is 8168D according to Realtek r8168-8.008.00 driver

15 years agoSync zoneinfo database with tzdata2008h from elsie.
Sascha Wildner [Mon, 13 Oct 2008 19:53:54 +0000 (19:53 +0000)]
Sync zoneinfo database with tzdata2008h from elsie.

africa:         8.16 -> 8.17
asia:           8.23 -> 8.24
southamerica:   8.29 -> 8.30
zone.tab:       8.18 -> 8.19

From Arthur David Olson's comments:

africa       - Change Maurituis transition hours to 2:00 *standard* time.
asia         - Change Syrian end of DST from October 1 to November 1.
southamerica - Add comment on new law 26350 (no data change yet).
zone.tab     - Fix Niue's longitude.

15 years agoAdd some PHY fixups before we do mii_phy_probe()
Sepherosa Ziehau [Mon, 13 Oct 2008 14:10:42 +0000 (14:10 +0000)]
Add some PHY fixups before we do mii_phy_probe()

Obtained-from: Realtek BSD driver v176

15 years agoBring in some PCI register settings from RealTek BSD driver v176. Disable
Sepherosa Ziehau [Mon, 13 Oct 2008 13:04:41 +0000 (13:04 +0000)]
Bring in some PCI register settings from RealTek BSD driver v176.  Disable
the PCI register configuration for "style 2 MAC", add comment about it.

15 years ago- Read ethernet address from IDRx registers.
Sepherosa Ziehau [Mon, 13 Oct 2008 11:35:02 +0000 (11:35 +0000)]
- Read ethernet address from IDRx registers.
  Obtained-from: RealTek BSD driver v176
  This eliminates the need to read/config EEPROM.  Put EEPROM related
  functions under RE_USE_EEPROM; disabled by default
- Maintain re_softc size no matter what kernel options we are using
- Remove RE_DISABLE_HWCSUM; we could do it by clearing RE_C_HWCUM

15 years agore_softc.re_swcum_lim is applied to ethernet frame without trailing CRC, so
Sepherosa Ziehau [Mon, 13 Oct 2008 10:52:23 +0000 (10:52 +0000)]
re_softc.re_swcum_lim is applied to ethernet frame without trailing CRC, so
it should include the size of ether header.

15 years agoAvoid following possible race:
Sepherosa Ziehau [Sun, 12 Oct 2008 11:17:08 +0000 (11:17 +0000)]
Avoid following possible race:
When we tell the hardware that the RX descriptor is ready to be reused, its
buffer content is not duplicated yet.

Reported-by: Jordan Gordeev <jgordeev@dir.bg>
15 years ago- Nuke re_type, add RE_C_8139CP to indicate the chip is 8139C+
Sepherosa Ziehau [Sun, 12 Oct 2008 10:19:31 +0000 (10:19 +0000)]
- Nuke re_type, add RE_C_8139CP to indicate the chip is 8139C+
- Change hardware revision mask from 0x7cc00000 to 0xfc800000
  Obtained-from: Realtek BSD driver v176
- Convert MAC mode to MAC version and save MAC version in softc
  Obtained-from: Realtek BSD driver v176
- Add hardware revision 0x34800000(8102E) and 0x28000000(chip name is unknown)
  Obtained-from: Realtek BSD driver v176

15 years agoRework re_probe()
Sepherosa Ziehau [Sun, 12 Oct 2008 04:08:59 +0000 (04:08 +0000)]
Rework re_probe()

15 years agoRename some HWREV
Sepherosa Ziehau [Thu, 9 Oct 2008 14:30:48 +0000 (14:30 +0000)]
Rename some HWREV

15 years agoUpdate man page to reflect recent changes
Sepherosa Ziehau [Thu, 9 Oct 2008 13:45:16 +0000 (13:45 +0000)]
Update man page to reflect recent changes

15 years agoIncrease default RX/TX descriptor count from 64 to 256
Sepherosa Ziehau [Thu, 9 Oct 2008 12:46:40 +0000 (12:46 +0000)]
Increase default RX/TX descriptor count from 64 to 256

15 years agoUse hardware timer to simulate interrupt moderation. Old devices will no
Sepherosa Ziehau [Thu, 9 Oct 2008 12:41:02 +0000 (12:41 +0000)]
Use hardware timer to simulate interrupt moderation.  Old devices will no
longer be livelocked when they are receiving on GigE line.  Newer devices
also gain well controlled interrupt rate.

If hardware supports interrupt moderation (e.g. 8168B, 8168C), you could
also use hardware based interrupt moderation, however, due to lack of
necessary information it does not work as reliably as simulated interrupt
moderation.  It is _not_ recommended currently.

By default, PCI-E devices' simulated interrupt moderation timer is set to
75us, while PCI devices' is set to 125us.

15 years agoAdd code to verify the data CRC by default, in addition to the B-Tree
Matthew Dillon [Thu, 9 Oct 2008 04:20:59 +0000 (04:20 +0000)]
Add code to verify the data CRC by default, in addition to the B-Tree
node CRCs.

15 years ago - sync usage() to man
Thomas Nikolajsen [Wed, 8 Oct 2008 21:01:54 +0000 (21:01 +0000)]
 - sync usage() to man
 - move snapshot command up, to reflect typical use

15 years agoLINKCHG interrupt is still needed
Sepherosa Ziehau [Wed, 8 Oct 2008 13:09:22 +0000 (13:09 +0000)]
LINKCHG interrupt is still needed

15 years ago - fix UP build
Thomas Nikolajsen [Tue, 7 Oct 2008 22:30:31 +0000 (22:30 +0000)]
 - fix UP build

15 years ago - sync usage() to manual
Thomas Nikolajsen [Tue, 7 Oct 2008 22:28:41 +0000 (22:28 +0000)]
 - sync usage() to manual
 - use `PFS #' in output, not `pfs_id' sometimes

15 years ago - null mount for PFS slave can't be set up before first mirroring operation,
Thomas Nikolajsen [Tue, 7 Oct 2008 22:23:12 +0000 (22:23 +0000)]
 - null mount for PFS slave can't be set up before first mirroring operation,
   as PFS slave path is unusable, as described in example
 - add markup

15 years ago- According to Realtek's BSD driver v176, we could always write to MISSEDPKT
Sepherosa Ziehau [Tue, 7 Oct 2008 12:49:05 +0000 (12:49 +0000)]
- According to Realtek's BSD driver v176, we could always write to MISSEDPKT
- Use pci_get_pciecap_ptr() to decide whether a given chip is PCI-E or not
- Rename re_flags to re_caps; we will need a real re_flags soon

15 years ago- It does not make sense to disable TX interrupt moderation
Sepherosa Ziehau [Tue, 7 Oct 2008 11:57:18 +0000 (11:57 +0000)]
- It does not make sense to disable TX interrupt moderation
- Add field in softc to store RX related interrupt bits

This cleanup eases upcoming changes.

15 years ago- Nuke interrupt bits definition which don't apply to 8169
Sepherosa Ziehau [Tue, 7 Oct 2008 11:39:36 +0000 (11:39 +0000)]
- Nuke interrupt bits definition which don't apply to 8169
- Don't test TX desc unavailable bit in re_intr, since it is never enabled

15 years agoAdd missing .Lb
Sascha Wildner [Tue, 7 Oct 2008 06:57:40 +0000 (06:57 +0000)]
Add missing .Lb

15 years agoAdd some xrefs.
Sascha Wildner [Mon, 6 Oct 2008 21:21:30 +0000 (21:21 +0000)]
Add some xrefs.

15 years agoPOSIX conformance:
Sascha Wildner [Mon, 6 Oct 2008 21:01:37 +0000 (21:01 +0000)]
POSIX conformance:

Add fmtmsg(3), posix_madvise(3), strfmon(3) and wordexp(3).

Taken-from: FreeBSD

15 years agoSync zoneinfo database with tzdata2008g from elsie.
Sascha Wildner [Mon, 6 Oct 2008 16:26:22 +0000 (16:26 +0000)]
Sync zoneinfo database with tzdata2008g from elsie.

southamerica:   8.27 -> 8.29

From 2008 on, DST in Brazil will be from the 3rd Sunday in October to the
3rd Sunday in February. If Carnival Sunday happens to be on the same day,
DST ends a week later.

15 years ago- Rearrange comment
Sepherosa Ziehau [Mon, 6 Oct 2008 14:51:10 +0000 (14:51 +0000)]
- Rearrange comment
- Reduce RX im timer from 125us to 50us

15 years agoAdd RX interrupt moderation suport for PCI-E GigaE chips.
Sepherosa Ziehau [Mon, 6 Oct 2008 14:22:32 +0000 (14:22 +0000)]
Add RX interrupt moderation suport for PCI-E GigaE chips.

Interrupt moderation register position is obtained from Realtek's
BSD driver v176.
The meaning of the IM register bits is partially reverse engineered:
RX timer position and unit.

This kind of interrupt moderation does not work on PCI GigaE chips.

15 years agoFix bug: sprintf() was used where snprintf() was meant.
Sascha Wildner [Sun, 5 Oct 2008 18:26:41 +0000 (18:26 +0000)]
Fix bug: sprintf() was used where snprintf() was meant.

15 years agoNuke obsolete DEVICE_SYSCTLS option.
Sascha Wildner [Sun, 5 Oct 2008 10:45:28 +0000 (10:45 +0000)]
Nuke obsolete DEVICE_SYSCTLS option.

15 years agore_freebufmem() may be re-entered, so set the mbuf tag to NULL after it is
Sepherosa Ziehau [Sun, 5 Oct 2008 08:28:32 +0000 (08:28 +0000)]
re_freebufmem() may be re-entered, so set the mbuf tag to NULL after it is
destroyed.

15 years ago- Set hardware timer according to bus clock. Adjust hardware timer to 8000HZ
Sepherosa Ziehau [Sun, 5 Oct 2008 07:57:45 +0000 (07:57 +0000)]
- Set hardware timer according to bus clock.  Adjust hardware timer to 8000HZ
- For PCI-E device, increase "max read request size" from default value (512)
  to 4096.  With 512 TX descriptors, this change gives me additional +80-90Mbps
  during netperf stream tests on an 8168C.

15 years agoGet bus clock, which will be used to fix broken TCTR setting (hardware timer,
Sepherosa Ziehau [Sun, 5 Oct 2008 06:15:36 +0000 (06:15 +0000)]
Get bus clock, which will be used to fix broken TCTR setting (hardware timer,
interrupt moderation related)