I have made the following changes in the bitcoin source code:
Disabled the DNS seed discovery in order to force bitcoind to fallback to connect to hardcoded nodes.
Changed the default hardcoded nodes to my known 4 addresses, lets say A,B,C and D, which I ensure are always online.
Now, when I run the bitcoind client it connects to one of the addresses, running the same modified version of bitcoind. It gets the peer addresses from the ode that it first connects to by exchanging getaddr and addr messages but I am not sure how it proceeds after that.
What is a node falls back to connect to hardcoded nodes? is it supposed to connect to only one of the hardcoded nodes or can it connect to multiple nodes?
Then, after getting peer address via the addr message, when will the bitcoind client node start connecting to those peers ?