[Click] Updated To/FromUserDevice tests
Roman Chertov
rchertov at cs.ucsb.edu
Mon May 23 16:34:35 EDT 2011
Finally I had the time to test the changes the Cliff made to
To/FromUserDevice elements. I have tried the elements using on patched
2.6.24.7 and Fedora14 patchless kernels. In both cases, I was able to
capture ~1Gbps in my userlevel application. The userlevel application
just reads the data from the ToUserDevice ring buffer and then discards
it. If the data cannot be read fast enough from ToUserDevice, then the
ring buffer would overflow and drop_count would indicate the number of
dropped packets. The stats shown below demonstrate that no drops
occurred and the entire stream was read by the user level app. However,
in order to achieve this performance I had to increase the BURST and
CAPACITY parameters.
I recommend that the changes made by Cliff be merged with the mainline.
Receiver Stats
[rchertov at nm0:~/pkt_reader]$ more /click/ctr/rate
82004
[rchertov at nm0:~/pkt_reader]$ more /click/ctr/count
833000
[rchertov at nm0:~/pkt_reader]$ more /click/ToUserDevice\@3/drop_count
0
Receiver Config
pd :: FromDevice(eth21)
-> ctr :: AverageCounter
-> ToUserDevice(0, CAPACITY 512, ENCAP len32, BURST 10);
Idle -> ToDevice(eth21);
Sender Config
src1 :: RatedSource(\<010101010101010101010101010101010101010101010101>,
LENGTH
1458, RATE 83000, LIMIT 833000)
-> UDPIPEncap(SRC 10.1.1.3, SPORT 6667, DST 10.1.1.7, DPORT 6667)
-> SetIPDSCP(46)
-> EtherEncap(0x0800, 00:15:17:7C:E5:15, 00:15:17:7C:E3:B1)
-> StoreUDPTimeSeqRecord(OFFSET 14, DELTA false)
-> ctr :: AverageCounter
-> ToDevice(eth1);
More information about the click
mailing list