Annotation of wikisrc/projects/project/rump-networkvisualizer.mdwn, revision 1.2

1.1       jmmv        1: [[!template id=project
                      2: 
                      3: title="Visualization tool for arbitrary network topology"
                      4: 
                      5: contact="""
                      6: [tech-userlevel](mailto:tech-userlevel@NetBSD.org)
                      7: """
                      8: 
                      9: mentors="""
                     10: [Antti Kantee](mailto:pooka@NetBSD.org)
                     11: """
                     12: 
1.2     ! jmmv       13: category="userland"
        !            14: difficulty="medium"
1.1       jmmv       15: duration="3 months"
                     16: 
                     17: description="""
                     18: Using kernel virtualization offered by [rump](http://www.NetBSD.org/docs/rump/) it is possible to start a virtually unlimited amount of TCP/IP stacks on one host and interlink the networking stacks in an arbitrary fashion.  The goal of this project is to create a visual GUI tool for creating and managing the networks of rump kernel instances.  The main goal is to support testing and development activities.
                     19: 
                     20: The implementation should be split into a GUI frontend and a command-line network-control backend.  The former can be used to design and edit the network setup, while the latter can be used to start and monitor the virtual network from e.g. automated tests.
                     21: 
                     22: The GUI frontend can be implemented in any language that is convenient.  The backend should be implemented in a language and fashion which makes it acceptable to import into the NetBSD base system.
                     23: 
                     24: The suggested milestones for the project are:
                     25: 
                     26: 1. get familiar and comfortable with starting and stopping rump kernels and configuring virtual network topologies
                     27: 2. come up with an initial backend command language. It can be something as simple as bourne shell functions.
                     28: 3. come with an initial specification and implementation of the GUI tool.
                     29: 4. make the GUI tool be able to save and load network specifications.
                     30: 5. create a number of automated tests to evaluate the usefulness of the tool in test creation.
                     31: 
                     32: In case of a capable student, the project goals can be set on a more demanding level.  Examples of additional features include:
                     33: 
                     34: * defining network characteristics such as jitter and packet loss for links
                     35: * real-time monitoring of network parameters during a test run
                     36: * UI gimmicks such as zooming and node grouping
                     37: """
                     38: ]]
                     39: 
                     40: [[!tag gsoc]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb