[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