quagga plugin routes additional
[olsrd.git] / lib / quagga / src / quagga.c
index 62fdbe9..43d3d1d 100644 (file)
@@ -99,6 +99,8 @@ zebra_addroute(const struct rt_entry *r)
   }
 
   retval = zclient_write(zpacket_route(olsr_cnf->ip_version == AF_INET ? ZEBRA_IPV4_ROUTE_ADD : ZEBRA_IPV6_ROUTE_ADD, &route));
+  if(!retval && zebra.options & OPTION_ROUTE_ADDITIONAL)
+    retval = olsr_cnf->ip_version == AF_INET ? zebra.orig_addroute_function(r) : zebra.orig_addroute6_function(r);
 
   free(route.ifindex);
   free(route.nexthop);
@@ -152,6 +154,8 @@ zebra_delroute(const struct rt_entry *r)
   }
 
   retval = zclient_write(zpacket_route(olsr_cnf->ip_version == AF_INET ? ZEBRA_IPV4_ROUTE_DELETE : ZEBRA_IPV6_ROUTE_DELETE, &route));
+  if(!retval && zebra.options & OPTION_ROUTE_ADDITIONAL)
+    retval = olsr_cnf->ip_version == AF_INET ? zebra.orig_delroute_function(r) : zebra.orig_delroute6_function(r);
 
   free(route.ifindex);
   free(route.nexthop);