dslreports logo
 
    All Forums Hot Topics Gallery
spc
Search similar:


uniqs
2171

justin
..needs sleep
Mod
join:1999-05-28
2031
Billion BiPAC 7800N
Apple AirPort Extreme (2011)

2 edits

justin

Mod

Who can process the most PPS without drops?

I've been playing around with a flood program, called synk4.c

the source is »/front/synk4.c

gcc -o synk synk4.c

there is a usleep loop in the code. It is currently set to 35,000 packets per second (24mbit). If you increase the modulo if() (vi and search for usleep) then you'll increase the rate. eg, pick 3000 and you'll get close to 50mbit and 70k pps.

There is a watch.pl program:

»/front ··· watch.pl

It just prints every second the number of packets reported processed by the interface (eth1), and the drops or overruns, and the mbit processed. If you want it to look at eth0, then edit it.

Challenge:

Run synk from *another* box, hopefully, connected on a local 100mbit LAN (or gigabit, better).

./synk source-ip destination-ip low-port high-port

and monitor the interface on the destination machine. Who can process the most packets per second before drops?

This is the best I can manage (notice, small amount of drops, but this is the limit)

proc=37010 drop=389 over=0 mbit=24.27868 (mbit=17.95152)
proc=36213 drop=935 over=0 mbit=24.91719 (mbit=17.83104)
proc=35936 drop=714 over=0 mbit=23.91967 (mbit=17.592)
proc=35972 drop=422 over=0 mbit=24.42682 (mbit=17.46912)
proc=35339 drop=838 over=0 mbit=24.06243 (mbit=17.36496)

kernel 2.4, e1000.o with NAPI, with various netfilter rules, including ip_conntrack, with syn_cookies on.

On a different 2.4 machine, e1000.o, without NAPI, and with less netfilter rules, and it tops out at:
proc=26644 drop=0 over=0 mbit=13.86483 (mbit=12.78912)
proc=29784 drop=0 over=0 mbit=13.87859 (mbit=14.29656)
proc=29878 drop=0 over=0 mbit=13.950035 (mbit=14.34168)
proc=30019 drop=0 over=0 mbit=13.84666 (mbit=14.40912)
And, the machine became very unresponsive.. almost impossible to use. No drops are reported but they are probably getting dropped before they are seen by the interface.

Can you do better? I'm especially interested in whether kernel 2.6 does better, and other network cards and drivers, or whatever tweaks you can do.

Note, if the box feels very unresponsive during the test, please report that. How many interrupts per second is the card generating? with NAPI, I don't get any interrupts and the box feels normal during the test even while dropping packets.
justin

justin

Mod

I tried it on 2.4 box (Realtek 8139) aimed at a Windows XP machine.

Result:

windows XP (intel epro 100) could cope with about 60k packets per second, although CPU usage was pretty much flat out and interrupts per second was about 30k or so. The box still felt usable in terms of desktop.

In the process I discovered that my single synk under this linux config can't SEND more than about 50k packets per second. If you run a bunch of them in the background, you can get to 75k packets per second total, and thats it.

So if you have a linux box that can really handle more than 50k packets per second you need to be careful to aim a faster transmitter at it, or multiple ones.

Using another 2.4 machine, with a VIA VT6102, i could only generate 30k PPS, and that used about 50:50 cpu user and system..

DA OH
Do, Or Do Not. There Is No 'try'.
join:2002-01-07
Denver, CO

DA OH to justin

Member

to justin
I have a much older kernel (2.2.12-20smp), but here are my results...This specific kernel is required for SAP testing and my version of firewall software. This was run with the CheckPoint Firewall disabled. The machine was VERY sluggish during the test, and I even lost connection once. This is over a 100Mbit link.

Note: My kernel is so old, that ifconfig does not have the "RX bytes" and "TX Bytes" line, so this test may not be 100% accurate...

