Comments (14)
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.
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.
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.
Yeah, that makes even more sense. So either "aliases" or "local_addresses" (is this the proposed field name?) is fine with me.
from netjson.
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.
Yes, they are either IPv4, IPv6 (L3 routing protocols) or MAC (L2 routing protocols) addresses. So I think local_addresses
is good.
from netjson.
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.
so anyone against local_addresses
?
from netjson.
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.
@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.
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.
The choice are aliases
and local_addresses
.
After a few weeks of thoughts I prefer aliases
because is short and clear enough.
from netjson.
Just as a comment, "Local Addresses" are not HNAs, because they are not prefixes.
My suggestion for HNAs would be this:
#10
from netjson.
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)
- [DeviceConfiguration] mesh_id
- [DeviceConfiguration] wds_access_point & wds_station HOT 1
- JSON-LD schema HOT 2
- NetJSON RFC JSON types HOT 2
- [DeviceConfiguration] General "country" option
- [website] Statically generated content pages HOT 1
- [NetworkGraph] Amibiguity on graph scope HOT 9
- Improve extension registry page
- [RFC] properties definition typos
- [docs] Use "Specification" or "Internet Draft" instead of RFC
- DeviceConfiguration example is broken
- [radio] Add protocol
- [DeviceConfiguration][hardware] revision >version
- [configuration] auto channel and channel_width
- Dictionary<string, object> from Newtonsoft in NetJSON HOT 5
- [NetworkGraph] Geographic information for nodes and links
- Specification page doesn't display examples HOT 1
- Could not load type 'TenantClass' HOT 2
- Update implementations section HOT 1
- Are link objects directed or undirected ?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from netjson.