p->lastchange = time(NULL);
path_update(struct rde_peer *peer, struct rde_aspath *nasp,    struct bgpd_addr *prefix, int prefixlen){	struct rde_aspath	*asp;	struct prefix		*p;	rde_send_pftable(nasp->pftable, prefix, prefixlen, 0);	rde_send_pftable_commit();	if ((p = prefix_get(peer, prefix, prefixlen)) != NULL) {		if (path_compare(nasp, p->aspath) != 0) {			/* non equal path attributes create new path */			path_link(nasp, peer);			prefix_move(nasp, p);		} else {			/* already registered */			path_put(nasp);		}	} else if ((asp = path_lookup(nasp, peer)) == NULL) {		/* path not available */		path_link(nasp, peer);		prefix_add(nasp, prefix, prefixlen);	} else {		/* path found, just add prefix */		prefix_add(asp, prefix, prefixlen);		path_put(nasp);	}}