[Click] userlevel performance
Roman Chertov
rchertov at cs.ucsb.edu
Thu Oct 28 19:37:15 EDT 2010
On Thu, 28 Oct 2010 13:58:50 -0700 Cliff Frey <cliff at meraki.com> wrote
> I don't have a setup that I can easily/quickly use to test. All the same,
> I'm curious what the interface statistics do during this time on both of the
> interfaces (i.e. any errors? how many packets transmitted/received)
[local]# click test2.click -h ctr1.count -h ctr2.count -h fd.count -h
fd.kernel_drops
ctr1.count:
100000
ctr2.count:
4503
fd.count:
0
fd.kernel_drops:
??
?? means that the number of kernel drops is unknown.
[local]# ethtool -S eth2
NIC statistics:
rx_packets: 9
tx_packets: 100011
rx_bytes: 2749
tx_bytes: 150401691
[local]# ethtool -S eth3
NIC statistics:
rx_packets: 100004
tx_packets: 17
rx_bytes: 150400641
tx_bytes: 3429
According to ethtool, all of the 100000 packets were sent and received w/o
issues (the extra packets are due to IPv6 when the interfaces came on).
So it looks like that problem is somewhere between Linux and Click getting the
packets to ToDevice. I am curious what results Bejers will get.
Roman
>
> Also, I'm curious what was going on inside of ToDevice and FromDevice. The
> linuxmodule version of these elements have a bunch of counters (visible
> through the "calls" handler), it would be cool if the userlevel versions had
> these things too (i.e. run_select_count, packets for both, write_errors,
> empty_pulls for ToDevice, recvfrom_errors, recvfrom_eagains for fromdevice)
>
> I doubt it, but you also might get different behavior if you add a Queue
> between the ratedsource and the todevice.
>
> Cliff
>
> On Thu, Oct 28, 2010 at 10:55 AM, Roman Chertov <rchertov at cs.ucsb.edu>wrote:
>
> > Hello,
> >
> > I was curious if anybody could try this test for me using userlevel click.
> > I am
> > running CentOS 5.5 2.6.18-194.17.1.el5, and I have two network cards
> > connected
> > with a single cable. If I run the script below using userlevel click,
> > FromDevice(eth3) will receive very few packets and the majority would end
> > up
> > dropped on input.
> >
> > src :: RatedSource(\<00>, LENGTH 1458, RATE 8000, LIMIT 100000)
> > -> UDPIPEncap(10.0.1.1, 6667, 20.0.0.2, 6667)
> > -> EtherEncap(0x0800, 00:30:48:F9:EA:7B, 00:17:cb:0d:f8:db)
> > -> ctr1 :: AverageCounter
> > -> ToDevice(eth2);
> >
> >
> > fd :: FromDevice(eth3, SNIFFER false, PROMISC true)
> > -> ctr2 :: AverageCounter
> > -> Discard;
> >
> > This script just requires ethX names to be changed; otherwise, it can be
> > run as
> > is.
> >
> > [root]# click test2.click -h ctr1.count -h ctr2.count
> > ctr1.count:
> > 100000
> >
> > ctr2.count:
> > 4482
> >
> > Roman
> >
> >
> > _______________________________________________
> > click mailing list
> > click at amsterdam.lcs.mit.edu
> > https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> >
More information about the click
mailing list