<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Perhaps you can describe your extension, so we can think about it together?</blockquote><div><br></div><div>Yes of course! Glad to see this interest even towards noobs like me :)</div><div><br></div><div>Well, the best way to start is by sharing a preprint version of a paper</div><div>accepted at Infocom2018 in which we* propose a distributed algorithm</div><div>for the computation of Centrality.</div><div>Full details are provided in the paper, anyhow I will sketchly present</div><div>the algorithm and the extension we imagine for Babel right now.</div><div><br></div><div>The algorithm let every node in a network compute its own value of "Load Centrality"</div><div>and afterwards let nodes disseminate computed indexes so that each node,</div><div>at convergence, is aware of the centrality index of all nodes in the network.</div><div><br></div><div>According to the definition of Load Centrality provided in the paper, nodes have</div><div>to send/distribute "contributions" for the centrality score of their neighbors and,</div><div>to do this, they need to add some information to classical Distance-Vectors.</div><div><br></div><div>If a usual distance-vector element is <d, m>, with d to indicate the destination and m</div><div>a distance in a given metric, we want to also add <nh, loadOut, load>:</div><div>- nh is a list of potential next-hops, all at the same distance from the advertised destination;</div><div>- loadOut is the Centrality contribution sent to neighbors by the sending node;</div><div>- load is the Centrality Index of the destination, as far as the sender knows.</div><div><br></div><div>With nodes/destinations we mean routers, indentified by router-ids, so we think to put</div><div>the algorithm related information in a Router-id subtlv.</div><div>For the moment forget that actually Updates advertise distances associated to prefixes,</div><div>not to router-ids...we just wanted to work on a network graph-layer.</div><div><br></div><div>So, only with little workarounds, we were able to run several emulations with all nodes</div><div>running an extended version of Babel with provision for Centrality and, to extend</div><div>our work, we were wondering how the Centrality computation would behave in a network</div><div>with both standard and extended nodes. We guess very bad, in particular if a "cutting-point"</div><div>node is not able to propagate contributions. So it would be nice, for our purpose but maybe</div><div>also for others, if standard-nodes would support "transitive attributes".</div><div><br></div><div>Do you think the "transitive attributes" feature could be of general interest? I strongly hope so :)</div><div><br></div><div>Best regards,</div><div><br></div><div>Lorenzo Ghiro</div><div><br></div>*Advanced Networking System group, DISI, University of Trento</div><div class="gmail_extra"><br><div class="gmail_quote">2018-01-24 19:13 GMT+01:00 Juliusz Chroboczek <span dir="ltr"><<a href="mailto:jch@irif.fr" target="_blank">jch@irif.fr</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> I would like that Babel-nodes running an implementation of the original<br>
> protocol (call them standard-nodes) would be able to "forward<br>
> information" contained in sub-TLVs coming from "extended-nodes".<br>
<br>
</span>[...]<br>
<span class=""><br>
> Is it possible to accomplish this kind of “silent-propagation”?<br>
<br>
</span>No.  In Babel, an unknown sub-TLV :<br>
<br>
  - is silently dropped if it is non-mandatory;<br>
  - causes the whole enclosing TLV to be dropped if it is mandatory.<br>
<br>
What you want is BGP's "transitive attributes".  There's no such feature<br>
in Babel.<br>
<span class=""><br>
> For instance, I am thinking to this in order to deploy an extension<br>
> without the need to reboot the whole network.<br>
<br>
</span>Perhaps you can describe your extension, so we can think about it together?<br>
<span class="HOEnZb"><font color="#888888"><br>
-- Juliusz<br>
</font></span></blockquote></div><br></div>