Some class of constraints should not be used for link cost evaluation.

ONOS-6021

Current ConnectivityIntentCompiler simply picks first non-negative cost as Link cost value.

Some class of constraints are used to express Path viability or IntentCompiler's behavior.
Those constraints tend to returns fixed arbitrary non-negative link cost, which probably is not the best option to be used as Link cost during path computation.

This patch will:
- Introduce base class for constraints which should not influence Link cost.
- Introduce base class for constraints which should not influence Link cost or Path viability.
- Exclude above classes from link cost computation in ConnectivityIntentCompiler

MarkerConstraint
 base class for Constraints,
 which is not meant to influence Link cost or Path viability.

PathViablityConstraint
 base class for Constraints,
 which is not meant to influence Link cost.

Change-Id: Ice8b83a18cfe3bf5a68c25a853667bfaedb2b1a1
8 files changed
tree: 853a4793b252760b884dc9bbb4c8779a4194de0f
  1. .buckconfig
  2. .dockerignore
  3. .gitignore
  4. .gitreview
  5. BUCK
  6. Dockerfile
  7. LICENSE.txt
  8. README.md
  9. apps/
  10. buck-tools/
  11. bucklets/
  12. cli/
  13. core/
  14. docs/
  15. drivers/
  16. features/
  17. incubator/
  18. lib/
  19. modules.defs
  20. onos.defs
  21. pom.xml
  22. protocols/
  23. providers/
  24. tools/
  25. utils/
  26. web/
README.md

ONOS : Open Network Operating System

What is ONOS?

ONOS is a new SDN network operating system designed for high availability, performance, scale-out.

Top-Level Features

  • High availability through clustering and distributed state management.
  • Scalability through clustering and sharding of network device control.
  • Performance that is good for a first release, and which has an architecture that will continue to support improvements.
  • Northbound abstractions for a global network view, network graph, and application intents.
  • Pluggable southbound for support of OpenFlow and new or legacy protocols.
  • Graphical user interface to view multi-layer topologies and inspect elements of the topology.
  • REST API for access to Northbound abstractions as well as CLI commands.
  • CLI for debugging.
  • Support for both proactive and reactive flow setup.
  • SDN-IP application to support interworking with traditional IP networks controlled by distributed routing protocols such as BGP.
  • IP-Optical use case demonstration.

Checkout our website and our tools