Future Directions
This page lists some of the future directions in which we would like to push the VINI platform. If you are interested in working in any of these areas, please send mail to vini-dev@lists.planet-lab.org.
Performance
- Publish performance numbers for user-space packet forwarding experiments on VINI.
- Push Click into the kernel for better performance, and allow individual experiments to add entries to Click's forwarding tables. How to safely share a single Click forwarder among multiple experiments?
Scalability
- Understand how many simultaneous packet forwarding experiments a single VINI node can support.
- Devise admission control mechanisms to ensure that the single-node limit is not exceeded.
Robustness
- Deploy a long-running service based on the PL-VINI toolkit to understand its limitations in this regard. Ideally the service would carry real traffic for real users.
Network Virtualization
- Virtualize a single BGP connection to a real router among multiple VINI experiments. We have a working prototype of a "BGP mux" that does this and hope to make it available soon.
- Build kernel support for virtual network interfaces, get rid of UML.
Experiment Monitoring and Control
- Build better tools for monitoring and visualizing traffic flow within an experiment. We are working on a tool that can collect and analyze detailed packet-level traces across all nodes running an experiment.
- Build better tools for debugging an experiment. One idea is to provide a way for an experiment to be frozen and replayed.
Packet Forwarding Hardware
- Support some VINI nodes with NetFPGA boards installed. Initially these nodes would only be open to a small subset of researchers.
- Allow a NetFPGA board to bind to an experiment. This would allow all experiments to run on VINI nodes containing NetFPGA boards.
- Figure out a way to virtualize a single NetFPGA board across multiple experiments. Our efforts to virtualize a single Click kernel module will likely prove valuable here.

