Giter VIP home page Giter VIP logo

Comments (14)

nemesisdesign avatar nemesisdesign commented on July 22, 2024

I sent that link to Antonio (ordex), batman-adv contributor, he told me he's confused by the naming of the issue, because batman-adv does not have secondary ids, just one id and secondary interfaces.

He also told me that before standardazing we should see if "alias" in other routing protocols have the same meaning.

from netjson.

kostko avatar kostko commented on July 22, 2024

In OLSR there are MIDs (identifiers used on all the interfaces where the OLSR is running, in addition to the router ID). In order to get "aliases" in Babel, you need to look at all the link-local addresses of all the interfaces where Babel is listening.

And yes, router id is something else. While in OLSR, router ID is just one of the IP addresses (so it looks the same as any "alias"), for example in Babel, the router ID is not even an IP address, while aliases are IPv6 link-local addresses. So IMO "alias" is a better term and there is always only one router ID (per routing protocol).

from netjson.

nemesisdesign avatar nemesisdesign commented on July 22, 2024

Thanks @kostko 👍

Henning adds:

Hi,

maybe it would be more clear to call the list "Local Addresses" ?

Its just a list of addresses (Mac/IP) which you can use to talk to this node.

Henning

from netjson.

kostko avatar kostko commented on July 22, 2024

Yeah, that makes even more sense. So either "aliases" or "local_addresses" (is this the proposed field name?) is fine with me.

from netjson.

nemesisdesign avatar nemesisdesign commented on July 22, 2024

local_addresses sounds good because it's explicit. So according to the discussion this would make sense on OLSR, batman-adv and babel, right?

from netjson.

kostko avatar kostko commented on July 22, 2024

Yes, they are either IPv4, IPv6 (L3 routing protocols) or MAC (L2 routing protocols) addresses. So I think local_addresses is good.

from netjson.

NeoRaider avatar NeoRaider commented on July 22, 2024

In the "nodeinfo" format currently used by Gluon, we make a clear distinction between addresses "on top" of the batman-adv layer, and addresses on which batman-adv is running. In the latest Gluon release, we've also added some additional information about the "types" of the underlying interfaces ("wireless", "tunnel", and "other" for anything not detected as wireless or tunnel, so mostly wired connections), which we plan to use in topology visualizations.

Example of our current format:

{
  "network": {
    "mac": "XX:XX:XX:XX:XX:XX",
    "addresses": [
      "XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX",
      "fe80::XXXX:XXXX:XXXX:XXXX",
      ...
    ],  
    "mesh": {
      "bat0": {
        "interfaces": {
          "other": [
            "XX:XX:XX:XX:XX:XX",
            ...
          ],  
          "tunnel": [
            "XX:XX:XX:XX:XX:XX",
            ...
          ],  
          "wireless": [
            "XX:XX:XX:XX:XX:XX",
            ...
          ]   
        }   
      }   
    },  
    ... 
  },  
  ... 
}

mac is the address of the bat0 interface, the addresses listed under mesh/bat0/interfaces belong to the interfaces batman-adv is meshing over.

The addresses section has nothing to do with meshing at all, this is just information about the addresses the node can be contacted over.

One of the addresses listed in other, tunnel or wireless is the so-called "primary" batman-adv addresses (at least in the old batman-adv upto 2013.4, I'm not sure if something has changed about that in more recent versions). We hide that fact on purpose as the existance of a "primary" address is a detail of the inner workings of batman-adv. We don't need that information for visualization, so we don't include it at all to have as little protocol-specific information as possible in our format.

from netjson.

nemesisdesign avatar nemesisdesign commented on July 22, 2024

so anyone against local_addresses?

from netjson.

gabri94 avatar gabri94 commented on July 22, 2024

what does local addresses include? in the case of olsr, the HNA neworks will be listed as a local addresses? additional addresses on the mesh interfaces? i think that we shoud keep only the addresses listed in the routing protocol to avoid problem in the graph generation.

In the case of bmx6 or cjdns? are we going o use the hash id as identifier? can it have "aliases"?

from netjson.

nemesisdesign avatar nemesisdesign commented on July 22, 2024

@gabri94 we are proposing to rename aliases in local_addresses and keep the meaning unchanged.
But we should find a clear definition of this property.

What's a good definition in your opinion?

PS: regarding bmx6 and cjdns, it's their choice how they implement the spec, we just have to try to define what the property should be used for and why we need it.

from netjson.

nemesisdesign avatar nemesisdesign commented on July 22, 2024

Henning on the mailing list wrote: "Its just a list of addresses (Mac/IP) which you can use to talk to this node."

from netjson.

nemesisdesign avatar nemesisdesign commented on July 22, 2024

The choice are aliases and local_addresses.

After a few weeks of thoughts I prefer aliases because is short and clear enough.

from netjson.

HRogge avatar HRogge commented on July 22, 2024

Just as a comment, "Local Addresses" are not HNAs, because they are not prefixes.

My suggestion for HNAs would be this:
#10

from netjson.

nemesisdesign avatar nemesisdesign commented on July 22, 2024

Take a look at db8fb24 and let me know what you think.
I'll close this issue if no further comments are received.

from netjson.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.