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 classIntProgrammable.IntFunctionalityINT functionalities that a device can implement.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanaddIntObjective(IntObjective obj)Adds a given IntObjective to the device.voidcleanup()Clean up any INT-related configuration from the device.booleaninit()Initializes the pipeline, by installing required flow rules not relevant to specific watchlist, report and event.booleanremoveIntObjective(IntObjective obj)Removes a given IntObjective entry from the device.booleansetSinkPort(PortNumber port)Configures the given port as an INT sink port.booleansetSourcePort(PortNumber port)Configures the given port as an INT source port.booleansetupIntConfig(IntDeviceConfig config)Set up report-related configuration.booleansupportsFunctionality(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
-
-