Hmm. I've not added 127.1.2.3 to lo interface but I can ping it. Start a listening server and connect to it. I didn't have to add anything in 127 - because it's a /8
This discussion [1] sheds some light on the matter, but does not fully explain the reasons for differing behaviour across OS's.
[1]: https://serverfault.com/questions/293874/why-cant-i-ping-an-...
# ping -c 1 10.10.10.10
1 packets transmitted, 0 received
# ip addr add 10.10.10.1/24 dev lo
# ping -c 1 10.10.10.10
64 bytes from 10.10.10.10: time=0.023 ms
1 packets transmitted, 1 receivedAs opposed to a normal interface where only the specific address is a local address, but the rest of the network specified are accessible through that interface.
Maybe one /8 wasn't enough addresses for you, so you added more? Doesn't seem like an unreasonable way to behave, even if it's different than BSD behavior; it certainly makes it easier to use lots of loopback addresses.