Menu

Tree [d36a55] master /
 History

HTTPS access


File Date Author Commit
 conf 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 include 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 src 2011-07-01 Viktor Nordell Viktor Nordell [d36a55] Fixed issue in log init, and compilation problem.
 AUTHORS 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 COPYING 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 COPYRIGHT 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 ChangeLog 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 DEPENDENCIES.ubuntu 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 INSTALL 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 Makefile.am 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 NEWS 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 README 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 TODO 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 autogen.sh 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.
 configure.in 2011-05-02 Viktor Nordell Viktor Nordell [2eb5d6] Initial commit, version 0.1 of SWSW.

Read Me

===== General ===== 

SWSW ("Software Switch") is highly configurable Ethernet switch running
in userspace. The switch support for several recent Ethernet amendments
such as Provider Bridges (802.1AH) and Provider Backbone Bridges (802.1AH).

It is perfect when you need to have an extendible and controllable switch,
for example when there is a need to control a switch from a control plane.

It can also be extended to support new and experimental protocol, including
protocols above Ethernet. (Some IP support already exists).

===== Installing =====

See INSTALL.

===== Running =====

To run SWSW you need first to define a config to use. The config consists
of an XML file, which includes the following elements:

mactable:
    There you define MAC destination values for frame, different entries
    exists for the different types of frames (c-tag, s-tag, etc.). This
    is not needed in Ethernet learning is enabled.

vlantable:
    In the VLAN-table you define which port should be a part of a LAN.
    Yet again we have different types, for example cvlan for Q-tagged.
    Each port that is part of for example an Q LAN will need to have an
    entry here.

interface:
    Here you do actions on frames entering the interface (direction="in")
    or leaving interface (direction="out"). First you can match on the
    type of frame, such as cframe. Then you may do a match, for example
    matching the VID value of the frame. Lastly you can to actions, for
    example adding (pushing) a tag to the frame, or removing a tag (pop).

In the config dir in the source file, or in the swsw config folder
(etc/swsw) contains several example configurations.

To run SWSW with the default config location (etc/swsw/swsw.conf) simply
start swsw as root (e.g. sudo swsw) and it will start.

===== Runtime configuration =====

SWSW also supports adding and removing configuration while it's running.
This is done by sending the XML config to the config port (default:4321)
with a header.

To add config to a running swsw deamon, use the swsw-conf command. If
only a config is given to the command (swsw-conf conf.xml) then the config
will be added to swsw running locally. You may also tell it to connect
to another swsw instance (by changing IP/port) and also tell it to delete
a config (by using the -d flag).

===== Help / Bug / Issues =====

Please report bug etc. to either of the following:
    Viktor Nordell      viktor.nordell@acreo.se
    Roland Elverljung   roland.elverljung@acreo.se    
    Pontus Sköldström   pontus.skoldstrom@acreo.se