/usr/include/linux/if.h (among others) are including /usr/include/linux/socket.h expecting this later to define struct sockaddr. But /usr/include/linux/socket.h only defines __kernel_sockaddr_storage. The issue is also present in linux-headers-4.8.
should be fixed in current versions by various clean up changes upstream. and if not, feel free to file an updated bug in the kernel bugzilla.