]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - sysdep/linux/netlink.c
KRT: Remove KRF_SYNC_ERROR flag
[thirdparty/bird.git] / sysdep / linux / netlink.c
index 4714263ade2632146f344db251fd251228e9912a..25c078c17cc7e75e985d7b6435d01d3451a2b5cf 100644 (file)
@@ -1399,7 +1399,7 @@ nl_replace_rte(struct krt_proto *p, rte *e)
 
 
 void
-krt_replace_rte(struct krt_proto *p, net *n, rte *new, rte *old)
+krt_replace_rte(struct krt_proto *p, net *n UNUSED, rte *new, rte *old)
 {
   int err = 0;
 
@@ -1428,10 +1428,13 @@ krt_replace_rte(struct krt_proto *p, net *n, rte *new, rte *old)
       err = nl_add_rte(p, 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);
+  }
 }
 
 static int