> Le 24 févr. 2016 à 18:58, Martin Pieuchot <m...@openbsd.org> a écrit :
> 
> On 24/02/16(Wed) 18:37, Jean-Daniel Dupas wrote:
>>> Synopsis:      ECMP routing ignore dest addr when choosing a route
>>> Category:      kernel
>>> Environment:
>>        System      : OpenBSD 5.9
>>        Details     : OpenBSD 5.9 (DEBUG) #0: Wed Feb 24 14:29:57 CET 2016
>>                         
>> r...@gw1.xooloo.io:/usr/src/sys/arch/amd64/compile/DEBUG
>> 
>>        Architecture: OpenBSD.amd64
>>        Machine     : amd64
>>> Description:
>>        Since OpenBSD 5.8, I can't managed to get a proper balancing when 
>> using equal-cost multipath. It looks like all queries from a source are 
>> routed using the same route.
>>        I'm not very familiar with the kernel code, so I may be wrong, but 
>> after launching a debug session, I think that the issue is in 
>> rtable_match(). That function first resolve the radix_node using the actual 
>> dest address, and then compute a hash for mpath using the radix_node key 
>> instead of the dest address. As the radix node is the default route node (in 
>> my case), the radix node key is always 0.0.0.0. So the hash end up having 
>> always the same value, and the route selected for mpatch is always the same.
> 
> Thanks for the bug report and great analysis.  Does the diff below fix
> the issue for you?

Thank you or the quick fix. It works :-).


Reply via email to