struct hw_addr_data ll_addr;
} Neighbor;
- Neighbor *neighbor_free(Neighbor *neighbor);
+ Neighbor* neighbor_ref(Neighbor *neighbor);
+ Neighbor* neighbor_unref(Neighbor *neighbor);
+int neighbor_get(Link *link, const Neighbor *in, Neighbor **ret);
+int neighbor_remove(Neighbor *neighbor, Link *link);
+
int network_drop_invalid_neighbors(Network *network);
int link_drop_managed_neighbors(Link *link);
Hashmap *group;
} NextHop;
- NextHop *nexthop_free(NextHop *nexthop);
+ NextHop* nexthop_ref(NextHop *nexthop);
+ NextHop* nexthop_unref(NextHop *nexthop);
+int nexthop_remove(NextHop *nexthop, Manager *manager);
+
int network_drop_invalid_nexthops(Network *network);
int link_drop_nexthops(Link *link, bool foreign);