Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Dec 2005 03:52:47 -0800
From:      "Ted Mittelstaedt" <tedm@toybox.placo.com>
To:        "Sasa Stupar" <sasa@stupar.homelinux.net>, <freebsd-questions@freebsd.org>
Subject:   RE: Polling For 100 mbps Connections? (Was Re: Freebsd Theme Song)
Message-ID:  <LOBBIFDAGNMAMLGJJCKNOEBFFDAA.tedm@toybox.placo.com>
In-Reply-To: <FD6D79D49B90F67B47B4CDBA@[192.168.10.249]>

next in thread | previous in thread | raw e-mail | index | archive | help

Sasa,

  Try this ping flooder then:

http://my-security.net/outofsite/ICMP%20Ping%20Flood.zip

Ted

>-----Original Message-----
>From: Sasa Stupar [mailto:sasa@stupar.homelinux.net]
>Sent: Monday, December 19, 2005 12:00 AM
>To: Ted Mittelstaedt; freebsd-questions@freebsd.org
>Subject: RE: Polling For 100 mbps Connections? (Was Re: Freebsd Theme
>Song)
>
>
>It doesn't work on winxp. I am going to build another machine
>with FreeBSD
>5.4 and I'll try it then and let you know the results.
>
>Sasa
>
>--On 18. december 2005 14:02 -0800 Ted Mittelstaedt
><tedm@toybox.placo.com>
>wrote:
>
>>
>> In looking at this again, I didn't realize you were pinging from
>> Win2K
>>
>> Win2K uses the -f option to set the Do Not Fragment bit, UNIX uses
>> the -f option to flood ping.  Win2k ping does not have a flood ping
>> option.  You can download a ping for Windows from Microsoft here:
>>
>> http://research.microsoft.com/barc/mbone/mping.aspx
>>
>> that does have an option for flooding traffic. ( set the milliseconds
>> between packets very low) but I have not tested it.  Doubtless
>> others are available on the Internet.
>>
>> Ted
>>
>>> -----Original Message-----
>>> From: owner-freebsd-questions@freebsd.org
>>> [mailto:owner-freebsd-questions@freebsd.org]On Behalf Of Sasa Stupar
>>> Sent: Sunday, December 18, 2005 6:07 AM
>>> To: Ted Mittelstaedt; freebsd-questions@freebsd.org
>>> Subject: RE: Polling For 100 mbps Connections? (Was Re: Freebsd Theme
>>> Song)
>>>
>>>
>>> Nothing. From the GUI view it is at 0% of utilisation.
>>>
>>> Sasa
>>>
>>> --On 18. december 2005 3:51 -0800 Ted Mittelstaedt
>>> <tedm@toybox.placo.com>
>>> wrote:
>>>
>>>>
>>>> what does the CPU of the router do when your doing that?
>>>>
>>>> Ted
>>>>
>>>>> -----Original Message-----
>>>>> From: owner-freebsd-questions@freebsd.org
>>>>> [mailto:owner-freebsd-questions@freebsd.org]On Behalf Of
>Sasa Stupar
>>>>> Sent: Sunday, December 18, 2005 3:00 AM
>>>>> To: Ted Mittelstaedt; freebsd-questions@freebsd.org
>>>>> Subject: RE: Polling For 100 mbps Connections? (Was Re:
>Freebsd Theme
>>>>> Song)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --On 18. december 2005 2:32 -0800 Ted Mittelstaedt
>>>>> <tedm@toybox.placo.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: owner-freebsd-questions@freebsd.org
>>>>>>> [mailto:owner-freebsd-questions@freebsd.org]On Behalf Of
>>> Sasa Stupar
>>>>>>> Sent: Sunday, December 18, 2005 2:21 AM
>>>>>>> To: Ted Mittelstaedt; freebsd-questions@freebsd.org
>>>>>>> Subject: RE: Polling For 100 mbps Connections? (Was Re: Freebsd
>>>>>>> Theme Song)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --On 18. december 2005 1:33 -0800 Ted Mittelstaedt
>>>>>>> <tedm@toybox.placo.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Sasa Stupar [mailto:sasa@stupar.homelinux.net]
>>>>>>>>> Sent: Friday, December 16, 2005 5:25 AM
>>>>>>>>> To: Ted Mittelstaedt; danial_thom@yahoo.com; Drew Tomlinson
>>>>>>>>> Cc: freebsd-questions@freebsd.org
>>>>>>>>> Subject: RE: Polling For 100 mbps Connections? (Was Re: Freebsd
>>>>>>>>> Theme Song)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --On 16. december 2005 3:36 -0800 Ted Mittelstaedt
>>>>>>>>> <tedm@toybox.placo.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Sasa Stupar [mailto:sasa@stupar.homelinux.net]
>>>>>>>>>>> Sent: Thursday, December 15, 2005 12:34 AM
>>>>>>>>>>> To: Ted Mittelstaedt; danial_thom@yahoo.com; Drew Tomlinson
>>>>>>>>>>> Cc: freebsd-questions@freebsd.org
>>>>>>>>>>> Subject: RE: Polling For 100 mbps Connections? (Was
>Re: Freebsd
>>>>>>>>>>> Theme Song)
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Ted
>>>>>>>>>>>
>>>>>>>>>>> Hmmm, here is test with iperf what I have done with and
>>>>>>>>> without polling:
>>>>>>>>>>> **************
>>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>>>> Client connecting to 192.168.1.200, TCP port 5001
>>>>>>>>>>> TCP window size: 8.00 KByte (default)
>>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>>>> [1816] local 192.168.10.249 port 1088 connected with
>>>>>>>>>>> 192.168.1.200 port 5001
>>>>>>>>>>> [ ID] Interval       Transfer     Bandwidth
>>>>>>>>>>> [1816]  0.0-10.0 sec   108 MBytes  90.1 Mbits/sec
>>>>>>>>>>>
>>>>>>>>>>> This is when I use Device polling option on m0n0.
>>>>>>>>>>>
>>>>>>>>>>> If I disable this option then my transfer is worse:
>>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>>>> Client connecting to 192.168.1.200, TCP port 5001
>>>>>>>>>>> TCP window size: 8.00 KByte (default)
>>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>>>> [1816] local 192.168.10.249 port 1086 connected with
>>>>>>>>>>> 192.168.1.200 port 5001
>>>>>>>>>>> [ ID] Interval       Transfer     Bandwidth
>>>>>>>>>>> [1816]  0.0-10.0 sec  69.7 MBytes  58.4 Mbits/sec
>>>>>>>>>>> ***************
>>>>>>>>>>>
>>>>>>>>>>> BTW: my router is m0n0wall (FBSD 4.11).
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> what are the cpu speeds and operating systems of all devices
>>>>>>>>>> in the packet path, what is the make and model of switchs in
>>>>>>>>>> use, provide dmesg output of the bsd box, a network diagram
>>>>>>>>>> of the setup, etc. etc. etc.
>>>>>>>>>>
>>>>>>>>>> The above test results are not replicatable and thus,
>worthless.
>>>>>>>>>> Useful test results would allow a reader to build an exact
>>>>>>>>>> duplicate of your setup, config it identically, and get
>>> identical
>>>>>>>>>> results.
>>>>>>>>>>
>>>>>>>>>> Ted
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> OK. The server (192.168.1.200) is FreeBSD 5.4 with Duron 900
>>>>>>> and 3C905C
>>>>>>>>
>>>>>>>> The 3com 3c905 is not a very good card under FreeBSD the
>>> driver was
>>>>>>>> written
>>>>>>>> without support from 3com and is shakey on a lot of
>>>>> hardware.  I would
>>>>>>>> say
>>>>>>>> there's a big question that your server is actually
>saturating the
>>>>>>>> ethernet.
>>>>>>>> Probably that is why your only getting 90Mbt.
>>>>>>>>
>>>>>>>>> NIC; router is m0n0wall (FreeBSD 4.11) with three Intel
>>>>>>>>> Pro/100S Nics and
>>>>>>>>> Celeron 433; The user computer (192.168.10.249) is Celeron 2400
>>>>>>>>> with winxp
>>>>>>>>> and integrated NIC Realtek 8139 series. Switch is CNET
>CNSH-1600.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Once again, the winxp+realtek 8139 is not a particularly
>>>>>>> steller combo,
>>>>>>>> I would question that this system could saturate the
>>>>> ethernet, either.
>>>>>>>>
>>>>>>>>> Diagram: <http://me.homelinux.net/network.pdf>;
>>>>>>>>>
>>>>>>>>> dmesg from the router:
>>>>>>>>> ----------------
>>>>>>>>> $ dmesg
>>>>>>>>> Copyright (c) 1992-2005 The FreeBSD Project.
>>>>>>>>> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991,
>>>>>>> 1992, 1993, 1994
>>>>>>>>> The Regents of the University of California. All
>rights reserved.
>>>>>>>>> FreeBSD 4.11-RELEASE-p11 #0: Wed Sep  7 13:49:09 CEST 2005
>>>>>>>>>    root@fb411.neon1.net:/usr/src/sys/compile/M0N0WALL_GENERIC
>>>>>>>>> Timecounter "i8254"  frequency 1193182 Hz
>>>>>>>>> CPU: Pentium II/Pentium II Xeon/Celeron (434.32-MHz
>>> 686-class CPU)
>>>>>>>>>  Origin = "GenuineIntel"  Id = 0x665  Stepping = 5
>>>>>>>>>
>>>>>>>>>
>Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,P
>>>>>>>>> GE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
>>>>>>>>> real memory  = 201326592 (196608K bytes)
>>>>>>>>> avail memory = 179142656 (174944K bytes)
>>>>>>>>> Preloaded elf kernel "kernel" at 0xc1006000.
>>>>>>>>> Preloaded mfs_root "/mfsroot" at 0xc100609c.
>>>>>>>>> Pentium Pro MTRR support enabled
>>>>>>>>> md0: Preloaded image </mfsroot> 11534336 bytes at 0xc0504d9c
>>>>>>>>> md1: Malloc disk
>>>>>>>>> Using $PIR table, 8 entries at 0xc00fdef0
>>>>>>>>> npx0: <math processor> on motherboard
>>>>>>>>> npx0: INT 16 interface
>>>>>>>>> pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on
>motherboard
>>>>>>>>> pci0: <PCI bus> on pcib0
>>>>>>>>> pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device
>>>>>>>>> 1.0 on pci0
>>>>>>>>> pci1: <PCI bus> on pcib1
>>>>>>>>> isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
>>>>>>>>> isa0: <ISA bus> on isab0
>>>>>>>>> atapci0: <Intel PIIX4 ATA33 controller> port 0xf000-0xf00f at
>>>>>>>>> device 7.1 on
>>>>>>>>> pci0
>>>>>>>>> ata0: at 0x1f0 irq 14 on atapci0
>>>>>>>>> ata1: at 0x170 irq 15 on atapci0
>>>>>>>>> uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port
>>>>>>>>> 0xd000-0xd01f irq 11
>>>>>>>>> at device 7.2 on pci0
>>>>>>>>> usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
>>>>>>>>> usb0: USB revision 1.0
>>>>>>>>> uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
>>>>>>>>> uhub0: 2 ports with 2 removable, self powered
>>>>>>>>> chip1: <Intel 82371AB Power management controller> port
>>>>>>>>> 0x5000-0x500f at
>>>>>>>>> device 7.3 on pci0
>>>>>>>>> pci0: <unknown card> (vendor=0x1274, dev=0x1371) at 8.0 irq 11
>>>>>>>>> fxp0: <Intel 82550 Pro/100 Ethernet> port 0xd800-0xd83f mem
>>>>>>>>> 0xd0400000-0xd041ffff,0xd0460000-0xd0460fff irq 10 at device
>>>>>>>>> 15.0 on pci0
>>>>>>>>> fxp0: Ethernet address 00:02:b3:62:f6:06
>>>>>>>>> inphy0: <i82555 10/100 media interface> on miibus0
>>>>>>>>> inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>>>>>>>>> fxp1: <Intel 82550 Pro/100 Ethernet> port 0xdc00-0xdc3f mem
>>>>>>>>> 0xd0420000-0xd043ffff,0xd0462000-0xd0462fff irq 12 at device
>>>>>>>>> 16.0 on pci0
>>>>>>>>> fxp1: Ethernet address 00:02:b3:9c:2a:16
>>>>>>>>> inphy1: <i82555 10/100 media interface> on miibus1
>>>>>>>>> inphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>>>>>>>>> fxp2: <Intel 82550 Pro/100 Ethernet> port 0xe000-0xe03f mem
>>>>>>>>> 0xd0440000-0xd045ffff,0xd0461000-0xd0461fff irq 7 at device
>>>>>>> 19.0 on pci0
>>>>>>>>> fxp2: Ethernet address 00:02:b3:8c:e4:f6
>>>>>>>>> inphy2: <i82555 10/100 media interface> on miibus2
>>>>>>>>> inphy2:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>>>>>>>>> pmtimer0 on isa0
>>>>>>>>> fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq
>>>>>>>>> 2 on isa0
>>>>>>>>> fdc0: FIFO enabled, 8 bytes threshold
>>>>>>>>> fd0: <1440-KB 3.5" drive> on fdc0 drive 0
>>>>>>>>> atkbdc0: <Keyboard controller (i8042)> at port
>0x60,0x64 on isa0
>>>>>>>>> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
>>>>>>>>> sio0: type 16550A, console
>>>>>>>>> sio1: configured irq 3 not in bitmap of probed irqs 0
>>>>>>>>> BRIDGE 020214 loaded
>>>>>>>>> IPsec: Initialized Security Association Processing.
>>>>>>>>> IP Filter: v3.4.35 initialized.  Default = block all,
>>>>>>> Logging = enabled
>>>>>>>>> ad0: 3098MB <WDC AC33200L> [6296/16/63] at ata0-master PIO4
>>>>>>>>> acd0: CDROM <LITE-ON CD-ROM LTN-527T> at ata1-master PIO4
>>>>>>>>> Mounting root from ufs:/dev/md0c
>>>>>>>>> fxp1: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
>>>>>>>>> fxp0: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
>>>>>>>>> fxp2: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
>>>>>>>>> ata0: resetting devices .. done
>>>>>>>>> -------------
>>>>>>>>>
>>>>>>>>> If you need more just ask for it. You don't need to be
>>>>> angry. Peace.
>>>>>>>>>
>>>>>>>>
>>>>>>>> OK, next question:
>>>>>>>>
>>>>>>>> ftp transfer like this uses large packets, rerun the test
>>>>> with ping -f
>>>>>>>> with different ping packet sizes, post the results.
>>>>>>>>
>>>>>>>> Remember, routers have to deal with many sized packets.
>>>>>>>>
>>>>>>>> Ted
>>>>>>>>
>>>>>>>
>>>>>>> Interesting. I have tested like you've said and I could ping
>>>>>>> with packet
>>>>>>> size 1450 bytes. Everything bigger is telling that
>"packet must be
>>>>>>> fragmented but DF is set up". This is of course pinging
>>> from winxp to
>>>>>>> server.
>>>>>>
>>>>>> That is normal since under winxp ping sets the DF bit I believe.
>>>>>>
>>>>>> The larger packets are not what matters, the smaller
>>> packets are more
>>>>>> interesting.  I find it hard to believe your getting the same
>>>>> throughput
>>>>>> with
>>>>>> flood pinging with 56 byte packets.
>>>>>>
>>>>>> Ted
>>>>>>
>>>>>
>>>>> Here is the output:
>>>>> -------------
>>>>> C:\Documents and Settings\nathsasa>ping -t -f -l 56 mig29
>>>>>
>>>>> Preverjanje dosegljivosti mig29.workgroup [192.168.1.200] z
>>> 56 B podatk
>>>>>
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>> Odgovor od 192.168.1.200: bajtov=56 čas < 1 ms TTL=63
>>>>>
>>>>> Statistika preverjanja dosegljivosti za 192.168.1.200:
>>>>>    Paketov: Poslanih = 46, Prejetih = 46, Izgubljenih = 0
>>> (0% izguba),
>>>>> Povprečni čas v milisekundah:
>>>>>    Minimum = 0ms, Maksimum = 0ms, Povprečje = 0ms
>>>>> -----------
>>>>>
>>>>> It's in my native language but the position is the same as
>>> in english.
>>>>>
>>>>> --
>>>>> Sasa Stupar
>>>>> _______________________________________________
>>>>> freebsd-questions@freebsd.org mailing list
>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>>>>> To unsubscribe, send any mail to
>>>>> "freebsd-questions-unsubscribe@freebsd.org"
>>>>>
>>>>> --
>>>>> No virus found in this incoming message.
>>>>> Checked by AVG Free Edition.
>>>>> Version: 7.1.371 / Virus Database: 267.14.1/206 - Release Date:
>>>>> 12/16/2005
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Sasa Stupar
>>> _______________________________________________
>>> freebsd-questions@freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>>> To unsubscribe, send any mail to
>>> "freebsd-questions-unsubscribe@freebsd.org"
>>>
>>> --
>>> No virus found in this incoming message.
>>> Checked by AVG Free Edition.
>>> Version: 7.1.371 / Virus Database: 267.14.1/206 - Release Date:
>>> 12/16/2005
>>>
>>
>
>
>
>--
>Sasa Stupar
>
>--
>No virus found in this incoming message.
>Checked by AVG Free Edition.
>Version: 7.1.371 / Virus Database: 267.14.1/206 - Release Date:
>12/16/2005
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?LOBBIFDAGNMAMLGJJCKNOEBFFDAA.tedm>