So the DHCP case does not necessarily need any special kernel support (other than not prefiltering before the raw socket).
Thanks for the correction.
https://www.ietf.org/archive/id/draft-schoen-intarea-unicast...
The big prize is 240/4.
https://www.ietf.org/archive/id/draft-schoen-intarea-unicast...
Our proposals have not been warmly received in the intarea WG so far.
https://datatracker.ietf.org/doc/pdf/draft-fuller-240space-0...
If we (for an expansive sense of "we") had kept it up more actively, we would already have had 15 years of progress on updating implementations and evolving people's expectations. That wouldn't have been a super-fast change, necessarily.
We (for a narrow sense of "we") think it's pretty likely that people will still be interested in having more IPv4 space in 15 years from now, so it's too bad that progress is (somewhat) stalled on this (with most Unix-like systems allowing it, and Windows not allowing it, and dedicated routers from before about 2013-2016 often not allowing it).
¹ the specific project I'm working on, started by John Gilmore, didn't exist yet at that time, but is trying to revive/continue this idea
I just got a patch into the ip(7) man page that describes this
https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/...
although there hasn't been a man-pages release since then, so you probably can't see this on your own system yet.
The original change (included in Linux 5.3) is
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
(I'm working on a project that aims to make these addresses potentially useful for numbering Internet hosts in the future, as part of which Dave Taht's patch linked above was written, so I follow this very closely!)
Separately, you need to be able to process a 0.0.0.0/32 source address on external interfaces (though not to forward it) in order to be able to implement a DHCP server, as that's the source address used by DHCP clients. (edit: another commenter pointed out that this commonly uses raw sockets so it doesn't necessarily require any explicit kernel support)