protocol_family is now a simple struct