[Click] network load-balancer troubleshooting

Sunjeet Singh sstattla at gmail.com
Tue Dec 7 17:38:28 EST 2010


Can someone please help me troubleshoot?

On Linux, I'm trying to configure a load-balancer that sits in front of 
a cluster, receives all packets destined to that cluster, calculates a 
hash of some fields of the packet using HashSwitch() to decide which 
worker machine in the cluster to send that packet to, and finally then 
forwards that packet to that worker machine by rewriting the MAC Address 
field of that packet.

Here's what my click script looks like (currently testing with one 
frontend machine and one worker machine)-

AddressInfo(mymac <IP add. of frontend/8> <mac add of eth0>);
AddressInfo(worker1 <IP add. of worker1/8> <mac add of worker eth0>);
AddressInfo(worker2 <IP add. of worker1/8> <mac add of eth1>);
AddressInfo(worker3 <IP add. of worker1/8> <mac add of eth2>);

my_switch :: HashSwitch(26, 8);

FromDevice(eth4, PROMISC true) -> my_switch;
todevice1 :: ToDevice(eth0);
todevice2 :: ToDevice(eth1);
todevice3 :: ToDevice(eth2);

my_switch[0] -> EtherEncap(0x0800, mymac, worker1) -> Queue -> todevice1;
my_switch[1] -> EtherEncap(0x0800, mymac, worker2) -> Queue -> todevice2;
my_switch[2] -> EtherEncap(0x0800, mymac, worker3) -> Queue -> todevice3;


When I run the script with the command "sudo click try.click", it starts 
executing and gives no messages. To test it,
I used tcpdump to first see if any of the interfaces on worker1 is 
receiving any traffic -> No.
Then I checked if any traffic is going out of eth0, eth1 or eth2 on 
frontend -> No.
Checked if eth4 is receiving the packets I sent through tcpreplay -> Yes.

How can I go about debugging this? I will greatly appreciate any help in 
this regard.

Thank you,
Sunjeet Singh




More information about the click mailing list