In the book Distributed Systems (by Steen and Tanenbaum), it is stated that: "Joining a DHT-based system such as Chord is relatively simple. Suppose node p wants to join. It simply contacts an arbitrary node in the existing system and requests a lookup for succ(p + 1)"
I didn't understand the reason for searching for succ(p+1) instead of succ(p).
The examples I found didn't show a performance difference when searching for succ(p+1) compared to succ(p).