|
ROFL-pipeline
v0.6.0dev
|
OpenFlow v1.X instructions. More...
#include <inttypes.h>#include <stdbool.h>#include "rofl.h"#include "of1x_action.h"#include "../../../common/datapacket.h"Go to the source code of this file.
Data Structures | |
| struct | of1x_write_metadata |
| struct | of1x_instruction |
| struct | of1x_instruction_group |
Macros | |
| #define | OF1X_IT_MAX OF1X_IT_GOTO_TABLE+1 |
Typedefs | |
| typedef struct of1x_write_metadata | of1x_write_metadata_t |
| typedef struct of1x_instruction | of1x_instruction_t |
|
typedef struct of1x_instruction_group | of1x_instruction_group_t |
Enumerations | |
| enum | of1x_instruction_type_t { OF1X_IT_NO_INSTRUCTION = 0, OF1X_IT_APPLY_ACTIONS = 1, OF1X_IT_CLEAR_ACTIONS = 2, OF1X_IT_WRITE_ACTIONS = 3, OF1X_IT_WRITE_METADATA = 4, OF1X_IT_EXPERIMENTER = 5, OF1X_IT_METER = 6, OF1X_IT_GOTO_TABLE = 7 } |
| Instruction type. More... | |
Functions | |
| ROFL_BEGIN_DECLS void | __of1x_init_instruction_group (of1x_instruction_group_t *group) |
| void | __of1x_destroy_instruction_group (of1x_instruction_group_t *group) |
| void | of1x_add_instruction_to_group (of1x_instruction_group_t *group, of1x_instruction_type_t type, of1x_action_group_t *apply_actions, of1x_write_actions_t *write_actions, of1x_write_metadata_t *write_metadata, unsigned int go_to_table) |
| Adds an instruction of the group. More... | |
| void | of1x_remove_instruction_from_the_group (of1x_instruction_group_t *group, of1x_instruction_type_t type) |
| Remove an instruction of the group. More... | |
| rofl_result_t | __of1x_update_instructions (of1x_instruction_group_t *group, of1x_instruction_group_t *new_group) |
| bool | __of1x_instructions_contain_group (struct of1x_flow_entry *const entry, const unsigned int group_id) |
| void | __of1x_copy_instruction_group (of1x_instruction_group_t *origin, of1x_instruction_group_t *dest) |
| bool | __of1x_instruction_has (of1x_instruction_group_t *inst_grp, of1x_packet_action_type_t type, uint64_t value) |
| rofl_result_t | __of1x_validate_instructions (of1x_instruction_group_t *inst_grp, struct of1x_pipeline *pipeline, unsigned int table_id) |
| void | __of1x_dump_instructions (of1x_instruction_group_t group, bool raw_nbo) |
OpenFlow v1.X instructions.
Instructions should never be used directly. Instructions are arleady part of the of1x_flow_entry.
How to add and remove instructions (pseudo-code):
Definition in file of1x_instruction.h.
| bool __of1x_instruction_has | ( | of1x_instruction_group_t * | inst_grp, |
| of1x_packet_action_type_t | type, | ||
| uint64_t | value | ||
| ) |
returns true if the action type with the specific value is in the set of instructions.
Definition at line 210 of file of1x_instruction.c.
1.8.6