struct kroute_node	*kr;
kroute_nexthop_insert(in_addr_t key, struct kroute_nexthop *nh){	struct kroute_node	*kr;	struct knexthop_node	*h;	if ((h = calloc(1, sizeof(struct knexthop_node))) == NULL) {		log_err("kroute_nexthop_insert");		return (-1);	}	h->nexthop = nh->nexthop = key;	if ((kr = kroute_match(key)) != NULL)		if (kr->flags & F_KERNEL) {	/* must be non-bgp! */			h->kroute = kr;			kr->flags |= F_NEXTHOP;			nh->valid = 1;			nh->connected = kr->flags & F_CONNECTED;			nh->gateway = kr->r.nexthop;		}	if (RB_INSERT(knexthop_tree, &knt, h) != NULL) {		logit(LOG_CRIT, "knexthop_tree insert failed for %s",			    log_ntoa(h->nexthop));		free(h);	}	return (0);}