| 303 | |
| 304 | ==== (7/19) ==== |
| 305 | 1. A major cleanup was done to the base proxy code. We essentially build analogous classes to the core components: |
| 306 | |
| 307 | ||||'''core'''||'''proxy'''|| |
| 308 | ||'''module'''||!FloodlightProvider||FVProxyProvider|| |
| 309 | ||'''service'''||IFloodlightProviderService||IFloodlightProviderService|| |
| 310 | ||'''controller'''||Controller||FVProxyController|| |
| 311 | |
| 312 | FVProxyController is a derived class of Controller - meaning it has all of the functions of the core controller class, plus any features to be added in. We simply replace the original core controller module with the proxy module. This approach has two (big) benefits: |
| 313 | 1. We no longer have two separate services (IFPS and IFPP) that the core classes would have to consider. This means the changes that were made in the original code base to shuffle between the proxy service and the !FloodlightProvider are not needed. |
| 314 | 1. We can swap between normal and proxy mode by merely changing the entries in the config file. |
| 315 | |
| 316 | In addition to these changes, we have the following: |
| 317 | * net.floodlightcontroller.flowvisor : !FlowMap and Flowspace-related code |
| 318 | * net.floodlightcontroller.proxy : classes interfacing proxy and Flowvisor-related components |
| 319 | |
| 320 | 2. Organization of branches. |
| 321 | To keep things organized, we work on two main branches. |
| 322 | |
| 323 | * proxy-edge-0.82 : main branch where changes are made |
| 324 | * proxy-stable-0.82 : once the changes in proxy-edge look ok, they go here (major save points). |
| 325 | |
| 326 | |