mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	Babel: Set onlink flag for IPv4 routes with unreachable next hop
If the next hop of a route is not a reachable address, the route should be installed as onlink. This enables a configuration common in mesh networks where the mesh interface is assigned a /32 and babel handles the routing by installing onlink routes. Thanks to Toke Hoiland-Jorgensen for the patch.
This commit is contained in:
		@@ -640,6 +640,14 @@ babel_announce_rte(struct babel_proto *p, struct babel_entry *e)
 | 
			
		||||
      .nh.iface = r->neigh->ifa->iface,
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * If we cannot find a reachable neighbour, set the entry to be onlink. This
 | 
			
		||||
     * makes it possible to, e.g., assign /32 addresses on a mesh interface and
 | 
			
		||||
     * have routing work.
 | 
			
		||||
     */
 | 
			
		||||
    if (!neigh_find(&p->p, r->next_hop, r->neigh->ifa->iface, 0))
 | 
			
		||||
      a0.nh.flags = RNF_ONLINK;
 | 
			
		||||
 | 
			
		||||
    rta *a = rta_lookup(&a0);
 | 
			
		||||
    rte *rte = rte_get_temp(a);
 | 
			
		||||
    rte->u.babel.seqno = r->seqno;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user