Contents
Major Features
- USC Agent provides proxy and agent functionality on top of all standard protocols supported by the device. It initiates call-home with the controller, maintains live connections with the controller, provides demux/mux for packets with the USC header, and authenticates the controller.
- USC Plugin is responsible for communication between the controller and the USC agent . It responds to call-home with the controller, maintains live connections with the devices, acts as muxer/demuxer for packets with the USC header, and provides support for TLS/DTLS.
- USC Manager handles configurations, high availability, security, monitoring, and clustering support for USC.
- USC UI is responsible for displaying a graphical user interface representing the state of USC in the OpenDaylight DLUX UI.
Target Environment
For Agent
- The USC Agent C Code is available at https://github.com/rchuppala/usc_agent
- Follow the README instructions to build, install, and execute.
For Execution
- Requires Java 7 compliant runtime environment.
- Follow the OpenDaylight Lithium installation and user guide documentation to install OpenDaylight Lithium including USC features.
For Development
- Requires Java 7 compliant runtime environment, Maven version 3.1.1.
- Follow the OpenDaylight Lithium installation and user guide documentation to install OpenDaylight Lithium including USC features.
- USC UI development requires DLUX set up in developer mode: DLUX Developer Mode
Known Issues and Limitations
- 3402: Cast failure on exception branch in view channel rpc request. Workaround: A null shard service throws this exceptions, so wait until shard service is available before using the view channel API.
- 3291: Remote channel request should use same controller for same session. Workaround: Use same controller for all sessions.
- 3290: Remote session id conflicts with the local session id using same channel. Workaround: Suggest to restart usc if this edge case occurs due to session id conflicts.
Testing methodology
- Code is covered by unit and integration tests
- External System Tests are performed manually in Lithium (will automate in Beryllium).