Skip to content
mihaelamartinas edited this page Jun 3, 2013 · 4 revisions

Claudiu Ghioc

Title

  • LiSA software switch with "bridge" and "8021q" linux kernel modules

Abstract

Contents

  1. Introduction
  • a few words about networks, switches, layer 2 level;
  • software switch (why do we need one, all the reasons);
  • initial version of LiSA (description of old features);
  • what was wrong with the old version.
  1. Generic software switch architercture
  • old LiSA architecture (two layers: kernel module and CLI);
  • describe the idea to separate the switch on three layers (middleware);
  • introduction to the new Switch API;
  • changes needed to adapt the CLI;
  • enumerate the possible implementation and how they would fit with the new design.
  1. "bridge" and "8021q" linux kernel modules
  • describe the "bridge" module with its current features (multicast, stp etc);
  • describe the "8021q" module (how these modules can be configured from userspace);
  • suggest a scenario using "vconfig" and "brctl" to simulate a software switch;
  • pros / cons for this combination (it helps LiSA to be included in a Linux distibution,
  • the kernel modules already exist, the performance is lower than other implementations etc).
  1. Implementation
  • general concepts to follow (one bridge per VLAN, virtual interfaces for each trunk interface);
  • "bridge + 8021q" architecture
  • data structures to hold the VLAN database, the lists on interfaces and other
  • configurations in shared memory;
  • communication with the two kernel modules;
  • description of the switch API functions with this back-end.
  1. Testing and results
  • describe the testing architecture (the equipments involved);
  • test results compared to other implementation (hardware switch, lisa.ko).
  1. Conclusion and further work
  • describe the functional solution obtained with this implementaion;
  • this solution works on any platform which runs a current version of the linux kernel;
  • it can be intergrated in a Linux distribution;
  • describe possible uses of this solution and other implementations.
  1. Appendix
  • here I could describe some linux concepts such as shared memory and atomic operations witch its data structures, linux kernel lists;
  • relevant pieces of code (data structures holding interface and vlan data);

References

  • nu stiu sigur daca ar trebui inversate capitolele 2 si 3. Al treilea tine mai mult de teorie si ar fi mers inainte, pe cand al doilea descrie arhitectura aplicatiei. To be decided.
  • titlu ar putea suferi mici modificari.

Mihaela Martinas

Title:

  • Multi – engine software switch implementation based on LiSA

Contents

  1. Introduction
  • why is a software switch needed
  • benefits that LiSA brought
  1. LiSA overview
  • LiSA old implementation vs new implementation (the new api)
  • Communication with the network subsystem (sockets AF_SWITCH vs RAW_SOCKETS)
  • CDP and RSTP daemons
  • Particularities of systems that can use LiSA (hardware switch, LibVirt etc. - brief presentation of every middleware)
  1. Multi – engine switch architecture
  • Integrating LiSA middleware implementations in the multi-engine switch
  • Command Line Interface architecture for the multi-engine switch
  1. Multi – engine implementation
  • Communication with the hidden backend implementations
  • Data management(shared memory, structures)
  1. Testing and results
  • usage of 2 independent middle-ware implementations vs using the multi-engine switch
  1. Further work and Conclusion
  • further work
  • achieved goals
  1. Appendix