Interface IntProgrammable
-
- All Superinterfaces:
Behaviour
,HandlerBehaviour
@Beta public interface IntProgrammable extends HandlerBehaviour
Abstraction of a device implementing In-band Network Telemetry (INT) capabilities.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
IntProgrammable.IntFunctionality
INT functionalities that a device can implement.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
addIntObjective(IntObjective obj)
Adds a given IntObjective to the device.void
cleanup()
Clean up any INT-related configuration from the device.boolean
init()
Initializes the pipeline, by installing required flow rules not relevant to specific watchlist, report and event.boolean
removeIntObjective(IntObjective obj)
Removes a given IntObjective entry from the device.boolean
setSinkPort(PortNumber port)
Configures the given port as an INT sink port.boolean
setSourcePort(PortNumber port)
Configures the given port as an INT source port.boolean
setupIntConfig(IntDeviceConfig config)
Set up report-related configuration.boolean
supportsFunctionality(IntProgrammable.IntFunctionality functionality)
Returns true if this device supports the given INT functionality.-
Methods inherited from interface org.onosproject.net.driver.HandlerBehaviour
handler, setHandler
-
-
-
-
Method Detail
-
init
boolean init()
Initializes the pipeline, by installing required flow rules not relevant to specific watchlist, report and event. Returns true if the operation was successful, false otherwise.- Returns:
- true if successful, false otherwise
-
setSourcePort
boolean setSourcePort(PortNumber port)
Configures the given port as an INT source port. Packets received via this port can be modified to add the INT header, if a corresponding INT objective is matched. Returns true if the operation was successful, false otherwise.- Parameters:
port
- port- Returns:
- true if successful, false otherwise
-
setSinkPort
boolean setSinkPort(PortNumber port)
Configures the given port as an INT sink port. Packets forwarded via this port will be stripped of the INT header and a corresponding INT report will be generated. Returns true if the operation was successful, false otherwise.- Parameters:
port
- port- Returns:
- true if successful, false otherwise
-
addIntObjective
boolean addIntObjective(IntObjective obj)
Adds a given IntObjective to the device.- Parameters:
obj
- an IntObjective- Returns:
- true if the objective was successfully added; false otherwise.
-
removeIntObjective
boolean removeIntObjective(IntObjective obj)
Removes a given IntObjective entry from the device.- Parameters:
obj
- an IntObjective- Returns:
- true if the objective was successfully removed; false otherwise.
-
setupIntConfig
boolean setupIntConfig(IntDeviceConfig config)
Set up report-related configuration.- Parameters:
config
- a configuration regarding to the collector- Returns:
- true if the objective is successfully added; false otherwise.
-
cleanup
void cleanup()
Clean up any INT-related configuration from the device.
-
supportsFunctionality
boolean supportsFunctionality(IntProgrammable.IntFunctionality functionality)
Returns true if this device supports the given INT functionality.- Parameters:
functionality
- INt functionality- Returns:
- true if functionality is supported, false otherwise
-
-