• 1. General Questions
  • 1.1 What is GINI?
  • 1.2 What is new with GINI 2.0?
  • 1.3 Where can I get help?
  • 2. Downloading GINI 2.0
  • 2.1 Where can I download GINI 2.0?
  • 2.2 Which version should I download?
  • 2.3 What do I need to run GINI?
  • 3. Installing GINI 2.0
  • 3.1 How do I install GINI 2.0?
  • 4. Starting gBuilder 2.0
  • 4.1 How do I start gBuilder 2.0?
  • 5. Creating Topologies
  • 5.1 How do I create a topology?
  • 5.2 How do I save a topology?
  • 5.3 Can I transfer my save files to another machine?
  • 6. Starting Topologies
  • 6.1 How do I start a topology?
  • 6.2 How do I start a server?
  • 6.3 How do I set up ssh keypairs?
  • 7. Using Projects
  • 7.1 What is a project?
  • 7.2 Can I transfer my project files to another machine?
  • 1. General Questions

    1.1 What is GINI?

    GINI (GINI Is Not Internet) is a toolkit for creating virtual micro Internets for teaching and learning computer networks. It provides an easy to use graphical user interface called gBuilder for creating network instances. Using gBuilder, the user can create small to moderate sized networks. Once the network is built graphically, parameters such as subnet addresses can be assigned by the user to different components of the network. gBuilder provides a lot of support by automatically computing routing tables and assigning IP and MAC addresses using the constraints expressed by the user. The network specification is verified by a compiler and then converted into an XML file containing the network definition. The XML file can then be used to start the virtual network on the back-end program called gLoader, and the user can interact with the running devices of that network through gBuilder.

    1.2 What is new with GINI 2.0?

    The most notable difference with GINI 2.0 is the new user interface, more specifically gBuilder 2.0. It has been completely rewritten using PyQt4, a set of Python bindings for Qt 4. On top of most of the features provided in the first release of gBuilder, it is highly configurable. It adds a new level of user-friendliness by providing configurable styles and themes, as well as dockable windows. Also, gBuilder can remember the layout so that the windows will reappear in the same location the user left them the last time they ran the program.

    1.3 Where can I get help?

    There is a GINI mailing list for bugs or questions to which the administrators will reply to. If the documentation is insufficient for your needs, please post something and hopefully someone will provide a solution.

    2. Downloading GINI 2.0

    2.1 Where can I download GINI 2.0?

    If you are simply looking to use GINI, it is best downloaded from the subversion repository https://svn.origo.ethz.ch/gini/stable. You can then proceed to the installation. If you are interested in the development of GINI, you can download the full repository at https://svn.origo.ethz.ch/gini.

    2.2 Which version should I download?

    If you are running Windows, you only have the option of installing the front-end. If you are running Linux, you can install the front-end, back-end or full version of GINI. To run GINI, you will require at least one installation of the front-end and one installation of the back-end or simply one full version.

    2.3 What do I need to run GINI?

    The full GINI package should work on the latest Ubuntu distributions (8.04, 8.10, 9.04) using Python 2.5 or 2.6. The front-end version of GINI can be run on Windows, but to run a topology you will need a Linux server with the back-end installed to connect to.

    Front-end:

    Back-end:

    3. Installing GINI 2.0

    3.1 How do I install GINI 2.0?

    First, you need to create the directory where you want to install GINI, and then add the path of that directory as GINI_HOME to your environment variables. You also need to add the path of GINI_HOME/bin to your PATH environment variable. If you have not already downloaded the repository, do so in a different directory than GINI_HOME. Navigate to the downloaded repository in a command line and execute the command depending on the installation you want:

    4. Starting gBuilder 2.0

    4.1 How do I start gBuilder 2.0?

    If you are running Linux, typing 'gbuilder' in the command line should be sufficient. On both Windows and Linux, double-clicking on the source file gbuilder.py or a shortcut to it should work fine.

    5. Creating Topologies

    5.1 How do I create a topology?

    You start by dragging the desired elements from the Drag & Drop Toolbar onto the canvas and connect them according to the connection rules. See 5.2 for the connection rules. To connect two elements, you must hold right-click over one element, drag it over to the element you want to connect it to and release it. If you are not using the 'auto-generate IP/MAC addresses' option, the you will need to fill in the IP and MAC addresses of each applicable element manually and then compile. Otherwise, you only need to compile the topology and if there are no errors, the topology can be started.

    5.2 How do I save a topology?

    Generally, with a new topology you will be prompted to save at compilation, runtime, or when closing the program. You can save manually under the 'File' menu.

    5.3 Can I transfer my save files to another machine?

    Yes. The save files should be readable on another machine and should load the same topology. The properties of each device should also be the same as well. Note that this does not include any changes made to the actual UML, that information is stored server-side and can be dealt with through the use of projects.

    6. Starting Topologies

    6.1 How do I start a topology?

    To do so, a server must be started beforehand. See 6.2 for how to start a server. You can then start a topology from the 'Run' menu, or press the toolbar button with the green arrow.

    6.2 How do I start a server?

    To do so, a username and hostname must be provided in the server options accessible from the 'Config' menu. If you have not set up a passwordless ssh keypair, you will have to enter your password or passphrase to connect. To find out more about ssh keypairs, see 6.3. You can then start a server from the 'Run' menu, or press the toolbar button with the green arrow on the server.

    6.3 How do I set up ssh keypairs?

    Choose the case that best suits you.

    7. Using Projects

    7.1 What is a project?

    A project is used to specify where to load and store data on the server so that any changes made to UMLs can be reused between topologies.

    7.2 Can I transfer my project files to another machine?

    The short answer is yes. The project files that gBuilder creates are simply files that store your username and hostname. You can easily recreate this project on another machine by creating a project with the same name and the same server information. Doing so will give you access to the same data stored on the server from that other machine. Note that if you change the server information of a project, you will not have access to the same data. On a related note, if you have transferred the project file to someone else, he or she will require access to the server under your username.