proc=2 drop=0 over=0 mbit=0 (mbit=0.00096)
proc=67542 drop=0 over=0 mbit=0 (mbit=32.42016)
proc=58027 drop=0 over=0 mbit=0 (mbit=27.85296)
proc=58523 drop=0 over=0 mbit=0 (mbit=28.09104)
proc=63846 drop=0 over=0 mbit=0 (mbit=30.64608)
proc=66205 drop=0 over=0 mbit=0 (mbit=31.7784)
proc=73692 drop=0 over=0 mbit=0 (mbit=35.37216)
proc=62747 drop=0 over=0 mbit=0 (mbit=30.11856)
proc=68490 drop=0 over=0 mbit=0 (mbit=32.8752)
proc=67029 drop=0 over=0 mbit=0 (mbit=32.17392)
proc=73104 drop=0 over=0 mbit=0 (mbit=35.08992)
proc=65611 drop=0 over=0 mbit=0 (mbit=31.49328)
proc=62889 drop=0 over=0 mbit=0 (mbit=30.18672)
proc=64311 drop=0 over=0 mbit=0 (mbit=30.86928)
proc=66912 drop=0 over=0 mbit=0 (mbit=32.11776)
proc=67468 drop=0 over=0 mbit=0 (mbit=32.38464)
proc=71642 drop=0 over=0 mbit=0 (mbit=34.38816)

[root@binky dslr]#
Linux binky 2.2.12-20smp #1 SMP Sat Feb 22 23:35:29 MST 2003 i686 unknown
[root@binky dslr]#

CPU0: Intel Celeron (Mendocino) stepping 05
calibrating APIC timer ...
..... CPU clock speed is 501.1235 MHz.
..... system bus clock speed is 66.8163 MHz.
Booting processor 1 eip 2000
Calibrating delay loop... 499.71 BogoMIPS
OK.
CPU1: Intel Celeron (Mendocino) stepping 05
Total of 2 processors activated (999.42 BogoMIPS).

eth0: 3Com 3c905B Cyclone 100baseTx at 0xc400, 00:50:04:0b:c8:04, IRQ 18
8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
MII transceiver found at address 24, status 786d.
MII transceiver found at address 0, status 786d.
Enabling bus-master transmits and whole-frame receives.

eth1: 3Com 3c905 Boomerang 100baseTx at 0xcc00, 00:60:08:5b:e2:00, IRQ 19
8K word-wide RAM 3:5 Rx:Tx split, autoselect/MII interface.
MII transceiver found at address 24, status 786d.
Enabling bus-master transmits and whole-frame receives.

justin
..needs sleep
Mod
join:1999-05-28
2031

justin

Mod

well sluggish maybe, but you did better than my dual xeon and e1000.o ..

I'm suspecting that a 2.6.1 kernel can do much better.

sporkme
drop the crantini and move it, sister
MVM
join:2000-07-01
Morristown, NJ

sporkme to justin

MVM

to justin
Got any flooder that will compile on something other than Linux?

pflog
Bueller? Bueller?
MVM
join:2001-09-01
El Dorado Hills, CA

1 edit

pflog to justin

MVM

to justin
Hmm this is odd. On a P4 3.0E with an e1000, the best I can get is:

proc=5009 drop=0 over=0 mbit=3.52606 (mbit=2.40432)

I even made sure I wasn't doing any interrupt throttling in the e1000 module (e.g. InterruptThrottleRate=0).

This is on 2.6.11-grsec. I changed the usleep to 100 instead of 300 without effect. I was curious what it would do going from the Linux box to the WinXP box, but I may have to boot knoppix on the XP desktop to see if it has similar limitations (also has an e1000 card).

*EDIT* Nevermind, it would help if I actually allowed and didn't reject ident packets. *cough*

So:
proc=139419 drop=0 over=0 mbit=89.07072 (mbit=66.92112)
proc=139649 drop=0 over=0 mbit=89.45024 (mbit=67.03152)
proc=139704 drop=0 over=0 mbit=89.33312 (mbit=67.05792)
proc=139686 drop=0 over=0 mbit=89.39072 (mbit=67.04928)
proc=139582 drop=0 over=0 mbit=89.5424 (mbit=66.99936)

This is with e1000 with InterruptThrottleRate set to 0. Sending computer is a 2.8Ghz Northwood also with an e1000 (default interrupt throttle rate).

If I undo the InterruptThrottleRate and modprobe it with the defaults (so that both cards are using the 2.6.x default) it seems to fluxuate but is slightly higher. The keyboard is sluggish during this, but I was able to ctrl-c the watch.pl script.

