>> Babel uses a slightly more refined feasibility condition, derived from >> EIGRP [DUAL <https://datatracker.ietf.org/doc/html/rfc8966#ref-DUAL>].
> Why does babel not use DSDV-feasibility? Is it because I can manage > multiple routes in case of link failures? EIGRP-feasibility is more permissive (it allows more routes) and also does not require any special provisions to deal with retracted routes (the even/odd hack in DSDV). The only cost is that it requires sligthly more state -- you need to maintain the feasibility distance in addition to the current distance. So more routes and simpler code, in exchange for slightly more runtime state. It looks like a win to me. > Also the "Requests" part is interesting [0]. I know that in DSDV a direct > neighbor may advertise link failures with an uneven sequence number > (+1). Babel uses an explicit request to the source. What does the forward > of this request look like? Does it mean that babel sends on all possible > links that request if it can reach the source via that link? So it is > a bit like a "selected flood"? 1. the router that lost the route sends the request to all neighbours; 2. other routers only forward the request according to their best route. This is provably complete -- if a loop-free route exists, it will be made feasible by this procedure (assuming no packet loss). On the other hand, it is not minimal: it is surely possible to design an algorithm that sends fewer requests while still being complete. -- Juliusz _______________________________________________ Babel-users mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users
