netinet/in.h already has logic to not redefine in6_addr if linux/in6.h has already been included. It'd be great if we could do the same for in_addr. To reproduce, try to compile a source file that includes linux/in.h followed by netinet/in.h