[Chilli] MAC Flapping bug in dhcp_nakDNS

David Bird david at coova.com
Sun Nov 15 08:09:41 UTC 2009


Hi Andre,

Sorry that I didn't ack you message sooner. It got caught in the
moderator list because you are not subscribed to the list, at least not
from this address. 

Thanks... 

On Sat, 2009-11-14 at 17:17 +0100, Andre Beck wrote:
> Hi,
> 
> I'm seeing a steady stream of MAC flap warnings on switches operating
> a Coova Chilli installation, where the MAC of a client appears to
> flap between the client side (coming from Cisco WLCs here, but that's
> not relevant) and the port towards the server running the Chilli
> instance in question. I think I tracked it down to this fix:
> 
> --- src/dhcp.c.orig     2009-11-14 17:04:01.000000000 +0100
> +++ src/dhcp.c  2009-11-14 17:04:29.000000000 +0100
> @@ -786,7 +786,7 @@
>  
>    memcpy(answer, pack, len); 
>  
> -  answer_ethh = ethhdr(pack);
> +  answer_ethh = ethhdr(answer);
>    answer_iph  = iphdr(answer);
>    answer_udph = udphdr(answer);
>    answer_dns  = dnspkt(answer);
> 
> 
> Apparently, the intented swapping of the Ethernet SA and DA is done
> on the wrong buffer (the original packet, not the answer copy that
> will get sent), so it's missing from the final frame going out.
> 
> Please note that this will mean dhcp_nakDNS() has never worked as
> expected, so fixing it now might introduce a regression. I'm entirely
> not sure sending NXdomains to clients for potentially perfectly valid
> queries is that good an idea, especially in times of resolver-side
> negative caching. But that's another story, first I'd like to get rid
> of the noise in my switch logs ;)
> 
> HTH,
> Andre.




More information about the Chilli mailing list