proc=136029 drop=0 over=0 mbit=86.87168 (mbit=65.29392)
proc=135887 drop=0 over=0 mbit=87.08736 (mbit=65.22576)
proc=135842 drop=0 over=0 mbit=86.95722 (mbit=65.20416)
proc=135471 drop=0 over=0 mbit=94.94592 (mbit=65.02608)
proc=148635 drop=0 over=0 mbit=105.46496 (mbit=71.3448)
proc=164969 drop=0 over=0 mbit=86.99072 (mbit=79.18512)
proc=136064 drop=0 over=0 mbit=89.36046 (mbit=65.31072)
proc=139543 drop=0 over=0 mbit=87.27086 (mbit=66.98064)
proc=136180 drop=0 over=0 mbit=87.07904 (mbit=65.3664)
proc=179847 drop=0 over=0 mbit=115.03552 (mbit=86.32656)
proc=157919 drop=0 over=0 mbit=101.11232 (mbit=75.80112)
proc=180920 drop=0 over=0 mbit=115.65312 (mbit=86.8416)
proc=184784 drop=0 over=0 mbit=118.43968 (mbit=88.69632)
proc=139494 drop=0 over=0 mbit=89.12128 (mbit=66.95712)
proc=140559 drop=0 over=0 mbit=91.52896 (mbit=67.46832)
proc=197844 drop=0 over=0 mbit=125.10336 (mbit=94.96512)
proc=168164 drop=0 over=0 mbit=107.62496 (mbit=80.71872)
proc=168960 drop=0 over=0 mbit=119.46048 (mbit=81.1008)

donoreo
Premium Member
join:2002-05-30
North York, ON

donoreo to justin

Premium Member

to justin
Flood program? Gee, wonder what prompted that? Trying to get a better understanding of how these attacks have been happening to mount a better defence. I wish you luck.

justin
..needs sleep
Mod
join:1999-05-28
2031
Billion BiPAC 7800N
Apple AirPort Extreme (2011)

justin to pflog

Mod

to pflog
deblin, that is great. confirms my suspicion that 2.6 does really well even without driver tweaking. If you're still interested, try recompilation of e1000.o with NAPI (it is a .config option in your kernel build).

You've basically filled your 100mbit interface there, although it is sluggish because it isn't NAPI. So unless you've got gigabit, this may not be the upper limit.

subcultured
Premium Member
join:2001-08-21
Jamaica Plain, MA

subcultured to sporkme

Premium Member

to sporkme
like sporkme, i need something else to flood my linux box; i have a mac running 10.3 and a linux box running 2.6.10. any ideas of a similar flooder for os x?

cheers

nil

join:2000-11-27

nil

Did you try compiling it on darwin? It should work from glancing at the source..

subcultured
Premium Member
join:2001-08-21
Jamaica Plain, MA

1 recommendation

subcultured

Premium Member

#include <linux/ip.h>
#include <linux/tcp.h>

hmm... doubt it ;-)

nil

join:2000-11-27

nil

Okay,I didn't look that closely

pflog
Bueller? Bueller?
MVM
join:2001-09-01
El Dorado Hills, CA

pflog to justin

MVM

to justin
I'll have to try with NAPI tonight and get back to you for a base line comparison. Strange that the mouse was responsive, but the keyboard wasn't - I would think that any interrupt would have been slow to respond, right?

boognish
Premium Member
join:2001-09-26
Baton Rouge, LA

2 edits

boognish to justin

Premium Member

to justin
messed up wrong interface. will redo it.
boognish

boognish to justin

Premium Member

to justin
proc=1406 drop=0 over=0 mbit=0 (mbit=0.67488)
proc=58267 drop=0 over=0 mbit=0 (mbit=27.96816)
proc=58142 drop=0 over=0 mbit=0 (mbit=27.90816)
proc=58766 drop=0 over=0 mbit=0 (mbit=28.20768)
proc=58099 drop=0 over=0 mbit=0 (mbit=27.88752)
proc=29152 drop=0 over=0 mbit=0 (mbit=13.99296)
proc=58098 drop=0 over=0 mbit=0 (mbit=27.88704)
proc=29109 drop=0 over=0 mbit=0 (mbit=13.97232)
proc=58125 drop=0 over=0 mbit=0 (mbit=27.9)
proc=29000 drop=0 over=0 mbit=0 (mbit=13.92)
proc=58158 drop=0 over=0 mbit=0 (mbit=27.91584)
proc=28995 drop=0 over=0 mbit=0 (mbit=13.9176)
proc=58020 drop=0 over=0 mbit=0 (mbit=27.8496)
proc=58735 drop=0 over=0 mbit=0 (mbit=28.1928)
proc=58216 drop=0 over=0 mbit=0 (mbit=27.94368)
proc=29016 drop=0 over=0 mbit=0 (mbit=13.92768)
proc=58052 drop=0 over=0 mbit=0 (mbit=27.86496)
proc=29025 drop=0 over=0 mbit=0 (mbit=13.932)
proc=58047 drop=0 over=0 mbit=0 (mbit=27.86256)
proc=29075 drop=0 over=0 mbit=0 (mbit=13.956)
proc=58143 drop=0 over=0 mbit=0 (mbit=27.90864)
proc=58809 drop=0 over=0 mbit=0 (mbit=28.22832)
Linux 2.2.16-22 #1 Tue Aug 22 16:49:06 EDT 2000 i686 unknown

