Wes Peters writes: | Or you can cheat and use a SmartBits-2000 like I did. It can send exactly | 148,800 packets per second, with very precise timing of the inter-packet
Soon we should be getting an Ixia. | So it seems to keep up reasonably well, but this is misleading. Use -l to | force the packets out as quickly as the card can generate them: | | -bash-2.05b$ sudo ping -i 0.000001 -c 5000 -l 5000 204.68.178.2 | ... | 64 bytes from 204.68.178.2: icmp_seq=92 ttl=128 time=14.855 ms | 64 bytes from 204.68.178.2: icmp_seq=93 ttl=128 time=14.880 ms | 64 bytes from 204.68.178.2: icmp_seq=4424 ttl=128 time=17.308 ms | | --- 204.68.178.2 ping statistics --- | 5000 packets transmitted, 95 packets received, 98% packet loss | round-trip min/avg/max/stddev = 11.929/14.520/17.308/0.682 ms | | Wow. The receiving side handled the first 93 packets and then rolled | over, recovering for only the last packet. (Look at the icmp_seq | numbers.) FreeBSD behaves similarly, but try the test on your own. ;^) I don't see any difference between the rl and fxp tests using the same originating machine and dest machine. The dest machine has both rl and fxp the rl0 results (ping -i 0.000001 -c 5000 -l 5000 <IP>): PING 192.168.99.2 (192.168.99.2): 56 data bytes 64 bytes from 192.168.99.2: icmp_seq=0 ttl=64 time=0.499 ms 64 bytes from 192.168.99.2: icmp_seq=1 ttl=64 time=0.467 ms 64 bytes from 192.168.99.2: icmp_seq=2 ttl=64 time=0.461 ms 64 bytes from 192.168.99.2: icmp_seq=3 ttl=64 time=0.458 ms 64 bytes from 192.168.99.2: icmp_seq=4 ttl=64 time=0.484 ms 64 bytes from 192.168.99.2: icmp_seq=5 ttl=64 time=0.502 ms 64 bytes from 192.168.99.2: icmp_seq=6 ttl=64 time=0.500 ms 64 bytes from 192.168.99.2: icmp_seq=7 ttl=64 time=0.498 ms 64 bytes from 192.168.99.2: icmp_seq=8 ttl=64 time=0.514 ms 64 bytes from 192.168.99.2: icmp_seq=9 ttl=64 time=0.508 ms 64 bytes from 192.168.99.2: icmp_seq=10 ttl=64 time=0.503 ms 64 bytes from 192.168.99.2: icmp_seq=11 ttl=64 time=0.519 ms 64 bytes from 192.168.99.2: icmp_seq=12 ttl=64 time=0.514 ms 64 bytes from 192.168.99.2: icmp_seq=13 ttl=64 time=0.512 ms 64 bytes from 192.168.99.2: icmp_seq=14 ttl=64 time=0.523 ms 64 bytes from 192.168.99.2: icmp_seq=15 ttl=64 time=0.520 ms 64 bytes from 192.168.99.2: icmp_seq=16 ttl=64 time=0.516 ms 64 bytes from 192.168.99.2: icmp_seq=17 ttl=64 time=0.525 ms 64 bytes from 192.168.99.2: icmp_seq=18 ttl=64 time=0.522 ms 64 bytes from 192.168.99.2: icmp_seq=19 ttl=64 time=0.519 ms 64 bytes from 192.168.99.2: icmp_seq=20 ttl=64 time=0.532 ms 64 bytes from 192.168.99.2: icmp_seq=21 ttl=64 time=0.527 ms 64 bytes from 192.168.99.2: icmp_seq=22 ttl=64 time=0.523 ms 64 bytes from 192.168.99.2: icmp_seq=23 ttl=64 time=0.535 ms 64 bytes from 192.168.99.2: icmp_seq=24 ttl=64 time=0.531 ms 64 bytes from 192.168.99.2: icmp_seq=25 ttl=64 time=0.529 ms 64 bytes from 192.168.99.2: icmp_seq=26 ttl=64 time=0.540 ms 64 bytes from 192.168.99.2: icmp_seq=27 ttl=64 time=0.535 ms 64 bytes from 192.168.99.2: icmp_seq=28 ttl=64 time=0.532 ms 64 bytes from 192.168.99.2: icmp_seq=29 ttl=64 time=0.541 ms 64 bytes from 192.168.99.2: icmp_seq=30 ttl=64 time=0.538 ms 64 bytes from 192.168.99.2: icmp_seq=31 ttl=64 time=0.533 ms 64 bytes from 192.168.99.2: icmp_seq=32 ttl=64 time=0.540 ms 64 bytes from 192.168.99.2: icmp_seq=33 ttl=64 time=0.553 ms 64 bytes from 192.168.99.2: icmp_seq=34 ttl=64 time=0.548 ms 64 bytes from 192.168.99.2: icmp_seq=35 ttl=64 time=0.544 ms 64 bytes from 192.168.99.2: icmp_seq=36 ttl=64 time=0.180 ms 64 bytes from 192.168.99.2: icmp_seq=37 ttl=64 time=0.175 ms 64 bytes from 192.168.99.2: icmp_seq=38 ttl=64 time=0.185 ms 64 bytes from 192.168.99.2: icmp_seq=39 ttl=64 time=0.180 ms 64 bytes from 192.168.99.2: icmp_seq=40 ttl=64 time=0.206 ms 64 bytes from 192.168.99.2: icmp_seq=41 ttl=64 time=0.204 ms 64 bytes from 192.168.99.2: icmp_seq=42 ttl=64 time=0.214 ms 64 bytes from 192.168.99.2: icmp_seq=43 ttl=64 time=0.208 ms 64 bytes from 192.168.99.2: icmp_seq=44 ttl=64 time=0.221 ms 64 bytes from 192.168.99.2: icmp_seq=45 ttl=64 time=0.218 ms 64 bytes from 192.168.99.2: icmp_seq=46 ttl=64 time=0.228 ms 64 bytes from 192.168.99.2: icmp_seq=47 ttl=64 time=0.225 ms 64 bytes from 192.168.99.2: icmp_seq=48 ttl=64 time=0.236 ms 64 bytes from 192.168.99.2: icmp_seq=49 ttl=64 time=0.233 ms 64 bytes from 192.168.99.2: icmp_seq=50 ttl=64 time=0.242 ms 64 bytes from 192.168.99.2: icmp_seq=51 ttl=64 time=0.160 ms 64 bytes from 192.168.99.2: icmp_seq=52 ttl=64 time=0.156 ms 64 bytes from 192.168.99.2: icmp_seq=53 ttl=64 time=0.166 ms 64 bytes from 192.168.99.2: icmp_seq=54 ttl=64 time=0.161 ms 64 bytes from 192.168.99.2: icmp_seq=55 ttl=64 time=0.185 ms 64 bytes from 192.168.99.2: icmp_seq=56 ttl=64 time=0.199 ms 64 bytes from 192.168.99.2: icmp_seq=57 ttl=64 time=0.196 ms 64 bytes from 192.168.99.2: icmp_seq=58 ttl=64 time=0.193 ms 64 bytes from 192.168.99.2: icmp_seq=59 ttl=64 time=0.202 ms 64 bytes from 192.168.99.2: icmp_seq=60 ttl=64 time=0.216 ms 64 bytes from 192.168.99.2: icmp_seq=61 ttl=64 time=0.213 ms 64 bytes from 192.168.99.2: icmp_seq=62 ttl=64 time=0.212 ms 64 bytes from 192.168.99.2: icmp_seq=63 ttl=64 time=0.219 ms 64 bytes from 192.168.99.2: icmp_seq=64 ttl=64 time=0.579 ms 64 bytes from 192.168.99.2: icmp_seq=65 ttl=64 time=0.182 ms 64 bytes from 192.168.99.2: icmp_seq=66 ttl=64 time=0.191 ms 64 bytes from 192.168.99.2: icmp_seq=67 ttl=64 time=0.189 ms 64 bytes from 192.168.99.2: icmp_seq=68 ttl=64 time=0.213 ms 64 bytes from 192.168.99.2: icmp_seq=69 ttl=64 time=0.212 ms 64 bytes from 192.168.99.2: icmp_seq=70 ttl=64 time=0.221 ms 64 bytes from 192.168.99.2: icmp_seq=71 ttl=64 time=0.218 ms 64 bytes from 192.168.99.2: icmp_seq=72 ttl=64 time=0.227 ms 64 bytes from 192.168.99.2: icmp_seq=73 ttl=64 time=0.239 ms 64 bytes from 192.168.99.2: icmp_seq=74 ttl=64 time=0.237 ms 64 bytes from 192.168.99.2: icmp_seq=75 ttl=64 time=0.233 ms 64 bytes from 192.168.99.2: icmp_seq=76 ttl=64 time=0.246 ms 64 bytes from 192.168.99.2: icmp_seq=77 ttl=64 time=0.244 ms 64 bytes from 192.168.99.2: icmp_seq=78 ttl=64 time=0.242 ms 64 bytes from 192.168.99.2: icmp_seq=79 ttl=64 time=0.605 ms 64 bytes from 192.168.99.2: icmp_seq=80 ttl=64 time=0.157 ms 64 bytes from 192.168.99.2: icmp_seq=81 ttl=64 time=0.166 ms 64 bytes from 192.168.99.2: icmp_seq=82 ttl=64 time=0.162 ms 64 bytes from 192.168.99.2: icmp_seq=83 ttl=64 time=0.186 ms 64 bytes from 192.168.99.2: icmp_seq=84 ttl=64 time=0.202 ms 64 bytes from 192.168.99.2: icmp_seq=85 ttl=64 time=0.200 ms 64 bytes from 192.168.99.2: icmp_seq=86 ttl=64 time=0.197 ms 64 bytes from 192.168.99.2: icmp_seq=87 ttl=64 time=0.209 ms 64 bytes from 192.168.99.2: icmp_seq=88 ttl=64 time=0.208 ms 64 bytes from 192.168.99.2: icmp_seq=89 ttl=64 time=0.220 ms 64 bytes from 192.168.99.2: icmp_seq=90 ttl=64 time=0.218 ms 64 bytes from 192.168.99.2: icmp_seq=91 ttl=64 time=0.216 ms 64 bytes from 192.168.99.2: icmp_seq=92 ttl=64 time=0.576 ms 64 bytes from 192.168.99.2: icmp_seq=93 ttl=64 time=0.180 ms --- 192.168.99.2 ping statistics --- 5000 packets transmitted, 94 packets received, 98% packet loss round-trip min/avg/max/stddev = 0.156/0.337/0.605/0.159 ms the fxp results: PING 192.168.88.2 (192.168.88.2): 56 data bytes 64 bytes from 192.168.88.2: icmp_seq=0 ttl=64 time=0.204 ms 64 bytes from 192.168.88.2: icmp_seq=1 ttl=64 time=0.249 ms 64 bytes from 192.168.88.2: icmp_seq=2 ttl=64 time=0.244 ms 64 bytes from 192.168.88.2: icmp_seq=3 ttl=64 time=0.240 ms 64 bytes from 192.168.88.2: icmp_seq=4 ttl=64 time=0.236 ms 64 bytes from 192.168.88.2: icmp_seq=5 ttl=64 time=0.232 ms 64 bytes from 192.168.88.2: icmp_seq=6 ttl=64 time=0.226 ms 64 bytes from 192.168.88.2: icmp_seq=7 ttl=64 time=0.222 ms 64 bytes from 192.168.88.2: icmp_seq=8 ttl=64 time=0.218 ms 64 bytes from 192.168.88.2: icmp_seq=9 ttl=64 time=0.214 ms 64 bytes from 192.168.88.2: icmp_seq=10 ttl=64 time=0.139 ms 64 bytes from 192.168.88.2: icmp_seq=11 ttl=64 time=0.156 ms 64 bytes from 192.168.88.2: icmp_seq=12 ttl=64 time=0.162 ms 64 bytes from 192.168.88.2: icmp_seq=13 ttl=64 time=0.173 ms 64 bytes from 192.168.88.2: icmp_seq=14 ttl=64 time=0.209 ms 64 bytes from 192.168.88.2: icmp_seq=15 ttl=64 time=0.208 ms 64 bytes from 192.168.88.2: icmp_seq=16 ttl=64 time=0.205 ms 64 bytes from 192.168.88.2: icmp_seq=17 ttl=64 time=0.201 ms 64 bytes from 192.168.88.2: icmp_seq=18 ttl=64 time=0.197 ms 64 bytes from 192.168.88.2: icmp_seq=19 ttl=64 time=0.206 ms 64 bytes from 192.168.88.2: icmp_seq=20 ttl=64 time=0.203 ms 64 bytes from 192.168.88.2: icmp_seq=21 ttl=64 time=0.486 ms 64 bytes from 192.168.88.2: icmp_seq=22 ttl=64 time=0.146 ms 64 bytes from 192.168.88.2: icmp_seq=23 ttl=64 time=0.158 ms 64 bytes from 192.168.88.2: icmp_seq=24 ttl=64 time=0.154 ms 64 bytes from 192.168.88.2: icmp_seq=25 ttl=64 time=0.167 ms 64 bytes from 192.168.88.2: icmp_seq=26 ttl=64 time=0.166 ms 64 bytes from 192.168.88.2: icmp_seq=27 ttl=64 time=0.179 ms 64 bytes from 192.168.88.2: icmp_seq=28 ttl=64 time=0.176 ms 64 bytes from 192.168.88.2: icmp_seq=29 ttl=64 time=0.173 ms 64 bytes from 192.168.88.2: icmp_seq=30 ttl=64 time=0.177 ms 64 bytes from 192.168.88.2: icmp_seq=31 ttl=64 time=0.137 ms 64 bytes from 192.168.88.2: icmp_seq=32 ttl=64 time=0.153 ms 64 bytes from 192.168.88.2: icmp_seq=33 ttl=64 time=0.162 ms 64 bytes from 192.168.88.2: icmp_seq=34 ttl=64 time=0.170 ms 64 bytes from 192.168.88.2: icmp_seq=35 ttl=64 time=0.185 ms 64 bytes from 192.168.88.2: icmp_seq=36 ttl=64 time=0.181 ms 64 bytes from 192.168.88.2: icmp_seq=37 ttl=64 time=0.181 ms 64 bytes from 192.168.88.2: icmp_seq=38 ttl=64 time=0.197 ms 64 bytes from 192.168.88.2: icmp_seq=39 ttl=64 time=0.197 ms 64 bytes from 192.168.88.2: icmp_seq=40 ttl=64 time=0.191 ms 64 bytes from 192.168.88.2: icmp_seq=41 ttl=64 time=0.187 ms 64 bytes from 192.168.88.2: icmp_seq=42 ttl=64 time=0.142 ms 64 bytes from 192.168.88.2: icmp_seq=43 ttl=64 time=0.156 ms 64 bytes from 192.168.88.2: icmp_seq=44 ttl=64 time=0.152 ms 64 bytes from 192.168.88.2: icmp_seq=45 ttl=64 time=0.168 ms 64 bytes from 192.168.88.2: icmp_seq=46 ttl=64 time=0.167 ms 64 bytes from 192.168.88.2: icmp_seq=47 ttl=64 time=0.179 ms 64 bytes from 192.168.88.2: icmp_seq=48 ttl=64 time=0.176 ms 64 bytes from 192.168.88.2: icmp_seq=49 ttl=64 time=0.190 ms 64 bytes from 192.168.88.2: icmp_seq=50 ttl=64 time=0.186 ms 64 bytes from 192.168.88.2: icmp_seq=51 ttl=64 time=0.183 ms 64 bytes from 192.168.88.2: icmp_seq=52 ttl=64 time=0.189 ms 64 bytes from 192.168.88.2: icmp_seq=53 ttl=64 time=0.126 ms 64 bytes from 192.168.88.2: icmp_seq=54 ttl=64 time=0.143 ms 64 bytes from 192.168.88.2: icmp_seq=55 ttl=64 time=0.160 ms 64 bytes from 192.168.88.2: icmp_seq=56 ttl=64 time=0.170 ms 64 bytes from 192.168.88.2: icmp_seq=57 ttl=64 time=0.168 ms 64 bytes from 192.168.88.2: icmp_seq=58 ttl=64 time=0.180 ms 64 bytes from 192.168.88.2: icmp_seq=59 ttl=64 time=0.180 ms 64 bytes from 192.168.88.2: icmp_seq=60 ttl=64 time=0.176 ms 64 bytes from 192.168.88.2: icmp_seq=61 ttl=64 time=0.187 ms 64 bytes from 192.168.88.2: icmp_seq=62 ttl=64 time=0.184 ms 64 bytes from 192.168.88.2: icmp_seq=63 ttl=64 time=0.126 ms 64 bytes from 192.168.88.2: icmp_seq=64 ttl=64 time=0.143 ms 64 bytes from 192.168.88.2: icmp_seq=65 ttl=64 time=0.160 ms 64 bytes from 192.168.88.2: icmp_seq=66 ttl=64 time=0.171 ms 64 bytes from 192.168.88.2: icmp_seq=67 ttl=64 time=0.168 ms 64 bytes from 192.168.88.2: icmp_seq=68 ttl=64 time=0.183 ms 64 bytes from 192.168.88.2: icmp_seq=69 ttl=64 time=0.181 ms 64 bytes from 192.168.88.2: icmp_seq=70 ttl=64 time=0.178 ms 64 bytes from 192.168.88.2: icmp_seq=71 ttl=64 time=0.186 ms 64 bytes from 192.168.88.2: icmp_seq=72 ttl=64 time=0.185 ms 64 bytes from 192.168.88.2: icmp_seq=73 ttl=64 time=0.127 ms 64 bytes from 192.168.88.2: icmp_seq=74 ttl=64 time=0.144 ms 64 bytes from 192.168.88.2: icmp_seq=75 ttl=64 time=0.170 ms 64 bytes from 192.168.88.2: icmp_seq=76 ttl=64 time=0.230 ms 64 bytes from 192.168.88.2: icmp_seq=77 ttl=64 time=0.228 ms 64 bytes from 192.168.88.2: icmp_seq=78 ttl=64 time=0.225 ms 64 bytes from 192.168.88.2: icmp_seq=79 ttl=64 time=0.220 ms 64 bytes from 192.168.88.2: icmp_seq=80 ttl=64 time=0.218 ms 64 bytes from 192.168.88.2: icmp_seq=81 ttl=64 time=0.215 ms 64 bytes from 192.168.88.2: icmp_seq=82 ttl=64 time=0.213 ms 64 bytes from 192.168.88.2: icmp_seq=83 ttl=64 time=0.135 ms 64 bytes from 192.168.88.2: icmp_seq=84 ttl=64 time=0.151 ms 64 bytes from 192.168.88.2: icmp_seq=85 ttl=64 time=0.158 ms 64 bytes from 192.168.88.2: icmp_seq=86 ttl=64 time=0.166 ms 64 bytes from 192.168.88.2: icmp_seq=87 ttl=64 time=0.178 ms 64 bytes from 192.168.88.2: icmp_seq=88 ttl=64 time=0.175 ms 64 bytes from 192.168.88.2: icmp_seq=89 ttl=64 time=0.190 ms 64 bytes from 192.168.88.2: icmp_seq=90 ttl=64 time=0.189 ms 64 bytes from 192.168.88.2: icmp_seq=91 ttl=64 time=0.186 ms 64 bytes from 192.168.88.2: icmp_seq=92 ttl=64 time=0.193 ms 64 bytes from 192.168.88.2: icmp_seq=93 ttl=64 time=0.192 ms --- 192.168.88.2 ping statistics --- 5000 packets transmitted, 94 packets received, 98% packet loss round-trip min/avg/max/stddev = 0.126/0.185/0.486/0.042 ms Now the FreeBSD target whines about the icmp limits. If I turn off ICMP bandwith limit I see little difference except that end of the fxp0 case: 64 bytes from 192.168.88.2: icmp_seq=99 ttl=64 time=0.262 ms 64 bytes from 192.168.88.2: icmp_seq=100 ttl=64 time=0.259 ms 64 bytes from 192.168.88.2: icmp_seq=101 ttl=64 time=0.230 ms 64 bytes from 192.168.88.2: icmp_seq=102 ttl=64 time=0.202 ms 64 bytes from 192.168.88.2: icmp_seq=4999 ttl=64 time=0.091 ms --- 192.168.88.2 ping statistics --- 5000 packets transmitted, 95 packets received, 98% packet loss round-trip min/avg/max/stddev = 0.091/0.192/0.281/0.043 ms rl0 case: 64 bytes from 192.168.99.2: icmp_seq=98 ttl=64 time=0.251 ms 64 bytes from 192.168.99.2: icmp_seq=99 ttl=64 time=0.248 ms 64 bytes from 192.168.99.2: icmp_seq=100 ttl=64 time=0.247 ms 64 bytes from 192.168.99.2: icmp_seq=101 ttl=64 time=0.634 ms 64 bytes from 192.168.99.2: icmp_seq=4995 ttl=64 time=0.534 ms --- 192.168.99.2 ping statistics --- 5000 packets transmitted, 95 packets received, 98% packet loss round-trip min/avg/max/stddev = 0.129/0.241/0.634/0.107 ms I'm generating the traffic with a fxp0 device. So I'm not see much difference. Doug a To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message