Changes between Version 7 and Version 8 of Internal/OpenFlow/Controllers/FlowVisor


Ignore:
Timestamp:
Sep 28, 2010, 4:30:03 PM (14 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/Controllers/FlowVisor

    v7 v8  
    2121}}}
    2222
    23  we need to take this step to make sure we have the right package.
     23 we need to do a git checkout to make sure we have the right package.
    2424
    2525 3. choose the proper version of java with ''update-alternatives --config java''
     
    3535}}}
    3636
    37  make sure to have java-6-sun version of java chosen as the alternative as shown above.
     37 make sure to have java-6-sun version of java chosen as the alternative as shown above.  
    3838
    39  4. cd to flowvisor directory; if ''./configure'' doesn't exist, run ''./boot.sh''
     39 4. cd to your flowvisor directory; if ''./configure'' doesn't exist, run ''./boot.sh''
    4040{{{
    4141sh ./boot.sh
     
    6060
    6161=== The testrun Setup ===
    62 In this setup, !FlowVisor is started on port 6655, with an instance of nox listening on port 6656. A !FlowVisor slice is created to listen to any controllers using port 6656 (in this case, our test NOX instance). A single virtual switch was made to listen for controllers on port 6655, whereby its control is given to NOX by flowvisor.
     62In this setup, !FlowVisor is started on port 6655, with an instance of nox listening on port 6656. A !FlowVisor slice is created to listen to any controllers using port 6656 (in this case, our test NOX instance). A single virtual switch was made to listen for controllers on port 6655, whereby its control is given to NOX by flowvisor. Everything, unless specified, is done in the flowvisor directory. 
    6363
    64  1. ''set up config file.'' Basing it on the default-config.xml file that comes with the flowvisor install:
     64 1. ''set up config file.'' The config file should be located in your flowvisor directory. Basing it on the default-config.xml file that comes with the flowvisor install:
    6565{{{
    6666cp default-config.xml config.xml
     
    6868}}}
    6969
    70  2. ''start flowvisor.'' Unlike nox, there are no flags to throw it into the background. Here it is started on port 6655: 
     70 Here, we created a new instance of the configuration file from the sample !FlowVisor already has. config-gen-default will also prompt you to create a "root password" that you will be using to make changes to the config file through fvctl.
     71
     72 2. ''start !FlowVisor.'' Unlike nox, there are no flags to throw it into the background. Here it is started on port 6655: 
    7173{{{
    7274flowvisor config.xml 6655 &
    7375}}}
    7476
    75  3. ''delete sample slices.'' After inspecting them with ''getSliceInfo'', remove them with ''deleteSlice''. There are two slices, "alice" and "bob".
     77Since !FlowVisor is still buggy as of now, it may be recommended to start !FlowVisor with `screen` to capture any errors. There is also a ''flowvisor-wrapper'' that restarts !FlowVisor if it dies.
     78
     79 3. ''delete sample slices.'' After inspecting them with ''getSliceInfo'', remove them with ''deleteSlice''. There are two slices, "alice" and "bob". Each action usually requires authentication using the password you created in step 1.
    7680{{{
    7781fvctl getSliceInfo alice
     
    9195}}}
    9296
    93  5. ''create your flowspace.'' Flowspaces define the policy for your slices. Many parameters can be tacked onto ''addFlowSpace''. First, the syntax:
     97 5. ''create your flowspace.'' Flowspaces define the policy for your slices. Many parameters can be tacked onto ''addFlowSpace'':
    9498{{{
    9599fvctl addFlowSpace all <priority number> <policy> "Slice:<slice name>=<permissions>"
    96100}}}
    97101
    98  * priority - a number between 0 and 2^31^. Higher value = higher priority
    99  * policy - flow matching policies. Details are under '''FLOW SYNTAX''' in the fvctl(1) man pages.
    100  * slice name - the name of your slice.
    101  * permissions - similar to ''chmod'', with delegate=1, read=2, write=4.
     102  * priority - a number between 0 and 2^31^. Higher value = higher priority
     103  * policy - flow matching policies. Details are under '''FLOW SYNTAX''' in the fvctl(1) man pages.
     104  * slice name - the name of your slice.
     105  * permissions - similar to ''chmod'', with delegate=1, read=2, write=4.
    102106 
    103107 What we want is very minimal: allow all for the controller of the slice:
     
    106110}}}
    107111
    108  6. ''start the controller.'' Start nox on the IP:port combination defined for the controller in the flowvisor slice:
     112 6. ''start the controller.'' Start nox on the IP:port combination defined for the controller in the !FlowVisor slice:
    109113{{{
    110114./nox_core -i ptcp:6656 switch packetdump -d
    111115}}}
    112116
    113  7. ''start virtual switch.'' Here we instantiate an IP8800 switch with a virtual switch listening to flowvisor, which is 172.16.0.4:
     117 7. ''start virtual switch.'' Here we instantiate an IP8800 switch with a virtual switch listening to !FlowVisor, which is 172.16.0.4:
    114118{{{
    115119setvsi 22 37,38 tcp 172.16.0.4:6655 dpid 0x001010223232
     
    118122
    119123== Moving controllers to slices ==
     124Here are the steps used to actually move the ORBIT infrastructure to a !FlowVisor slice.
    120125
    121  1. ''edit default port for snac/noxcore.'' The default settings for snac (e.g. what port it uses, ect) is found in /etc/default/noxcore. Edit the port it uses for the control channel from 6633 to the new port:
     126 1. ''edit default port for noxcore.'' The default settings for snac (e.g. what port it uses, ect) is found in /etc/default/noxcore. Edit the port it uses for the control channel from 6633 to the new port:
    122127{{{
    123128 OF_LISTEN="-i ptcp:6634"