Linux 2.4.18-VPN #3 SMP Tue Jul 8 00:07:58 CDT 2003 i686 unknown The network card on this one would stop responding.

nixen
Rockin' the Boxen
Premium Member
join:2002-10-04
Alexandria, VA

nixen to sporkme

Premium Member

to sporkme
said by sporkme:

Got any flooder that will compile on something other than Linux?
Heh... yeah. I'd love to see what my old SGI can handle. Though, it only has a 100Mbps interface in it.

-tom

boognish
Premium Member
join:2001-09-26
Baton Rouge, LA

2 edits

boognish to justin

Premium Member

to justin
proc=541262 drop=0 over=1219 mbit=3990.92334 (mbit=259.80576)
proc=6859447 drop=0 over=18247 mbit=449.25824 (mbit=3292.53456)
proc=571206 drop=0 over=3719 mbit=342.70416 (mbit=274.17888)
proc=1523494 drop=0 over=3670 mbit=914.05093 (mbit=731.27712)
proc=1413 drop=0 over=0 mbit=0.8478 (mbit=0.67824)
proc=2605789 drop=0 over=8711 mbit=1750.43175 (mbit=1250.77872)
proc=573367 drop=0 over=1605 mbit=209.26716 (mbit=275.21616)
proc=475290 drop=0 over=2886 mbit=232.84664 (mbit=228.1392)
proc=131513 drop=0 over=467 mbit=78.9018 (mbit=63.12624)
proc=1084316 drop=0 over=4996 mbit=650.55259 (mbit=520.47168)

Linux 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 i686 i386 GNU/Linux

This is a fresh install. I haven't done anything to it but put oracle 10g client on it. It is on some crappy hardware for testing.

justin
..needs sleep
Mod
join:1999-05-28
2031

justin

Mod

whats that, on a gigabit connection?

again 2.6, is so much better..

boognish
Premium Member
join:2001-09-26
Baton Rouge, LA

1 edit

boognish

Premium Member

The machine I was sending from has a gigabit card and is connected to the gigabit switch but the computer that was receiving has a cheap 10/100 ethernet hub in front of it and goes to a 10/100 in the computer.

nklb
Premium Member
join:2000-11-17
Ann Arbor, MI

nklb

Premium Member

said by boognish:

The machine I was sending from has a gigabit card and is connected to the gigabit switch but the computer that was receiving has a cheap 10/100 ethernet hub in front of it and goes to a 10/100 in the computer.
If true then those results should be technically impossible- cats can't fit into mouse holes.

pH1
Rawr
join:2001-12-31
Canada

1 edit

pH1 to justin

Member

to justin
From ubuntu live CD to FreeBSD 5.3 box with minor tuning.

This is with the FreeBSD box being limited to pushing 200 RST packets/s back.
            input          (xl1)           output
packets errs bytes packets errs bytes colls drops
100347 1 6020820 398 0 21492 0 0
89195 1 5351700 0 0 0 0 0
96224 1 5773440 199 0 10746 0 0
91596 1 5495760 318 0 17172 0 0
96947 1 5816820 279 0 15066 0 0
93575 1 5614500 199 0 10746 0 0
91572 1 5494320 199 0 10746 0 0
96197 1 5771820 199 0 10746 0 0
94374 1 5662440 200 0 10788 0 0
96445 1 5786700 199 0 10746 0 0
108645 2 6518700 199 0 10746 0 0

This is with the FreeBSD box responding to every packet.
            input          (xl1)           output
