- if (hops > rnet2->lrn_hops) {
- /* New route is longer; ignore it */
- add_route = 0;
- } else if (hops < rnet2->lrn_hops) {
- /* new route supercedes all currently known routes to this
- * net */
- list_add(&zombies, &rnet2->lrn_routes);
- list_del_init(&rnet2->lrn_routes);
- add_route = 1;
- } else {
- add_route = 1;
- /* New route has the same hopcount as existing routes; search
- * for a duplicate route (it's a NOOP if it is) */
- list_for_each (e, &rnet2->lrn_routes) {
- route2 = list_entry(e, lnet_route_t, lr_list);
-
- if (route2->lr_gateway == route->lr_gateway) {
- add_route = 0;
- break;
- }
+ /* Search for a duplicate route (it's a NOOP if it is) */
+ add_route = 1;
+ list_for_each (e, &rnet2->lrn_routes) {
+ lnet_route_t *route2 = list_entry(e, lnet_route_t, lr_list);