]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - sysdep/bsd/krt-sock.c
KRT: Remove KRF_SYNC_ERROR flag
[thirdparty/bird.git] / sysdep / bsd / krt-sock.c
index e646c41429741ae1b88a3d1545a5f16c6121e123..c2faa23dd44f0ae95be43561b0b4dbcd916790b1 100644 (file)
@@ -357,10 +357,13 @@ krt_replace_rte(struct krt_proto *p, net *n, rte *new, rte *old)
   if (new)
     err = krt_send_route(p, RTM_ADD, new);
 
-  if (err < 0)
-    n->n.flags |= KRF_SYNC_ERROR;
-  else
-    n->n.flags &= ~KRF_SYNC_ERROR;
+  if (new)
+  {
+    if (err < 0)
+      bmap_clear(&p->sync_map, new->id);
+    else
+      bmap_set(&p->sync_map, new->id);
+  }
 }
 
 #define SKIP(ARG...) do { DBG("KRT: Ignoring route - " ARG); return; } while(0)