packets errs bytes packets errs bytes colls drops
59656 1 3579360 56449 0 3043332 0 0
58348 1 3500880 57558 0 3108132 0 0
57153 1 3429180 55983 0 3023136 0 0
58950 1 3537000 57618 0 3113802 0 0
59754 1 3585240 57874 0 3123036 0 0
58084 1 3485040 56364 0 3058452 0 0
58714 1 3522840 57845 0 3107430 0 0

~42Mbit/s with limiting, ~27Mbit/s without.

Linux box was totally choking, so I think it was one of the limiting factors. FreeBSD machine still had 10-15% CPU left to chew. :)

PS: Ubuntu and my hardware don't seem to like eachother. Took forever to do this test. :-)

Edit: Linux machine was Athlon XP 1600+, FreBSD is 1.2GHz Duron. Linux machine used the via-rhine chipset (AFAIK!) and FreeBSD was a 3COM 905.
pH1

pH1 to nklb

Member

to nklb
said by nklb:

e]If true then those results should be technically impossible- cats can't fit into mouse holes.
Probably ran watch.pl on the sending machine.

boognish
Premium Member
join:2001-09-26
Baton Rouge, LA

boognish

Premium Member

said by pH1:

Probably ran watch.pl on the sending machine.
Probably do not teach reading comprehension in Canada.
said by boognish:

The machine I was sending from has a gigabit card and is connected to the gigabit switch but the computer that was receiving has a cheap 10/100 ethernet hub in front of it and goes to a 10/100 in the computer.
I ran it again and it is pretty much the same results.

nklb
Premium Member
join:2000-11-17
Ann Arbor, MI

nklb

Premium Member

I'm not accusing you of doing it wrong, I am just saying those results are suspect. The maximum theoretically possible to arrive at the destination machine would be 100mbits/sec, but it would in fact be much less due to packet overhead and such.

It is possible that there is some error in the 2.6 kernel, the progams that are providing you with that data, or that in fact a mistake has been made somewhere in this test.

Any other 2.6 kernel people that can post their results? If this is a bug in the kernel code it would be a pretty important one.

Eatmeingreek
join:2001-06-29
San Francisco, CA

Eatmeingreek to justin

Member

to justin
synk4_freebsd.zip
3,218 bytes
(synk4_freebsd.c)
I max out at ~40000 packets/sec, but I wonder if it's the sending side (FreeBSD 5.1, dual PIII 500). The CPU on the sender is maxed. In any case, here's the Linux side:

Linux (snip) 2.6.10 #1 Tue Jan 11 21:56:40 PST 2005 i686 AMD Athlon(TM) XP 2600+ Authentic
*AMD GNU/Linux

proc=40224 drop=0 over=0 mbit=29.72358 (mbit=19.30752)
proc=40068 drop=0 over=0 mbit=29.728 (mbit=19.23264)
proc=40164 drop=0 over=0 mbit=29.71184 (mbit=19.27872)
proc=40100 drop=0 over=0 mbit=29.69408 (mbit=19.248)
proc=40120 drop=0 over=0 mbit=29.66152 (mbit=19.2576)
proc=40132 drop=0 over=0 mbit=29.70888 (mbit=19.26336)
proc=40136 drop=0 over=0 mbit=29.83024 (mbit=19.26528)
proc=40245 drop=0 over=0 mbit=29.66078 (mbit=19.3176)
proc=78794 drop=0 over=0 mbit=58.44468 (mbit=37.82112)
proc=39091 drop=0 over=0 mbit=30.51029 (mbit=18.76368)
proc=29467 drop=0 over=0 mbit=19.93948 (mbit=14.14416)
proc=18737 drop=0 over=0 mbit=13.96997 (mbit=8.99376)
proc=19087 drop=0 over=0 mbit=14.07332 (mbit=9.16176)
proc=19644 drop=0 over=0 mbit=14.56394 (mbit=9.42912)
proc=20059 drop=0 over=0 mbit=14.94504 (mbit=9.62832)
proc=20314 drop=0 over=0 mbit=15.0405 (mbit=9.75072)
proc=21675 drop=0 over=0 mbit=16.0358 (mbit=10.404)
proc=22582 drop=0 over=0 mbit=16.75266 (mbit=10.83936)
proc=39999 drop=0 over=0 mbit=29.57854 (mbit=19.19952)
proc=40107 drop=0 over=0 mbit=29.68658 (mbit=19.25136)
proc=40080 drop=0 over=0 mbit=29.67104 (mbit=19.2384)
proc=39641 drop=0 over=0 mbit=29.3225 (mbit=19.02768)
proc=40064 drop=0 over=0 mbit=29.65772 (mbit=19.23072)
proc=40071 drop=0 over=0 mbit=29.64144 (mbit=19.23408)
proc=40143 drop=0 over=0 mbit=29.7221 (mbit=19.26864)
proc=40115 drop=0 over=0 mbit=29.70508 (mbit=19.2552)
proc=40140 drop=0 over=0 mbit=29.65994 (mbit=19.2672)
proc=40132 drop=0 over=0 mbit=29.70508 (mbit=19.26336)
proc=40101 drop=0 over=0 mbit=29.7073 (mbit=19.24848)
proc=40125 drop=0 over=0 mbit=29.6555 (mbit=19.26)
proc=40093 drop=0 over=0 mbit=29.68732 (mbit=19.24464)
proc=40094 drop=0 over=0 mbit=29.65328 (mbit=19.24512)
proc=40174 drop=0 over=0 mbit=29.7258 (mbit=19.28352)
proc=40088 drop=0 over=0 mbit=29.66364 (mbit=19.24224)
proc=40203 drop=0 over=0 mbit=29.73838 (mbit=19.29744)
proc=40083 drop=0 over=0 mbit=29.69324 (mbit=19.23984)
proc=40132 drop=0 over=0 mbit=29.68288 (mbit=19.26336)
proc=40031 drop=0 over=0 mbit=29.7585 (mbit=19.21488)

