[Interop-dev] NetJSON: clarify what an ID is

Henning Rogge (spam-protected)
Thu Aug 13 08:19:45 CEST 2015


On Wed, Aug 12, 2015 at 7:49 PM, Juliusz Chroboczek
<(spam-protected)> wrote:
> I'm lost here.  Does the network graph describe relations between nodes or
> between interfaces?  In other words, if A has two radios and is
> a neighbour twice of one interface of B, how is that represented in the
> network graph?

I think current interpretation is that it contains relations between nodes...

We were talking about the "interface specific knowledge" (which
olsrd(2) also has for direct neighbors) but decided to delay the
discussion.

Maybe a NetworkNeighborhood Object with link/interface-specific
information about one/two-hop neighbors would be a good idea?

>> >   - it doesn't encode the difference between selected and redundant
>> >     routes;
>
>> which is what is present in the Babel RFC at section 3.2.5 ?
>
> Yes.

What do you think about making the "redundant" routes a second
NetworkRouting object?

>>>   - it doesn't allow encoding both metrics.
>
>> Correct, we currently allow one metric per object, although is possible
>> to have multiple NetworkGraph and/or NetworkRoutes objects listed in a
>> NetworkCollection array, one for each metric. But I'm open for suggestions.
>
> There's a misunderstanding.  The "remote metric" is the metric that was
> advertised by the neighbour, and from which the "metric" was computed (by
> adding the link cost).  I suggest adding an optional "remote metric" field.

Are you talking about the link metric that was used to compute the path metric?

I think the NetworkGraph should ONLY contain link metrics... path
metrics can be put into the NetworkRouting object.

>>             "topology_id": "selected",
> [...]
>>             "topology_id": "redundant",
>
> That field is badly named -- there's just one topology.

How would you call the different "things" that are handled by
multi-topology routing?

>>> What happens if a neighbouring router has multiple interfaces?
>
>> In NetworkGraph every router (called node) can list the interfaces in
>> "local_addresses".
>
> Suppose A and B have each two interfaces, A1, A2, B1 and B2.  How do you
> distinguish between
>
>   A1 -- B1
>
>   A2 -- B2
>
> and
>
>   A1 -- B1
>      \/
>      /\
>   A2 -- B2
>
> ?
>
>> Would Babeld use local addresses or router IDs in the attributes
>> "source" and "target" of NetworkGraph?
>
> Local addresses.

Henning Rogge




More information about the Interop-dev mailing list