[Click] FromDevice->Todevice Loop
Antonie Henning
antoniehenning at yahoo.com
Sat Jul 9 17:09:43 EDT 2011
Hi,
Something I discovered with the latest git pull code:
Using the same interface in a fromdevice and todevice element, seems to cause a loop e.g.
Eth0 receives 1 pps but transmits e.g. 80k pps @ 1500bytes or line rate 1gbps. This can be replicated with the config below:
FromDevice(eth0, PROMISC true)->Queue->ToDevice(eth0);
To test this the following example can be used at the source of the packets:
// Where ethX is connected to eth0:
RatedSource(DATA \<DATA>, RATE 1, LIMIT 10, ACTIVE true, STOP true) -> Queue -> ToDevice(ethX);
FromDevice(ethX, PROMISC true)
-> c::Counter -> Queue -> Discard;
Script(
wait 1,
print c.rate,
loop
);
Changing the interface in the ToDevice to a different interface e.g. eth1 solves the problem...
When adding another fromdevice and todevice pair even with different interfaces (as long as a fromdevice interface and todevice interface match somewhere in the config) the problem returns e.g
FromDevice(eth0, PROMISC true)->Queue->ToDevice(eth1);
FromDevice(eth1, PROMISC true)->Queue->ToDevice(eth0);
I have checked whether this is because of promiscuous mode but found the same result when removing promisc and using EtherEncap.
A
More information about the click
mailing list