(*) WARNING 1 long line(s) split

Here's the FreeBSD sender source:

boognish
Premium Member
join:2001-09-26
Baton Rouge, LA

boognish to nklb

Premium Member

to nklb
I agree it looks suspect. That is why I put the but in there. Just to show you that it is not from the same machine.
[@localhost ]$ time ./watch.pl
proc=67815374 drop=0 over=292757 mbit=40727.6894 (mbit=32551.37952)
proc=2 drop=0 over=0 mbit=0.00166 (mbit=0.00096)
proc=1 drop=0 over=0 mbit=0.00106 (mbit=0.00048)
proc=3562353 drop=0 over=5733 mbit=2137.31068 (mbit=1709.92944)
proc=24395 drop=0 over=230 mbit=14.63686 (mbit=11.7096)
proc=12428 drop=0 over=106 mbit=8.70826 (mbit=5.96544)
proc=15047 drop=0 over=0 mbit=7.77766 (mbit=7.22256)
proc=21455 drop=0 over=100 mbit=13.92526 (mbit=10.2984)
proc=42317 drop=0 over=281 mbit=25.40086 (mbit=20.31216)
proc=137236 drop=0 over=809 mbit=-42867.12864 (mbit=65.87328)
proc=283241 drop=0 over=1467 mbit=168.66646 (mbit=135.95568)
proc=516045 drop=0 over=1551 mbit=309.60213 (mbit=247.7016)
proc=4837603 drop=0 over=17662 mbit=2902.38279 (mbit=2322.04944)
proc=653274 drop=0 over=2876 mbit=482.65405 (mbit=313.57152)
proc=1656631 drop=0 over=5637 mbit=2004.37359 (mbit=795.18288)
proc=4645919 drop=0 over=14359 mbit=2828.18846 (mbit=2230.04112)
proc=6141893 drop=0 over=19950 mbit=3153.84474 (mbit=2948.10864)
proc=2538623 drop=0 over=10018 mbit=912.18524 (mbit=1218.53904)
proc=2 drop=0 over=0 mbit=0.00166 (mbit=0.00096)
proc=1 drop=0 over=0 mbit=0.00166 (mbit=0.00048)
proc=2 drop=0 over=0 mbit=0.00106 (mbit=0.00096)
proc=2 drop=0 over=0 mbit=0.00166 (mbit=0.00096)
proc=2 drop=0 over=0 mbit=0.00166 (mbit=0.00096)
proc=2 drop=0 over=0 mbit=0.00166 (mbit=0.00096)
proc=2 drop=0 over=0 mbit=0.00166 (mbit=0.00096)

