Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/floodlight/indigo
Core OpenFlow agent and infrastructure modules
https://github.com/floodlight/indigo
Last synced: 3 months ago
JSON representation
Core OpenFlow agent and infrastructure modules
- Host: GitHub
- URL: https://github.com/floodlight/indigo
- Owner: floodlight
- License: other
- Created: 2013-03-25T20:42:05.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2023-09-29T16:20:51.000Z (about 1 year ago)
- Last Synced: 2024-05-16T13:24:01.213Z (6 months ago)
- Language: C
- Size: 5.78 MB
- Stars: 62
- Watchers: 46
- Forks: 67
- Open Issues: 4
-
Metadata Files:
- Readme: README.async
- License: LICENSE
Awesome Lists containing this project
- awesome-sdn - Indigo - Indigo is an open source project aimed at enabling support for OpenFlow on physical and hypervisor switches. (Uncategorized / Uncategorized)
README
async operation support in bundle
===================================
- one outstanding operation is supported
- only gentable operation support the async operation (not for flow table)OF ConnectionManager:
========================
- bundle task will yield if there is an outstanding operation
- if the operation returns INDIGO_ERROR_PENDING, the bundle task will mark
that operation as pending, and resume the task from that operation.OF StateManager:
========================
- The gentable operations provide new getnable operation methods which
gentable drivers should implement them if those operations are going to
be asynchrous. (Look for add4(), modify4(), and del4() descriptions in
indigo/of_state_manager.h)
- The OF StateManager only expects the INDIGO_ERROR_PENDING returned from the
the new methods (add4(), modify4(), and del4()).
- If INDIGO_ERROR_PENDING is returned, the OF StateManager will mark the
outstanding operation and return the same status to OF ConnectionManager.
The OF StateManager will put the remaining work of that operation on hold.
- A resume function, indigo_core_gentable_entry_resume(), must be called
by the driver when the operation is completed (either successful or error).
- The StateManager will perform the remaining work for that operation. If
the final status is successful, the entry will be added or deleted in the
gentable state tracked by OFStateManager.
- The StateManager will release that operation from pending state so that
OF ConnectionManager can resume the next operation.Gentable Driver:
=======================
- The driver must implement the new *4 methods if it wants to support async
operations.
- Return an INDIGO_ERROR_PENDING to OF StateManager if the operation is
asynchronous.
- Call the indigo_core_gentable_entry_resume() when the operation is completed.
- There is a "op_ctx" in the *4 methods. This op_ctx is the used by the
OF StateManager in its resume function.