Greetings, We've all probably had or seen the carp error similar to:
carp0: incorrect hash In most cases that I've seen on this and other lists it was because of something obvious like a mismatched pass or two supposed carp partners using different vhid's. I've taken a look at the code but wanted to verify. What pieces of information are: 1) used to determine that a particular carp packet is intended for you carp host? 2) given that a carp host knows that a particular carp packet is one that it cares about, how does it verify that all of the parameters contained within are legit? I believe the answer to 1 is the version, type and vhid from the carp packet. 2 I'm not so sure about, but I'm assuming that at least part of this decision is based on the pass. I had a situation earlier today that I could not explain. Put simply, I had hosts A, B, C and D all on the same /24. Hosts A and B where a carp pair for 192.168.0.1 and hosts C and D were a carp pair for 192.168.0.4. If A and B were using the same vhid as C and D, both ends would complain about an incorrect hash. Having never been in that situation before, I figured the vhid's were clashing since the pass happened to be the same on all 4 machines. I destroyed carp0 and did a 'sh /etc/netstart carp0'. I was still getting the messages but they seemed less frequent. I worked on other things which required a reboot and from then on, the messages were gone. The two carp pairs have functioned as expected ever since. Was my fix (prior to rebooting) the correct one? If so, why did I continue to get the incorrect hash messages? Gremlins or operator error? If the answer to all this is to just ensure that if I ever have more than one carp pair on the same network to ensure that I have different vhids, does anyone have a vhid numbering scheme that they've found workable? I had been using interface number +1 (so the carp for em0 would be vhid 1, etc). Any input would be much appreciated! -jon