Address family not supported by protocol

This is an error you get when you try to connect(2) or bind(2) a socket to an address where that address doesn't make sense. For example trying to bind a socket created with PF_INET (Protocol Family Internet) to a AF_UNIX (Address Family Unix Domain Socket) address, it just doesn't make sense. Alternatively you forgot to fill in the sin_family or uin_family field in your address structure. Either way the programmer screwed up.

This can also occur if the OperatingSystem does not support a particular protocol. For example:

 $ ping6 ::1
 ping6: socket: Address family not supported by protocol

 $ strace ping6 ::1
 socket(PF_INET6, SOCK_RAW, 58)          = -1 EAFNOSUPPORT (Address family not
 supported by protocol)

In this case, the machine does not have IPv6 support, but a program tried to use it.