[ONOS-6462] Intent stuck in WITHDRAWING state with FlowObjective intent compiler

Reasons makes Intent stuck in WITHDRAWING state:
1. The patch for CORD-1180 caused next objective queued in the objective
system if there is no next group for that next objective.

2. Default single table pipeline removes next group from flow objective
store when removing forwarding objective.

3. The flow objective Intent installer will remove forwarding objective
first, then remove next objective.

4. The flow objective Intent install will wait until all objective context
completed, however, according to reason 1, 2 and 3, the next objective
will be queued forever since there will be no next group in the store. So
the Intent state will stuck in WITHDRAWING until the Intent manager retry.

To fix this issue, we need to modify default single table pipeline, make it
not remove next group when removing forwarding objective.

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

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