<div dir="ltr"><div>Hi everybody, once again I need your help! :)</div><div>I do not understand the meaning of "next-hop" TLV for a subsequent Update.</div><div><br></div><div>I built a very basic network with two Babel nodes connected via a wired link. Host1 interface's address is 1.1.1.1, Host2 interface's address is 2.2.2.2</div><div><br></div><div>Well, consider that after some time host1 installed the route <a href="http://2.2.2.2/32">2.2.2.2/32</a>, learned via host2, therefore next-hop for that route is 2.2.2.2. Here below I put the output that I get from a printf* put into flushupdates before calling really_send_update</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">host1> Time:661.531458<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Sending UpdateC for learned route<Prefix:<a href="http://2.2.2.2/32">2.2.2.2/32</a> - NH:2.2.2.2 - contribute: 2></blockquote><div><br></div><div>*[when invoking printf, a babel_route *route is available, so I believe I am not doing wrong in getting the NH as shown in this little piece of code</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">  printf("%ld.%06ld\t Sending UpdateC for learned route<Prefix:%s - NH:%s - contribute: %i>\n",<br>                now.tv_sec, now.tv_usec,<br>                format_prefix(route->src->prefix, route->src->plen),<br>                format_address(route->nexthop), (1 + total_contribute));</blockquote><div>]</div><div><br></div><div>At host2 side I expect that, receiving the just sent update, the preceding NH TLV should carry the address 2.2.2.2, but instead, as you can see I get 1.1.1.1 (actually the source address of this packet)</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">host2> Time: 661.532299 Received nh 1.1.1.1 (1) from fe80::e43d:3ff:feeb:bf58 on h2-eth0.<br>host2> Time: 661.532299 Received update for <a href="http://2.2.2.2/32">2.2.2.2/32</a> from fe80::e43d:3ff:feeb:bf58 on h2-eth0.</blockquote><div><br></div><div>Although this result complies with the RFC</div><div><<The next-hop address for this update is taken from the last preceding</div><div>Next Hop TLV with a matching address family in the same packet; if no</div><div>such TLV exists, it is taken from the network-layer source address of</div><div>this packet>></div><div>nevertheless I do not understand why it works like this :(</div><div><br></div><div>What should I do put the route's next-hop into update messages? I should put the "route->nexthop" into a subtlv? Or I just need to better understand the use of  already present next-hop TLV?</div><div><br></div><div>Thank you and best regards,</div><div><br></div><div>Lorenzo</div><div><br></div></div>