ROFL-pipeline  v0.6.0dev
Functions
OpenFlow v1.x events and hooks APIs

OpenFlow versions 1.0, 1.2 and 1.3.2 asynchronous events and hooks APIs. More...

Functions

ROFL_BEGIN_DECLS rofl_result_t platform_post_init_of1x_switch (of1x_switch_t *sw)
 Allows the user of the library to pre-configure the switch, as well as perform other platform related actions on switch creation according to platform capabilities. More...
 
rofl_result_t platform_pre_destroy_of1x_switch (of1x_switch_t *sw)
 Allows the user of the library to perform other platform related actions when a switch is about the be destroyed. More...
 
void platform_of1x_notify_flow_removed (const of1x_switch_t *sw, of1x_flow_remove_reason_t reason, of1x_flow_entry_t *removed_flow_entry)
 Flow removed event notification. More...
 
void plaftorm_of1x_add_entry_hook (of1x_flow_entry_t *new_entry)
 It can be used by hardware or other software (non rofl-pipeline) pipelines, to install the new entry. More...
 
void platform_of1x_modify_entry_hook (of1x_flow_entry_t *old_entry, of1x_flow_entry_t *mod, int reset_count)
 It can be used by hardware or other software (non rofl-pipeline) pipelines, to modify an entry (single entry). More...
 
void platform_of1x_remove_entry_hook (of1x_flow_entry_t *entry)
 It can be used by hardware or other software (non rofl-pipeline) pipelines, to remove an entry (single entry). More...
 
void platform_of1x_update_stats_hook (of1x_flow_entry_t *entry)
 It can be used by hardware or other software (non rofl-pipeline) pipelines, to update the stats of an entry when a request for stats is done. More...
 

Detailed Description

OpenFlow versions 1.0, 1.2 and 1.3.2 asynchronous events and hooks APIs.

Function Documentation

void plaftorm_of1x_add_entry_hook ( of1x_flow_entry_t new_entry)

It can be used by hardware or other software (non rofl-pipeline) pipelines, to install the new entry.

The entry has been already validated and added the state management

Parameters
new_entryflow entry to add
void platform_of1x_modify_entry_hook ( of1x_flow_entry_t old_entry,
of1x_flow_entry_t mod,
int  reset_count 
)

It can be used by hardware or other software (non rofl-pipeline) pipelines, to modify an entry (single entry).

The state management has already modified the state in rofl-pipeline

Parameters
old_entrythe original entry
modthe modifications
reset_countif set reset statistic counters
void platform_of1x_notify_flow_removed ( const of1x_switch_t sw,
of1x_flow_remove_reason_t  reason,
of1x_flow_entry_t removed_flow_entry 
)

Flow removed event notification.

Parameters
removed_flow_entryThe entry shall ONLY be used for reading, and shall NEVER be removed (of1x_remove_flow_entry). This is done by the library itself
void platform_of1x_remove_entry_hook ( of1x_flow_entry_t entry)

It can be used by hardware or other software (non rofl-pipeline) pipelines, to remove an entry (single entry).

The state management has already removed the state in rofl-pipeline

Parameters
entryflow entry to remove
void platform_of1x_update_stats_hook ( of1x_flow_entry_t entry)

It can be used by hardware or other software (non rofl-pipeline) pipelines, to update the stats of an entry when a request for stats is done.

Parameters
entryflow entry to update statistics from the platform
ROFL_BEGIN_DECLS rofl_result_t platform_post_init_of1x_switch ( of1x_switch_t sw)

Allows the user of the library to pre-configure the switch, as well as perform other platform related actions on switch creation according to platform capabilities.

rofl_result_t platform_pre_destroy_of1x_switch ( of1x_switch_t sw)

Allows the user of the library to perform other platform related actions when a switch is about the be destroyed.