real 4m22.313s
user 0m0.195s
sys 0m23.779s
[@localhost ]$ ifconfig
-bash: ifconfig: command not found
[@localhost ]$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr
inet addr:192.168.1.37 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::201:3ff:febc:339e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:92903953 errors:0 dropped:0 overruns:373536 frame:0
TX packets:14098652 errors:0 dropped:0 overruns:0 carrier:8085
collisions:298560 txqueuelen:1000
RX bytes:1283032599 (1223.5 Mb) TX bytes:846541011 (807.3 Mb)
Interrupt:11 Base address:0xe000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:675393 errors:0 dropped:0 overruns:0 frame:0
TX packets:675393 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:27030817 (25.7 Mb) TX bytes:27030817 (25.7 Mb)

[root]# time ./synk 0 192.168.1.37 10000 30000

Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991 The Regents of the University
of California. All Rights Reserved.
Signal Caught. Exiting Cleanly.

real 4m11.717s
user 1m45.900s
sys 2m19.530s
[root]# ifconfig
eth0 Link encap:Ethernet HWaddr
inet addr:192.168.1.242 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:83663351 errors:0 dropped:0 overruns:0 frame:0
TX packets:199810212 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:10 Memory:d5000000-d5010000

pH1
Rawr
join:2001-12-31
Canada

pH1

Member

said by boognish:

I agree it looks suspect. That is why I put the but in there. Just to show you that it is not from the same machine.
Yeah, the "but" really implies which machine you were running watch.pl from. Thanks for being a jerk.

Eatmeingreek
join:2001-06-29
San Francisco, CA

2 edits

Eatmeingreek to justin

Member

to justin
synk4_freebsd.zip
3,219 bytes
(synk4_freebsd.c)
Turns out the very same source compiles on SGI with very minor tweaks. It seems to be even more severly limited as a sender though:

Linux (snip) 2.6.9-gentoo-r14 #1 Tue Jan 25 10:43:59 PST 2005 x86_64 AMD Opteron(tm) Proce
*ssor 240 AuthenticAMD GNU/Linux
proc=11332 drop=0 over=0 mbit=6.80822 (mbit=5.43936)
proc=11327 drop=0 over=0 mbit=6.79682 (mbit=5.43696)
proc=11333 drop=0 over=0 mbit=6.80042 (mbit=5.43984)
proc=11336 drop=0 over=0 mbit=6.80194 (mbit=5.44128)
proc=11315 drop=0 over=0 mbit=6.78962 (mbit=5.4312)
proc=11341 drop=0 over=0 mbit=6.8073 (mbit=5.44368)
proc=11324 drop=0 over=0 mbit=6.80554 (mbit=5.43552)
proc=11335 drop=0 over=0 mbit=6.79148 (mbit=5.4408)
proc=11333 drop=0 over=0 mbit=6.80042 (mbit=5.43984)
proc=11364 drop=0 over=0 mbit=6.81062 (mbit=5.45472)
proc=11063 drop=0 over=0 mbit=6.6465 (mbit=5.31024)
proc=11329 drop=0 over=0 mbit=6.7971 (mbit=5.43792)
proc=11349 drop=0 over=0 mbit=6.8103 (mbit=5.44752)
proc=11306 drop=0 over=0 mbit=6.7845 (mbit=5.42688)
proc=11325 drop=0 over=0 mbit=6.7947 (mbit=5.436)
proc=11340 drop=0 over=0 mbit=6.7977 (mbit=5.4432)
proc=11321 drop=0 over=0 mbit=6.7977 (mbit=5.43408)
proc=11339 drop=0 over=0 mbit=6.8049 (mbit=5.44272)

(*) WARNING 1 long line(s) split

shdesigns
Powered By Infinite Improbabilty Drive
Premium Member
join:2000-12-01
Stone Mountain, GA
(Software) pfSense
ARRIS SB6121

1 edit

shdesigns to justin

Premium Member

to justin
I was able to get 22-48mBit/sec

Sender: PIII-750, gigabit lan
Rx: firewall Celeron:700 running iptables, 100mbit.

The watch.pl loop got real slow (sleep(1) becomes longer). But it never reported any dropped packets. However connections through the box got dropped.

Maybe my driver is not recording dropped packets.

edit: BTW, both are running 2.4.29

localhost
Premium Member
join:2005-01-19
Cypress, CA

localhost to justin

Premium Member

to justin
i'm also getting weird data out of mine, but that is most likely becuase i am running the synk app on a bsd box pointing it at a bsd box (i do not have any linux boxes).

i had to modify the perl script to work, and although i think i got most of the values correctly i easily could have missed something.

