code: func SendMessageMarshalled(command, family, flags int, v interface{}) error {
  	msg, err := NewMessage(command, family, flags)
  	if err != nil {
  		return err
  	}
  	defer msg.Free()
  
  	if err := msg.Marshal(v); err != nil {
  		return err
  	}
  	return msg.Send()
  }
docs: // SendMessageMarshalled creates a netlink message and marshals the given
  // struct into the message, before sending it.