Looking at the header files, it is not clear to me which contains this routing algo API. Is it bat_ogm.h?
yes, it is.
Has there been any discussion if compile time is sufficient? How about making it a runtime decision? I presume mixing routing algorithms within a mesh is not going to work. However, being able to configure the algorithm per mesh should be possible. This gives a greater degree of interoperability, which might make the Linux Network maintainers happier?
we discussed various options but at the end decided to move forward with the compile time option. Personally, I doubt many people will want the new routing algorithm until it has been stabilized (we will provide a 'default' option that enables B.A.T.M.A.N. IV).
Nevertheless, I am not against having the run time option if someone wants to do it. Are you going to provide the necessary patches ?
Where is the interoperability coming from ? The protocols won't be compatible. However, we are planing on integrating an extensible header format which allows to add features that will be backward compatible.