script:
#!/usr/bin/perl

my ($lp,$le,$ld,$lo);
while(1) {
my $bytes = `netstat -dibn | grep xl0 | grep "Link#1" | sed 's/ */ /g' | cut -d\\
* -f 5`;
my $p = `netstat -dibn | grep xl0 | grep "Link#1" | sed 's/ */ /g' | cut -d\\ -f
* 7`;
my $e = `netstat -dibn | grep xl0 | grep "Link#1" | sed 's/ */ /g' | cut -d\\ -f
* 6`;
my $d = `netstat -dibn | grep xl0 | grep "Link#1" | sed 's/ */ /g' | cut -d\\ -f
* 12`;

$o=0;

my $x = $p - $lp;
my $y = $e - $le;
my $z = $d - $ld;
my $zz = $o - $lo;
my $bb = $bytes - $lbytes;

my $mbit = ($x+$z)*48*10/1000000;
my $bb = $bb*10.0/1000000;

print STDERR "proc=$x drop=$z over=$zz mbit=$bb (mbit=$mbit)\n";
$lp = $p;
$le = $e;
$ld = $d;
$lo =$o;
$lbytes =$bytes;
sleep(1);
}

(*) WARNING 4 long line(s) split

and the output:
proc=106 drop=0 over=0 mbit=1e-05 (mbit=0.05088)
proc=106 drop=0 over=0 mbit=1e-05 (mbit=0.05088)
proc=106 drop=0 over=0 mbit=1e-05 (mbit=0.05088)
proc=106 drop=0 over=0 mbit=1e-05 (mbit=0.05088)
proc=5660958 drop=0 over=0 mbit=0.72324 (mbit=2717.25984)
proc=6403548 drop=0 over=0 mbit=0.87427 (mbit=3073.70304)
proc=6560798 drop=0 over=0 mbit=0.86684 (mbit=3149.18304)
proc=6399256 drop=0 over=0 mbit=0.88479 (mbit=3071.64288)
proc=6415906 drop=0 over=0 mbit=0.84754 (mbit=3079.63488)
proc=6484330 drop=0 over=0 mbit=0.88496 (mbit=3112.4784)
proc=6387120 drop=0 over=0 mbit=0.8743 (mbit=3065.8176)
proc=6445136 drop=0 over=0 mbit=0.86208 (mbit=3093.66528)
proc=6474810 drop=0 over=0 mbit=0.88331 (mbit=3107.9088)
proc=6530236 drop=0 over=0 mbit=0.87261 (mbit=3134.51328)
proc=6407622 drop=0 over=0 mbit=0.87677 (mbit=3075.65856)
proc=6520737 drop=0 over=0 mbit=0.85872 (mbit=3129.95376)
proc=6380682 drop=0 over=0 mbit=0.88359 (mbit=3062.72736)
proc=36944094 drop=0 over=0 mbit=2.40522 (mbit=17733.16512)
proc=79315631 drop=0 over=0 mbit=13.48017 (mbit=38071.50288)
proc=51574788 drop=0 over=0 mbit=7.66986 (mbit=24755.89824)
proc=47874906 drop=0 over=0 mbit=7.10534 (mbit=22979.95488)
proc=61099282 drop=0 over=0 mbit=8.8576 (mbit=29327.65536)
proc=98121193 drop=0 over=0 mbit=13.62662 (mbit=47098.17264)
proc=67477719 drop=0 over=0 mbit=11.3529 (mbit=32389.30512)
proc=6344704 drop=0 over=0 mbit=2.13225 (mbit=3045.45792)
proc=6482714 drop=0 over=0 mbit=0.85617 (mbit=3111.70272)
proc=6229426 drop=0 over=0 mbit=0.86201 (mbit=2990.12448)
proc=6498194 drop=0 over=0 mbit=0.85808 (mbit=3119.13312)
proc=2193762 drop=0 over=0 mbit=0.34821 (mbit=1053.00576)
proc=106 drop=0 over=0 mbit=1e-05 (mbit=0.05088)
proc=106 drop=0 over=0 mbit=1e-05 (mbit=0.05088)
proc=106 drop=0 over=0 mbit=1e-05 (mbit=0.05088)

if you see the reason why my modification is buggy let me know. in the results at first it is with synk not running, then next with a bsd box running it, and then after that two bsd boxes running it.