Hello Marek,
thanks for the review!
On Sun, Jan 16, 2011 at 12:35:53PM +0100, Marek Lindner wrote:
On Thursday 30 December 2010 03:09:17 Simon Wunderlich wrote: [...] The changes include:
- The bonding / alternating candidate list is not destroyed & re-created with
each incoming OGM but candidates are added & deleted in a dynamic fashion.
This is a good idea. As discussed in private, this would add some latency in the update process, but this should not harm the bonding.
- The memory leaks have been fixed / a workaround has been found. The "free
neighbors when an interface is deactivated" patch is also required to get the full benefit of these memory leak fixes.
Good job!
- I introduced some style changes which are meant to increase readability &
maintainability. Feedback is welcome. ;-)
Fine with me. :)
While reorganizing the code I stumbled over these lines which are part of the interference check:
/* we only care if the other candidate is even considered as candidate. */ if (!list_empty(&tmp_neigh_node2->bonding_list)) continue;
This seems wrong in this context. If the list is empty then this neighbor is not part of the candidate list. Wouldn't you agree ?
Agreed, this is wrong. Your patch fixes that, i see.
I've also checked your patch in my VM with 3 hosts and did some ping tests. No regressions found, the bonding and alternating worked fine. I did not look into memleaks thou, but feel free to add my signoff and/or merge the patches.
Thanks, Simon