On Thu, Dec 13, 2018 at 07:57:04PM +0100, Christof Schulze wrote:
On Tue, Dec 11, 2018 at 10:19:59AM -0800, Dave Taht wrote:tecoboot is doing some great simulation work, and more eyeballs on the problem's he's exposing would be good. There's plots and packet captures of his 30+ node simulation over here:
I find it difficult to read the babeld code because process logic is not in one spot and handling of data types is not encapsulated and abstracted away. Effectively there is no process layer.>https://github.com/jech/babeld/issues/8 I am just returning from a workshop-week and soon will stare at this.
How do you folks feel about this? Is it just me?Let me illustrate what I mean: In message.c there is send_marginal_ihu(). This function is called on 2/3 of hellos, the rest will trigger send_ihu directly.
A Marginal IHU is a regular IHU that is sent under specific conditions:Marginal IHU are sent on neighbors that are connected on a given interface whenever the txcost is >= 384 (what is the meaning of that value? Why not 400? Or 372?) or when the first byte of reach is not all ones. At this point I have no clear idea what that means. I guess that reach is a bitmap of some kind, storing on which of the last 16 hellos the neighbour was reachable. The semantics of checking the first byte of that variable are somewhat hidden and the bit masks are applied in the process logic.
This still seems sketchy in my mind because reach is defined as short (2 Byte on x86) and the Bitmask is using 4 Bytes. The place where this is dealt with is not easy to find. I am not sure I am fully grasping the concepts here. In any case I cannot adjust that part of the code without quite a bit of further reading or help from someone else. That makes it difficult to find bugs in the code.
If a marginal ihu really is just a ihu that is sent on specific conditions, we could name this function send_ihu_on_$CONDITION() and avoid many questions with this small change.
The only thing left to do is: understand the condition. Cheers, Christof -- () ascii ribbon campaign - against html e-mail /\ against proprietary attachments
signature.asc
Description: PGP signature
_______________________________________________ Babel-users mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users
