<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello,<div class=""><br class=""></div><div class="">This is an interesting problem.<br class=""><div class=""><br class=""></div><div class=""><div class=""><div><blockquote type="cite" class=""><div class="">Router A had address 10.0.200.1 and has a default route, which babel shares using src-prefix <a href="http://10.0.0.0/16" class="">10.0.0.0/16</a>.</div></blockquote><div><br class=""></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class="">root@B:~# ip rule show</div></div></div>0:    from all lookup 128 <br class="">1:    from all lookup local <br class="">100:    from <a href="http://10.0.100.0/16" class="">10.0.100.0/16</a> lookup 10 <br class=""></div></div></div></div></div></div></blockquote><div><br class=""></div>Not the actual problem, but this should be 10.0.0.0/16 instead of 10.0.100.0/16.  Is your A configuration file correct?</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class=""><div class="">My question is: Shouldn't the route for <a href="http://10.0.100.0/24" class="">10.0.100.0/24</a> appear in the source specific table of router B?</div></div></div></div></div></div></blockquote><div><br class=""></div><div>It's "normal", but not desirable in this case.  It's a "not implemented" part (kernel routes are not considered).  The point is that considering kernel (FIB) routes is not an obvious choice: at which point should we correct the FIB.  For instance, we probably don't want to see Babel inserting additional routes when there is only kernel routes.</div><div><br class=""></div><div>1. Should we add a (D, S) route (with the corresponding rule) for each "src-prefix <prefix>" configuration directive ?</div><div><br class=""></div><div>2. Should we fix the FIB ? (detecting rules associated to imported tables, and fixing the routing)</div><div><br class=""></div><div>3. Should we fix the redistributed routes of the FIB ? (creating rules for "src-prefix" config, adding additional entries in that table, even without receiving routes)</div><div><br class=""></div><div>4. Should we fix routing for redistributed routes and babel routes pairs ?<br class=""><div class=""><br class=""></div><div class="">Now, I would say "Probably" for the 1, "No" for 2, "Unclear" for the 3, and "Yes" for the 4.</div><div class=""><br class=""></div><div class="">Dealing with redistribution is always difficult…  I'll sleep on that before writing a patch.  Don't hesitate to give your opinion.  Before a suitable solution is written, you may be able to temporarily fix your problem with some kind of "ip rule add prio 90 to 10.0.100.0/24 table 254".</div><div class=""><br class=""></div></div></div><div>Matthieu</div></div><div><br class=""></div></div></div></body></html>