[Glyph]
So it sounds like doing what I suggested earlier (default to [-1], allow for customization) is actually required by the RFC :-). Although it does sound like the RFC only requires that you be able to customize to [0] rather than [-1], rather than any address. In practical terms though I believe it is possible to do as Tino suggests and configure any crazy address you want to be the broadcast address (or addresses, even) for a network.
If you're doing this, are you really going to be specifying the broadcast address as something like network.use_broadcast_index(-2) (or even 0) and then using network.broadcast somewhere else? I just don't see that happening. [Martin]
I think setting the broadcast address to something else just does not need to be supported.
I agree. [Glyph]
It is unusual, but frankly, needing to actually do operations on broadcast addresses at all is also a pretty unusual task. Broadcast itself is a somewhat obscure corner of networking. I suspect that in many deployments that need to write significant code to deal with broadcast addresses, rather than the usual default stuff, funky configurations will actually be quite common.
I use .broadcast from IPy, and I'm not doing anything funky. All of my broadcast addresses are network[-1].