High rate traffic silence an em interface.
Shunsuke SHINOMIYA
shino at fornext.org
Fri Sep 24 17:01:18 PDT 2004
Robert,
thank you for your replying.
> You might try using the netrate tool I committed to
> src/tools/tools/netrate to try and figure out the threshold transmission
> level necessary to trigger the problem.
I can reproduce the problem by using netrate from 6-current.
1. send traffic which transmission rate is equal with an output
interface's one. (12500pps = 10Mps / (38octet + 28octet + 34octet))
> # ifconfig em1 | grep -A 2 media
> media: Ethernet 10baseT/UTP <full-duplex>
> status: active
> # ./netsend 10.1.1.8 8192 34 12500 10
> Sending packet of payload size 34 every 0.000080000 for 10 seconds
>
> start: 1096066849.000000000
> finish: 1096066859.000012064
> send calls: 125000
> send errors: 0
> approx send rate: 12500
> approx error rate: 0
> waited: 4192850
> approx wait rate: 33
2. send traffic which transmission rate exceeds output interface's one.
A difference from 1. is a payload size. (34 -> 35)
> # ./netsend 10.1.1.8 8192 35 12500 10
> Sending packet of payload size 35 every 0.000080000 for 10 seconds
> send: No buffer space available
> send: No buffer space available
> send: No buffer space available
...<snip>
> send: No buffer space available
> send: No buffer space available
> send: No buffer space available
>
> start: 1096066886.000000000
> finish: 1096066896.000076879
> send calls: 125000
> send errors: 59409
> approx send rate: 6559
> approx error rate: 0
> waited: 3088416
> approx wait rate: 24
3. send traffic which transmission rate exceeds output interface's one.
A difference from 1. is a packet rate.(12500 -> 12600)
> # ./netsend 10.1.1.8 8192 34 12600 10
> Sending packet of payload size 34 every 0.000079365 for 10 seconds
> send: No buffer space available
> send: No buffer space available
> send: No buffer space available
... <snip>
> send: No buffer space available
> send: No buffer space available
> send: No buffer space available
>
> start: 1096067129.000000000
> finish: 1096067139.000860528
> send calls: 125119
> send errors: 65311
> approx send rate: 5980
> approx error rate: 0
> waited: 2931359
> approx wait rate: 23
4. another combination. It seems depending on a traffic rate, not packet
rate and interrupt rate.
> # ./netsend 10.1.1.8 8192 934 1250 10
> Sending packet of payload size 934 every 0.000800000 for 10 seconds
>
> start: 1096067795.000000000
> finish: 1096067805.000017967
> send calls: 12500
> send errors: 0
> approx send rate: 1250
> approx error rate: 0
> waited: 4948920
> approx wait rate: 395
> # ./netsend 10.1.1.8 8192 934 1300 10
> send: No buffer space available
> send: No buffer space available
> send: No buffer space available
... <snip>
> send: No buffer space available
> send: No buffer space available
> send: No buffer space available
>
> start: 1096067716.000000000
> finish: 1096067726.000841883
> send calls: 13001
> send errors: 2841
> approx send rate: 1016
> approx error rate: 0
> waited: 4887009
> approx wait rate: 375
Would you reproduce the problem by this procedures?
--
Shunsuke SHINOMIYA <shino at fornext.org>
More information about the freebsd-current
mailing list