-
Notifications
You must be signed in to change notification settings - Fork 3
Diploma Chapters
Claudiu Ghioc edited this page Jun 17, 2013
·
4 revisions
Title
- Providing Multiple Back Ends for LiSA Software Switch
Abstract
Contents
- Overview of Switching and Software Switches
- 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.
- 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.
- "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).
- 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.
- Testing and Evaluation
- describe the testing architecture (the equipments involved);
- test results compared to other implementation (hardware switch, lisa.ko).
- 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.
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.
Title:
- Multi – engine software switch implementation based on LiSA
Contents
- Introduction
- why is a software switch needed
- benefits that LiSA brought
- 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)
- Multi – engine switch architecture
- Integrating LiSA middleware implementations in the multi-engine switch
- Command Line Interface architecture for the multi-engine switch
- Multi – engine implementation
- Communication with the hidden backend implementations
- Data management(shared memory, structures)
- Testing and results
- usage of 2 independent middle-ware implementations vs using the multi-engine switch
- Further work and Conclusion
- further work
- achieved goals
- Appendix