Changes between Version 1 and Version 2 of Internal/OpenFlow/FloodlightFVPort


Ignore:
Timestamp:
Aug 19, 2012, 7:55:05 AM (12 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/FloodlightFVPort

    v1 v2  
    3434 * The configurations are not persistent
    3535
    36 == Usage ==
    37 
    38 As of now this project is extremely rough around the edges.
    39 
    40 ==== Installation ====
    41 
    42 The source code can be fetched using git and built with `ant`:
    43 {{{
    44 git clone git://github.com/akoshibe/floodlight.git
    45 cd floodlight/
    46 git checkout -b flowvisor origin/flowvisor
    47 ant;
    48 }}}
    49 
    50 As with the regular Floodlight, `ant eclipse` allows it to work with eclipse and `ant javadoc` will produce javadocs for the code.
    51 
    52 ==== running in !FlowVisor mode ====
    53 
    54 To run:
    55 {{{
    56 java -jar target/floodlight.jar -cf src/main/resources/flowvisor.properties
    57 }}}
    58 
    59 This brings the controller up in "!FlowVisor mode," with two default slices containing the !LearningSwitch and Forwarding modules. The slice configurations are in config.json, found with the .properties file in [floodlight working directory]/src/main/resources/. 
    60 
    61 ==== running as a regular controller ====
    62 
    63 Alternatively, since none of the original code base was modified, this version of Floodlight can be run as a normal v0.85 controller by replacing
    64 {{{
    65 net.floodlightcontroller.core.FVProxyProvider
    66 }}}
    67 with
    68 {{{
    69 net.floodlightcontroller.core.FloodlightProvider
    70 }}}
    71 in `src/main/resources/META-INF/services/net.floodlight.core.module.IFloodlightModule` and launching it without the -cf option.
    72 
    73 ==== creating a custom configuration file ====
    74 As of now, !FlowVisor is required to create custom configuration files. This takes four steps:
    75 
    76  1. configure the desired policies using `dpctl` against a running !FlowVisor   
    77  1. dump the configurations to file using `dpctl dumpConfig <filename>`
    78  1. edit the configuration file: add each module to be isolated to a slice, with "modules" as the key and the fully qualified name of the module as the value. The value "none" may be used for a slice not associated with any modules. For example, the following isolates the Forwarding module in a slice named "fl-1":
    79 {{{
    80    ...
    81    
    82    "Slice": [
    83    ...     
    84       {
    85          "config_name": "default",
    86          "flowmap_type": "federated",
    87          "name": "fl-1",
    88          "creator": "fvadmin",
    89          "passwd_crypt": "a3b88aa4453124c025c39938fb89d3cb",
    90          "passwd_salt": "-1847302276",
    91          "controller_hostname": "localhost",
    92          "controller_port": 6634,
    93          "modules": "net.floodlightcontroller.forwarding.Forwarding",
    94          "contact_email": "foo@sampledomain.org",
    95          "drop_policy": "exact",
    96          "lldp_spam": true
    97       },
    98    ...
    99 }}}
    100  4. edit flowvisor.properties to point FVProxyProvider to the new configuration file. The path should be relative to the Floodlight working directory:
    101 {{{
    102 net.floodlightcontroller.core.FVProxyProvider.configfile = /src/main/resources/config.json
    103 }}}
    104 
    105 Unless already there, the modules added to the config file should also be added to flowvisor.properties.
    106 
    107 
    10836
    10937== Internal Links ==
    110  
     38 * [wiki:Documentation/OpenFlow/FloodlightFVPort/InstallUsage Installation and Usage]
    11139
    11240== External Links ==