Linkd needs to be refactored for several reasons among them: ipv6 is here.
The main idea behind here is the following:
move from a whole network links discovery approach to a node to node link discovery approach.
Now linkd answer the following question: "What are the network links"
The new strategy ask the question: "is there one o more links between these two nodes".
These two approach are identical in network with a limited number of devices but make a big
difference in huge networks.
So this would address some performance issue related to linkd when try to discover links in a big network.
The linkd was also able to persist the data it discovers to find links into database, but now we decided to move
this stuff into the provisioning adapter interface (there are enhancements issue for this).
The linkd so it is will be designed to be self compliant and hopefully smarter.
Also we must simplify the configuration file.
The idea behind the Link Discovery is to create several classes from a Simple Interface that is what we can define a LinkDiscoveryStrategy.
Actually we have diffent way of getting the links and each will be a LinkDiscoveryStrategy:
We want to add also a:
And also a way that is easy to add new discovery strategy in the same manner we can add monitors in poller.
The latter linkd was written having at disposal a big laboratory. It would be usefl to have a better laboratory for the development of this new service daemon.