I've never personally used raw sockets before, so what domains are expected to work other than `AF_INET` and `AF_INET6`? It looks like you're using `sockaddr_to_addr` below which only knows about those kinds of addresses?