diff --git a/ldpd/lde.h b/ldpd/lde.h index 28468931ec..e09be01ece 100644 --- a/ldpd/lde.h +++ b/ldpd/lde.h @@ -129,9 +129,7 @@ struct fec_node { uint32_t pw_remote_status; void *data; /* fec specific data */ - uint8_t flags; }; -#define F_FEC_NHS_CHANGED 0x01 #define CHUNK_SIZE 64 struct label_chunk { diff --git a/ldpd/lde_lib.c b/ldpd/lde_lib.c index 68b721e213..0f91f49920 100644 --- a/ldpd/lde_lib.c +++ b/ldpd/lde_lib.c @@ -340,8 +340,6 @@ lde_kernel_insert(struct fec *fec, int af, union ldpd_addr *nexthop, fnh = fec_nh_find(fn, af, nexthop, ifindex, route_type, route_instance); if (fnh == NULL) { - fn->flags |= F_FEC_NHS_CHANGED; - fnh = fec_nh_add(fn, af, nexthop, ifindex, route_type, route_instance); /* @@ -418,17 +416,11 @@ lde_kernel_update(struct fec *fec) } else fnh->flags |= F_FEC_NH_NO_LDP; } else { - fn->flags |= F_FEC_NHS_CHANGED; lde_send_delete_klabel(fn, fnh); fec_nh_del(fnh); } } - if (!(fn->flags & F_FEC_NHS_CHANGED)) - /* return earlier if nothing has changed */ - return; - fn->flags &= ~F_FEC_NHS_CHANGED; - if (LIST_EMPTY(&fn->nexthops)) { RB_FOREACH(ln, nbr_tree, &lde_nbrs) lde_send_labelwithdraw(ln, fn, NULL, NULL);