ROFL-pipeline
v0.6.0dev
|
OpenFlow v1.x (1.0, 1.2 and 1.3.2) data-model core APIs and data structures used both internally and for data exchanging (State managment API) with the library user. More...
Data Structures | |
struct | of1x_switch |
OpenFlow-enabled v1.0, 1.2 and 1.3.2 switch abstraction. More... | |
struct | of1x_packet_action |
Packet action abstraction data structure. More... | |
struct | of1x_action_group |
Action group (apply-actions) structure. More... | |
struct | of1x_write_actions_t |
Write actions structure. More... | |
struct | of1x_flow_entry |
OpenFlow v1.0, 1.2 and 1.3.2 flow entry structure. More... | |
struct | of1x_bucket |
Group bucket. More... | |
struct | of1x_bucket_list |
Group bucket list. More... | |
struct | of1x_group |
Group structure definition. More... | |
struct | of1x_stats_single_flow_msg |
Single flow entry stats message. More... | |
struct | of1x_stats_flow_msg |
Linked list containing all the individual flow stats. More... | |
struct | of1x_stats_flow_aggregate_msg |
Aggregated flow stats message. More... | |
Typedefs | |
typedef struct of1x_switch | of1x_switch_t |
OpenFlow-enabled v1.0, 1.2 and 1.3.2 switch abstraction. More... | |
typedef struct of1x_packet_action | of1x_packet_action_t |
Packet action abstraction data structure. More... | |
typedef struct of1x_action_group | of1x_action_group_t |
Action group (apply-actions) structure. More... | |
typedef enum of1x_flow_removal_strictness | of1x_flow_removal_strictness_t |
Flow removal operations strictness. More... | |
typedef enum of1x_flow_remove_reason | of1x_flow_remove_reason_t |
Flow remove reasons (enum ofp_flow_removed_reason) More... | |
typedef void | of1x_flow_entry_platform_state_t |
Platform dependent opaque state. More... | |
typedef struct of1x_flow_entry | of1x_flow_entry_t |
OpenFlow v1.0, 1.2 and 1.3.2 flow entry structure. More... | |
typedef struct of1x_bucket | of1x_bucket_t |
Group bucket. More... | |
typedef struct of1x_bucket_list | of1x_bucket_list_t |
Group bucket list. More... | |
typedef struct of1x_group | of1x_group_t |
Group structure definition. More... | |
typedef enum of1x_group_type | of1x_group_type_t |
Group type. More... | |
typedef struct of1x_stats_single_flow_msg | of1x_stats_single_flow_msg_t |
Single flow entry stats message. More... | |
typedef struct of1x_stats_flow_msg | of1x_stats_flow_msg_t |
Linked list containing all the individual flow stats. More... | |
typedef struct of1x_stats_flow_aggregate_msg | of1x_stats_flow_aggregate_msg_t |
Aggregated flow stats message. More... | |
typedef enum rofl_of1x_fm_result | rofl_of1x_fm_result_t |
Extended flowmod return codes. More... | |
Enumerations | |
enum | of1x_packet_in_reason { OF1X_PKT_IN_NO_MATCH = 0, OF1X_PKT_IN_ACTION = 1, OF1X_PKT_IN_INVALID_TTL = 2 } |
Packet-in reason (of12p_packet_in_reason enum) More... | |
enum | of1x_packet_action_type_t { OF1X_AT_NO_ACTION = 0, OF1X_AT_COPY_TTL_IN, OF1X_AT_POP_VLAN, OF1X_AT_POP_MPLS, OF1X_AT_POP_GTP, OF1X_AT_POP_CAPWAP, OF1X_AT_POP_PPPOE, OF1X_AT_POP_PBB, OF1X_AT_POP_WLAN, OF1X_AT_POP_GRE, OF1X_AT_PUSH_GRE, OF1X_AT_PUSH_WLAN, OF1X_AT_PUSH_PBB, OF1X_AT_PUSH_PPPOE, OF1X_AT_PUSH_CAPWAP, OF1X_AT_PUSH_GTP, OF1X_AT_PUSH_MPLS, OF1X_AT_PUSH_VLAN, OF1X_AT_COPY_TTL_OUT, OF1X_AT_DEC_NW_TTL, OF1X_AT_DEC_MPLS_TTL, OF1X_AT_SET_MPLS_TTL, OF1X_AT_SET_NW_TTL, OF1X_AT_SET_QUEUE, OF1X_AT_SET_FIELD_ETH_DST, OF1X_AT_SET_FIELD_ETH_SRC, OF1X_AT_SET_FIELD_ETH_TYPE, OF1X_AT_SET_FIELD_MPLS_LABEL, OF1X_AT_SET_FIELD_MPLS_TC, OF1X_AT_SET_FIELD_MPLS_BOS, OF1X_AT_SET_FIELD_VLAN_VID, OF1X_AT_SET_FIELD_VLAN_PCP, OF1X_AT_SET_FIELD_ARP_OPCODE, OF1X_AT_SET_FIELD_ARP_SHA, OF1X_AT_SET_FIELD_ARP_SPA, OF1X_AT_SET_FIELD_ARP_THA, OF1X_AT_SET_FIELD_ARP_TPA, OF1X_AT_SET_FIELD_NW_PROTO, OF1X_AT_SET_FIELD_NW_SRC, OF1X_AT_SET_FIELD_NW_DST, OF1X_AT_SET_FIELD_IP_DSCP, OF1X_AT_SET_FIELD_IP_ECN, OF1X_AT_SET_FIELD_IP_PROTO, OF1X_AT_SET_FIELD_IPV4_SRC, OF1X_AT_SET_FIELD_IPV4_DST, OF1X_AT_SET_FIELD_IPV6_SRC, OF1X_AT_SET_FIELD_IPV6_DST, OF1X_AT_SET_FIELD_IPV6_FLABEL, OF1X_AT_SET_FIELD_IPV6_ND_TARGET, OF1X_AT_SET_FIELD_IPV6_ND_SLL, OF1X_AT_SET_FIELD_IPV6_ND_TLL, OF1X_AT_SET_FIELD_IPV6_EXTHDR, OF1X_AT_SET_FIELD_TCP_SRC, OF1X_AT_SET_FIELD_TCP_DST, OF1X_AT_SET_FIELD_UDP_SRC, OF1X_AT_SET_FIELD_UDP_DST, OF1X_AT_SET_FIELD_SCTP_SRC, OF1X_AT_SET_FIELD_SCTP_DST, OF1X_AT_SET_FIELD_TP_SRC, OF1X_AT_SET_FIELD_TP_DST, OF1X_AT_SET_FIELD_ICMPV4_TYPE, OF1X_AT_SET_FIELD_ICMPV4_CODE, OF1X_AT_SET_FIELD_ICMPV6_TYPE, OF1X_AT_SET_FIELD_ICMPV6_CODE, OF1X_AT_SET_FIELD_PBB_ISID, OF1X_AT_SET_FIELD_TUNNEL_ID, OF1X_AT_SET_FIELD_PPPOE_CODE, OF1X_AT_SET_FIELD_PPPOE_TYPE, OF1X_AT_SET_FIELD_PPPOE_SID, OF1X_AT_SET_FIELD_PPP_PROT, OF1X_AT_SET_FIELD_GTP_MSG_TYPE, OF1X_AT_SET_FIELD_GTP_TEID, OF1X_AT_SET_FIELD_CAPWAP_WBID, OF1X_AT_SET_FIELD_CAPWAP_RID, OF1X_AT_SET_FIELD_CAPWAP_FLAGS, OF1X_AT_SET_FIELD_WLAN_FC, OF1X_AT_SET_FIELD_WLAN_TYPE, OF1X_AT_SET_FIELD_WLAN_SUBTYPE, OF1X_AT_SET_FIELD_WLAN_DIRECTION, OF1X_AT_SET_FIELD_WLAN_ADDRESS_1, OF1X_AT_SET_FIELD_WLAN_ADDRESS_2, OF1X_AT_SET_FIELD_WLAN_ADDRESS_3, OF1X_AT_SET_FIELD_GRE_VERSION, OF1X_AT_SET_FIELD_GRE_PROT_TYPE, OF1X_AT_SET_FIELD_GRE_KEY, OF1X_AT_GROUP, OF1X_AT_EXPERIMENTER, OF1X_AT_OUTPUT } |
Actions over a packet as per defined in OF10, OF12, OF13. More... | |
enum | of1x_port_numbers { OF1X_PORT_MAX = 0xffffff00, OF1X_PORT_IN_PORT = 0xfffffff8, OF1X_PORT_TABLE = 0xfffffff9, OF1X_PORT_NORMAL = 0xfffffffa, OF1X_PORT_FLOOD = 0xfffffffb, OF1X_PORT_ALL = 0xfffffffc, OF1X_PORT_CONTROLLER = 0xfffffffd, OF1X_PORT_LOCAL = 0xfffffffe, OF1X_PORT_ANY = 0xffffffff } |
Special port numbers, according to OF1X (of1xp_port_no ) More... | |
enum | of1x_flow_removal_strictness { NOT_STRICT = 0, STRICT } |
Flow removal operations strictness. More... | |
enum | of1x_flow_remove_reason { OF1X_FLOW_REMOVE_IDLE_TIMEOUT =0, OF1X_FLOW_REMOVE_HARD_TIMEOUT =1, OF1X_FLOW_REMOVE_DELETE =2, OF1X_FLOW_REMOVE_GROUP_DELETE =3, OF1X_FLOW_REMOVE_NO_REASON = 0xFF } |
Flow remove reasons (enum ofp_flow_removed_reason) More... | |
enum | of1x_group_type { OF1X_GROUP_TYPE_ALL = 0, OF1X_GROUP_TYPE_SELECT = 1, OF1X_GROUP_TYPE_INDIRECT = 2, OF1X_GROUP_TYPE_FF = 3 } |
Group type. More... | |
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... | |
enum | rofl_of1x_fm_result { ROFL_OF1X_FM_SUCCESS = EXIT_SUCCESS, ROFL_OF1X_FM_FAILURE = EXIT_FAILURE, ROFL_OF1X_FM_OVERLAP } |
Extended flowmod return codes. More... | |
Functions | |
ROFL_BEGIN_DECLS void | dump_packet_matches (struct datapacket *const pkt, bool raw_nbo) |
Dump the values of packet (header values) More... | |
void | fill_packet_matches (struct datapacket *const pkt, packet_matches_t *pkt_matches) |
Fill in packet_matches (for PKT_INs) More... | |
static uint32_t | packet_matches_get_size_bytes (packet_matches_t *const pkt_matches) |
Get the packet match PACKET_LENGTH value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_port_in_value (packet_matches_t *const pkt_matches) |
Get the packet match PORT_IN value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_phy_port_in_value (packet_matches_t *const pkt_matches) |
Get the packet match PHY_PORT_IN value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_metadata_value (packet_matches_t *const pkt_matches) |
Get the packet match METADATA value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_eth_dst_value (packet_matches_t *const pkt_matches) |
Get the packet match ETH_DST value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_eth_src_value (packet_matches_t *const pkt_matches) |
Get the packet match ETH_SRC value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_eth_type_value (packet_matches_t *const pkt_matches) |
Get the packet match ETH_TYPE value in HOST BYTE ORDER. More... | |
static bool | packet_matches_has_vlan (packet_matches_t *const pkt_matches) |
Get flag has vlan. More... | |
static uint16_t | packet_matches_get_vlan_vid_value (packet_matches_t *const pkt_matches) |
Get the packet match VLAN_VID value in HOST BYTE ORDER according to 1.2 semantics (13th bit is a flag) More... | |
static uint8_t | packet_matches_get_vlan_pcp_value (packet_matches_t *const pkt_matches) |
Get the packet match VLAN_PCP value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_mpls_label_value (packet_matches_t *const pkt_matches) |
Get the packet match MPLS_LABEL value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_mpls_tc_value (packet_matches_t *const pkt_matches) |
Get the packet match MPLS_TC value in HOST BYTE ORDER. More... | |
static bool | packet_matches_get_mpls_bos_value (packet_matches_t *const pkt_matches) |
Get the packet match MPLS_BOS value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_arp_opcode_value (packet_matches_t *const pkt_matches) |
Get the packet match ARP_OPCODE value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_arp_tha_value (packet_matches_t *const pkt_matches) |
Get the packet match ARP_THA value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_arp_sha_value (packet_matches_t *const pkt_matches) |
Get the packet match ARP_SHA value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_arp_tpa_value (packet_matches_t *const pkt_matches) |
Get the packet match ARP_TPA value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_arp_spa_value (packet_matches_t *const pkt_matches) |
Get the packet match ARP_SPA value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_ip_proto_value (packet_matches_t *const pkt_matches) |
Get the packet match IP_PROTO value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_ip_ecn_value (packet_matches_t *const pkt_matches) |
Get the packet match IPC_ECN value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_ip_dscp_value (packet_matches_t *const pkt_matches) |
Get the packet match IP_DSCP value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_ipv4_src_value (packet_matches_t *const pkt_matches) |
Get the packet match IP4_SRC value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_ipv4_dst_value (packet_matches_t *const pkt_matches) |
Get the packet match IP4_DST value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_tcp_src_value (packet_matches_t *const pkt_matches) |
Get the packet match TCP_SRC value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_tcp_dst_value (packet_matches_t *const pkt_matches) |
Get the packet match TCP_DST value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_udp_src_value (packet_matches_t *const pkt_matches) |
Get the packet match UDP_SRC value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_udp_dst_value (packet_matches_t *const pkt_matches) |
Get the packet match UDP_DST value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_sctp_src_value (packet_matches_t *const pkt_matches) |
Get the packet match SCTP_SRC value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_sctp_dst_value (packet_matches_t *const pkt_matches) |
Get the packet match SCTP_DST value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_icmpv4_type_value (packet_matches_t *const pkt_matches) |
Get the packet match ICMPv4_TYPE value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_icmpv4_code_value (packet_matches_t *const pkt_matches) |
Get the packet match ICMPv4_CODE value in HOST BYTE ORDER. More... | |
static uint128__t | packet_matches_get_ipv6_src_value (packet_matches_t *const pkt_matches) |
Get the packet match IP6_SRC value in HOST BYTE ORDER. More... | |
static uint128__t | packet_matches_get_ipv6_dst_value (packet_matches_t *const pkt_matches) |
Get the packet match IP6_DST value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_ipv6_flabel_value (packet_matches_t *const pkt_matches) |
Get the packet match IP6_FLABEL value in HOST BYTE ORDER. More... | |
static uint128__t | packet_matches_get_ipv6_nd_target_value (packet_matches_t *const pkt_matches) |
Get the packet match IP6_ND_TARGET value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_ipv6_nd_sll_value (packet_matches_t *const pkt_matches) |
Get the packet match IP6_ND_SLL value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_ipv6_nd_tll_value (packet_matches_t *const pkt_matches) |
Get the packet match IP6_ND_TLL value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_ipv6_exthdr_value (packet_matches_t *const pkt_matches) |
Get the packet match IP6_EXTHDR value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_icmpv6_type_value (packet_matches_t *const pkt_matches) |
Get the packet match ICMPV6_TYPE value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_icmpv6_code_value (packet_matches_t *const pkt_matches) |
Get the packet match ICMPV6_CODE value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_tunnel_id_value (packet_matches_t *const pkt_matches) |
Get the packet match TUNNEL_ID value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_pppoe_code_value (packet_matches_t *const pkt_matches) |
Get the packet match PPPOE_CODE value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_pppoe_type_value (packet_matches_t *const pkt_matches) |
Get the packet match PPPOE_TYPE value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_pppoe_sid_value (packet_matches_t *const pkt_matches) |
Get the packet match PPPOE_SESSION value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_ppp_proto_value (packet_matches_t *const pkt_matches) |
Get the packet match PPP_PROTO value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_gtp_msg_type_value (packet_matches_t *const pkt_matches) |
Get the packet match PPP_PROTO value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_gtp_teid_value (packet_matches_t *const pkt_matches) |
Get the packet match PPP_PROTO value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_capwap_wbid_value (packet_matches_t *const pkt_matches) |
Get the packet match CAPWAP_WBID value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_capwap_rid_value (packet_matches_t *const pkt_matches) |
Get the packet match CAPWAP_RID value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_capwap_flags_value (packet_matches_t *const pkt_matches) |
Get the packet match CAPWAP_FLAGS value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_wlan_fc_value (packet_matches_t *const pkt_matches) |
Get the packet match WLAN_FC value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_wlan_type_value (packet_matches_t *const pkt_matches) |
Get the packet match WLAN_TYPE value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_wlan_subtype_value (packet_matches_t *const pkt_matches) |
Get the packet match WLAN_SUBTYPE value in HOST BYTE ORDER. More... | |
static uint8_t | packet_matches_get_wlan_direction_value (packet_matches_t *const pkt_matches) |
Get the packet match WLAN_DIRECTION value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_wlan_address_1_value (packet_matches_t *const pkt_matches) |
Get the packet match WLAN_ADDRESS_1 value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_wlan_address_2_value (packet_matches_t *const pkt_matches) |
Get the packet match WLAN_ADDRESS_2 value in HOST BYTE ORDER. More... | |
static uint64_t | packet_matches_get_wlan_address_3_value (packet_matches_t *const pkt_matches) |
Get the packet match WLAN_ADDRESS_3 value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_gre_version_value (packet_matches_t *const pkt_matches) |
Get the packet match GRE_VERSION value in HOST BYTE ORDER. More... | |
static uint16_t | packet_matches_get_gre_prot_type_value (packet_matches_t *const pkt_matches) |
Get the packet match GRE_PROT_TYPE value in HOST BYTE ORDER. More... | |
static uint32_t | packet_matches_get_gre_key_value (packet_matches_t *const pkt_matches) |
Get the packet match GRE_KEY value in HOST BYTE ORDER. More... | |
ROFL_BEGIN_DECLS of1x_switch_t * | of1x_init_switch (const char *name, of_version_t version, uint64_t dpid, unsigned int num_of_tables, enum of1x_matching_algorithm_available *ma_list) |
Creates an OpenFlow v1.0, 1.2 and 1.3.2 forwarding instance. More... | |
void | of1x_dump_switch (of1x_switch_t *sw, bool nbo) |
Dumps the OpenFlow v1.0, 1.2 and 1.3.2 forwarding instance, for debugging purposes. More... | |
void | of1x_full_dump_switch (of1x_switch_t *sw, bool nbo) |
Dumps the OpenFlow v1.0, 1.2 and 1.3.2 forwarding instance, for debugging purposes. More... | |
ROFL_BEGIN_DECLS of1x_packet_action_t * | of1x_init_packet_action (of1x_packet_action_type_t type, wrap_uint_t field, uint16_t output_send_len) |
Initializes a packet action (OF action) More... | |
void | of1x_destroy_packet_action (of1x_packet_action_t *action) |
Destroys packet action (OF action) More... | |
static uint8_t | of1x_get_packet_action_field8 (const of1x_packet_action_t *action) |
Retrieve the action field for 8 bit values (or less) in HOST BYTE ORDER. More... | |
static uint16_t | of1x_get_packet_action_field16 (const of1x_packet_action_t *action) |
Retrieve the action field for 16 bit values (or less) in HOST BYTE ORDER. More... | |
static uint32_t | of1x_get_packet_action_field32 (const of1x_packet_action_t *action) |
Retrieve the action field for 32 bit values (or less) in HOST BYTE ORDER. More... | |
static uint64_t | of1x_get_packet_action_field64 (const of1x_packet_action_t *action) |
Retrieve the action field for 64 bit values (or less) in HOST BYTE ORDER. More... | |
static uint128__t | of1x_get_packet_action_field128 (const of1x_packet_action_t *action) |
Retrieve the action field for 128 bit values (or less) in HOST BYTE ORDER. More... | |
of1x_action_group_t * | of1x_init_action_group (of1x_packet_action_t *actions) |
Create an action group (apply actions) More... | |
void | of1x_destroy_action_group (of1x_action_group_t *group) |
Destroy an action group. More... | |
void | of1x_push_packet_action_to_group (of1x_action_group_t *group, of1x_packet_action_t *action) |
Push an action to the group. More... | |
of1x_write_actions_t * | of1x_init_write_actions (void) |
Create a write actions group. More... | |
rofl_result_t | of1x_set_packet_action_on_write_actions (of1x_write_actions_t *write_actions, of1x_packet_action_t *action) |
Set (copy) the action to the write actions. More... | |
ROFL_BEGIN_DECLS of1x_flow_entry_t * | of1x_init_flow_entry (bool notify_removal) |
Create an empty flow entry. More... | |
rofl_result_t | of1x_destroy_flow_entry (of1x_flow_entry_t *entry) |
Destroy the flow entry, including stats, instructions and actions. More... | |
rofl_result_t | of1x_add_match_to_entry (of1x_flow_entry_t *entry, of1x_match_t *match) |
Adds a match to the flow_entry. More... | |
void | of1x_dump_flow_entry (of1x_flow_entry_t *entry, bool raw_nbo) |
Dumps the flow entry for debugging purposes. More... | |
rofl_of1x_fm_result_t | of1x_add_flow_entry_table (struct of1x_pipeline *const pipeline, const unsigned int table_id, of1x_flow_entry_t **const entry, bool check_overlap, bool reset_counts) |
Add a flow_entry to a table. More... | |
rofl_result_t | of1x_modify_flow_entry_table (struct of1x_pipeline *const pipeline, const unsigned int table_id, of1x_flow_entry_t **const entry, const enum of1x_flow_removal_strictness strict, bool reset_counts) |
Modify flow_entry(s) in the table. More... | |
rofl_result_t | of1x_remove_flow_entry_table (struct of1x_pipeline *const pipeline, const unsigned int table_id, of1x_flow_entry_t *entry, const enum of1x_flow_removal_strictness strict, uint32_t out_port, uint32_t out_group) |
Removes a flow_entry from the table. More... | |
ROFL_BEGIN_DECLS of1x_group_table_t * | of1x_init_group_table (struct of1x_pipeline *pipeline) |
Initializes the group table. More... | |
void | of1x_destroy_group_table (of1x_group_table_t *gt) |
Destroys the group table. More... | |
rofl_of1x_gm_result_t | of1x_group_add (of1x_group_table_t *gt, of1x_group_type_t type, uint32_t id, of1x_bucket_list_t **buckets) |
Adds a group to the table. More... | |
rofl_of1x_gm_result_t | of1x_group_modify (of1x_group_table_t *gt, of1x_group_type_t type, uint32_t id, of1x_bucket_list_t **buckets) |
Modifies a group on the table. More... | |
rofl_of1x_gm_result_t | of1x_group_delete (struct of1x_pipeline *pipeline, of1x_group_table_t *gt, uint32_t id) |
Deletes a group of the table. More... | |
of1x_bucket_list_t * | of1x_init_bucket_list (void) |
Initializes a list of buckets. More... | |
void | of1x_destroy_bucket_list (of1x_bucket_list_t *bc_list) |
Destroys the bucket list. More... | |
of1x_bucket_t * | of1x_init_bucket (uint16_t weight, uint32_t port, uint32_t group, of1x_action_group_t *actions) |
Initializes a bucket. More... | |
rofl_result_t | of1x_insert_bucket_in_list (of1x_bucket_list_t *bu_list, of1x_bucket_t *bucket) |
Inserts an initialized bucket in the list of buckets. More... | |
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_BEGIN_DECLS of1x_match_t * | of1x_init_port_in_match (uint32_t value) |
Create an PORT_IN match. More... | |
of1x_match_t * | of1x_init_port_in_phy_match (uint32_t value) |
Create an PHY_PORT_IN match. More... | |
of1x_match_t * | of1x_init_metadata_match (uint64_t value, uint64_t mask) |
Create an METADATA match. More... | |
of1x_match_t * | of1x_init_eth_dst_match (uint64_t value, uint64_t mask) |
Create an ETH_DST match. More... | |
of1x_match_t * | of1x_init_eth_src_match (uint64_t value, uint64_t mask) |
Create an ETH_SRC match. More... | |
of1x_match_t * | of1x_init_eth_type_match (uint16_t value) |
Create an ETH_TYPE match. More... | |
of1x_match_t * | of1x_init_vlan_vid_match (uint16_t value, uint16_t mask, enum of1x_vlan_present vlan_present) |
Create an VLAN_VID match according to 1.2 semantics (13th bit is a flag) More... | |
of1x_match_t * | of1x_init_vlan_pcp_match (uint8_t value) |
Create an VLAN_PCP match. More... | |
of1x_match_t * | of1x_init_mpls_label_match (uint32_t value) |
Create an MPLS_LABEL match. More... | |
of1x_match_t * | of1x_init_mpls_tc_match (uint8_t value) |
Create an MPLS_TC match. More... | |
of1x_match_t * | of1x_init_mpls_bos_match (uint8_t value) |
Create an MPLS_BOS match. More... | |
of1x_match_t * | of1x_init_arp_opcode_match (uint16_t value) |
Create an ARP_OPCODE match. More... | |
of1x_match_t * | of1x_init_arp_tha_match (uint64_t value, uint64_t mask) |
Create an ARP_THA match. More... | |
of1x_match_t * | of1x_init_arp_sha_match (uint64_t value, uint64_t mask) |
Create an ARP_SHA match. More... | |
of1x_match_t * | of1x_init_arp_tpa_match (uint32_t value, uint32_t mask) |
Create an ARP_TPA match. More... | |
of1x_match_t * | of1x_init_arp_spa_match (uint32_t value, uint32_t mask) |
Create an ARP_SPA match. More... | |
of1x_match_t * | of1x_init_pppoe_code_match (uint8_t value) |
Create an PPPOE_CODE match. More... | |
of1x_match_t * | of1x_init_pppoe_type_match (uint8_t value) |
Create an PPPOE_TYPE match. More... | |
of1x_match_t * | of1x_init_pppoe_session_match (uint16_t value) |
Create an PPPOE_SESSION match. More... | |
of1x_match_t * | of1x_init_ppp_prot_match (uint16_t value) |
Create an PPP_PROTO match. More... | |
of1x_match_t * | of1x_init_gtp_msg_type_match (uint8_t value) |
Create an PPP_PROTO match. More... | |
of1x_match_t * | of1x_init_gtp_teid_match (uint32_t value, uint32_t mask) |
Create an PPP_PROTO match. More... | |
of1x_match_t * | of1x_init_capwap_wbid_match (uint8_t value, uint8_t mask) |
Create a CAPWAP_WBID match. More... | |
of1x_match_t * | of1x_init_capwap_rid_match (uint8_t value, uint8_t mask) |
Create a CAPWAP_RID match. More... | |
of1x_match_t * | of1x_init_capwap_flags_match (uint16_t value, uint16_t mask) |
Create a CAPWAP_FLAGS match. More... | |
of1x_match_t * | of1x_init_wlan_fc_match (uint16_t value, uint16_t mask) |
Create a WLAN_FC match. More... | |
of1x_match_t * | of1x_init_wlan_type_match (uint8_t value, uint8_t mask) |
Create a WLAN_TYPE match. More... | |
of1x_match_t * | of1x_init_wlan_subtype_match (uint8_t value, uint8_t mask) |
Create a WLAN_SUBTYPE match. More... | |
of1x_match_t * | of1x_init_wlan_direction_match (uint8_t value, uint8_t mask) |
Create a WLAN_DIRECTION match. More... | |
of1x_match_t * | of1x_init_wlan_address_1_match (uint64_t value, uint64_t mask) |
Create an WLAN_ADDRESS_1 match. More... | |
of1x_match_t * | of1x_init_wlan_address_2_match (uint64_t value, uint64_t mask) |
Create an WLAN_ADDRESS_2 match. More... | |
of1x_match_t * | of1x_init_wlan_address_3_match (uint64_t value, uint64_t mask) |
Create an WLAN_ADDRESS_3 match. More... | |
of1x_match_t * | of1x_init_nw_proto_match (uint8_t value) |
Create an NW_PROTO match, OF1.0 ONLY! More... | |
of1x_match_t * | of1x_init_nw_src_match (uint32_t value, uint32_t mask) |
Create an NW_SRC match (IP/ARP), OF1.0 ONLY! More... | |
of1x_match_t * | of1x_init_nw_dst_match (uint32_t value, uint32_t mask) |
Create an NW_DST match (IP/ARP), OF1.0 ONLY! More... | |
of1x_match_t * | of1x_init_gre_version_match (uint16_t value) |
Create a GRE_VERSION match. More... | |
of1x_match_t * | of1x_init_gre_prot_type_match (uint16_t value) |
Create a GRE_PROT_TYPE match. More... | |
of1x_match_t * | of1x_init_gre_key_match (uint32_t value) |
Create a GRE_KEY match. More... | |
of1x_match_t * | of1x_init_ip_proto_match (uint8_t value) |
Create an IP_PROTO match. More... | |
of1x_match_t * | of1x_init_ip_ecn_match (uint8_t value) |
Create an IPC_ECN match. More... | |
of1x_match_t * | of1x_init_ip_dscp_match (uint8_t value) |
Create an IP_DSCP match. More... | |
of1x_match_t * | of1x_init_ip4_src_match (uint32_t value, uint32_t mask) |
Create an IP4_SRC match. More... | |
of1x_match_t * | of1x_init_ip4_dst_match (uint32_t value, uint32_t mask) |
Create an IP4_DST match. More... | |
of1x_match_t * | of1x_init_tcp_src_match (uint16_t value) |
Create an TCP_SRC match. More... | |
of1x_match_t * | of1x_init_tcp_dst_match (uint16_t value) |
Create an TCP_DST match. More... | |
of1x_match_t * | of1x_init_udp_src_match (uint16_t value) |
Create an UDP_SRC match. More... | |
of1x_match_t * | of1x_init_udp_dst_match (uint16_t value) |
Create an UDP_DST match. More... | |
of1x_match_t * | of1x_init_sctp_src_match (uint16_t value) |
Create an SCTP_SRC match. More... | |
of1x_match_t * | of1x_init_sctp_dst_match (uint16_t value) |
Create an SCTP_DST match. More... | |
of1x_match_t * | of1x_init_tp_src_match (uint16_t value) |
Create an TP_SRC match (TCP/UDP), OF1.0 ONLY! More... | |
of1x_match_t * | of1x_init_tp_dst_match (uint16_t value) |
Create an TP_DST match (TCP/UDP), OF1.0 ONLY! More... | |
of1x_match_t * | of1x_init_icmpv4_type_match (uint8_t value) |
Create an ICMPv4_TYPE match. More... | |
of1x_match_t * | of1x_init_icmpv4_code_match (uint8_t value) |
Create an ICMPv4_CODE match. More... | |
of1x_match_t * | of1x_init_ip6_src_match (uint128__t value, uint128__t mask) |
Create an IP6_SRC match. More... | |
of1x_match_t * | of1x_init_ip6_dst_match (uint128__t value, uint128__t mask) |
Create an IP6_DST match. More... | |
of1x_match_t * | of1x_init_ip6_flabel_match (uint32_t value, uint32_t mask) |
Create an IP6_FLABEL match. More... | |
of1x_match_t * | of1x_init_ip6_nd_target_match (uint128__t value) |
Create an IP6_ND_TARGET match. More... | |
of1x_match_t * | of1x_init_ip6_nd_sll_match (uint64_t value) |
Create an IP6_ND_SLL match. More... | |
of1x_match_t * | of1x_init_ip6_nd_tll_match (uint64_t value) |
Create an IP6_ND_TLL match. More... | |
of1x_match_t * | of1x_init_ip6_exthdr_match (uint16_t value, uint16_t mask) |
Create an IP6_EXTHDR match. More... | |
of1x_match_t * | of1x_init_icmpv6_type_match (uint8_t value) |
Create an ICMPV6_TYPE match. More... | |
of1x_match_t * | of1x_init_icmpv6_code_match (uint8_t value) |
Create an ICMPV6_CODE match. More... | |
of1x_match_t * | of1x_init_tunnel_id_match (uint64_t value, uint64_t mask) |
Create an TUNNEL_ID match. More... | |
void | of1x_destroy_match (of1x_match_t *match) |
Destroys whichever match previously created using of1x_init_match_*() More... | |
static uint8_t | of1x_get_match_value8 (const of1x_match_t *match) |
Retrieve the match value for 8 bit values (or less) in HOST BYTE ORDER. More... | |
static uint16_t | of1x_get_match_value16 (const of1x_match_t *match) |
Retrieve the match value for 16 bit values (or less) in HOST BYTE ORDER. More... | |
static uint32_t | of1x_get_match_value32 (const of1x_match_t *match) |
Retrieve the match value for 32 bit values (or less) in HOST BYTE ORDER. More... | |
static uint64_t | of1x_get_match_value64 (const of1x_match_t *match) |
Retrieve the match value for 64 bit values (or less) in HOST BYTE ORDER. More... | |
static uint128__t | of1x_get_match_value128 (const of1x_match_t *match) |
Retrieve the match value for 128 bit values (or less) in HOST BYTE ORDER. More... | |
static uint8_t | of1x_get_match_mask8 (const of1x_match_t *match) |
Retrieve the match mask value for 8 bit values (or less) in HOST BYTE ORDER. More... | |
static uint16_t | of1x_get_match_mask16 (const of1x_match_t *match) |
Retrieve the match mask value for 16 bit values (or less) in HOST BYTE ORDER. More... | |
static uint32_t | of1x_get_match_mask32 (const of1x_match_t *match) |
Retrieve the match mask value for 32 bit values (or less) in HOST BYTE ORDER. More... | |
static uint64_t | of1x_get_match_mask64 (const of1x_match_t *match) |
Retrieve the match mask value for 64 bit values (or less) in HOST BYTE ORDER. More... | |
static uint128__t | of1x_get_match_mask128 (const of1x_match_t *match) |
Retrieve the match mask value for 128 bit values (or less) in HOST BYTE ORDER. More... | |
void | of1x_destroy_stats_flow_msg (of1x_stats_flow_msg_t *msg) |
Destroy a flow_stats message. More... | |
void | of1x_destroy_stats_flow_aggregate_msg (of1x_stats_flow_aggregate_msg_t *msg) |
Destroy aggreagated flow_stats message. More... | |
void | of1x_stats_flow_get_duration (struct of1x_flow_entry *entry, uint32_t *sec, uint32_t *nsec) |
Get the duration of the flow_entry. More... | |
of1x_stats_group_msg_t * | of1x_get_group_stats (struct of1x_pipeline *pipeline, uint32_t id) |
Retrieves the statistics of a groupReturns a structure with the statistics that needs to be freed by the calling element. More... | |
void | of1x_destroy_stats_group_msg (of1x_stats_group_msg_t *msg) |
Frees memory of statistics messageNeeds to be called after retrieving the statistics of the groups. More... | |
of1x_stats_flow_msg_t * | of1x_get_flow_stats (struct of1x_pipeline *pipeline, uint8_t table_id, uint32_t cookie, uint32_t cookie_mask, uint32_t out_port, uint32_t out_group, struct of1x_match_group *matchs) |
Retrieves individual flow stats. More... | |
of1x_stats_flow_aggregate_msg_t * | of1x_get_flow_aggregate_stats (struct of1x_pipeline *pipeline, uint8_t table_id, uint32_t cookie, uint32_t cookie_mask, uint32_t out_port, uint32_t out_group, struct of1x_match_group *matchs) |
Retrieves aggregated flow stats. More... | |
void | of1x_destroy_group_desc_stats (of1x_stats_group_desc_msg_t *msg) |
Frees the memory for a of1x_stats_group_desc_msg_t structure. More... | |
of1x_stats_group_desc_msg_t * | of1x_get_group_desc_stats (struct of1x_pipeline *pipeline) |
Retrieves a copy of the group and bucket structure. More... | |
OpenFlow v1.x (1.0, 1.2 and 1.3.2) data-model core APIs and data structures used both internally and for data exchanging (State managment API) with the library user.
typedef struct of1x_action_group of1x_action_group_t |
Action group (apply-actions) structure.
typedef struct of1x_bucket_list of1x_bucket_list_t |
Group bucket list.
typedef struct of1x_bucket of1x_bucket_t |
Group bucket.
typedef void of1x_flow_entry_platform_state_t |
Platform dependent opaque state.
Definition at line 59 of file of1x_flow_entry.h.
typedef struct of1x_flow_entry of1x_flow_entry_t |
OpenFlow v1.0, 1.2 and 1.3.2 flow entry structure.
Flow removal operations strictness.
typedef enum of1x_flow_remove_reason of1x_flow_remove_reason_t |
Flow remove reasons (enum ofp_flow_removed_reason)
typedef struct of1x_group of1x_group_t |
Group structure definition.
typedef enum of1x_group_type of1x_group_type_t |
Group type.
typedef struct of1x_packet_action of1x_packet_action_t |
Packet action abstraction data structure.
typedef struct of1x_stats_flow_aggregate_msg of1x_stats_flow_aggregate_msg_t |
Aggregated flow stats message.
typedef struct of1x_stats_flow_msg of1x_stats_flow_msg_t |
Linked list containing all the individual flow stats.
typedef struct of1x_stats_single_flow_msg of1x_stats_single_flow_msg_t |
Single flow entry stats message.
typedef struct of1x_switch of1x_switch_t |
OpenFlow-enabled v1.0, 1.2 and 1.3.2 switch abstraction.
typedef enum rofl_of1x_fm_result rofl_of1x_fm_result_t |
Extended flowmod return codes.
Flow removal operations strictness.
Definition at line 37 of file of1x_flow_entry.h.
Flow remove reasons (enum ofp_flow_removed_reason)
Definition at line 46 of file of1x_flow_entry.h.
enum of1x_group_type |
Group type.
Definition at line 14 of file of1x_group_types.h.
Instruction type.
From OF12: enum ofp_12_instruction_type.
Definition at line 58 of file of1x_instruction.h.
Actions over a packet as per defined in OF10, OF12, OF13.
Set operations are converted to actions for pipeline simplification. This is comming from of1x_action_type enum.
Definition at line 89 of file of1x_action.h.
Packet-in reason (of12p_packet_in_reason enum)
Definition at line 29 of file of1x_async_events_hooks.h.
enum of1x_port_numbers |
Special port numbers, according to OF1X (of1xp_port_no )
Definition at line 244 of file of1x_action.h.
enum rofl_of1x_fm_result |
Extended flowmod return codes.
Definition at line 25 of file of1x_utils.h.
ROFL_BEGIN_DECLS void dump_packet_matches | ( | struct datapacket *const | pkt, |
bool | raw_nbo | ||
) |
Dump the values of packet (header values)
raw_nbo | Show values in the pipeline internal byte order (NBO). Warning: some values are intentionally unaligned. |
Definition at line 141 of file packet_matches.c.
void fill_packet_matches | ( | struct datapacket *const | pkt, |
packet_matches_t * | pkt_matches | ||
) |
Fill in packet_matches (for PKT_INs)
Definition at line 15 of file packet_matches.c.
|
inline |
Add a flow_entry to a table.
This method will add a flow_entry to the table. The flow entry shall already be initialized via of1x_init_flow_entry, and must already contain the matches, instructions and actions.
When check_overlap is enabled, addition will fail if there is at least one entry which may potentally match the same packet, and this entry has the same priority.
If (and only if) the mod operation is successful (ROFL_OF1X_FM_SUCCESS) the contents of the pointer *entry are set to NULL. Any other reference to the real entry (**entry) shall never be further used.
On success, the library will instantiate the necessary state to handle timers and statistics.
pipeline | Switch pipeline |
table_id | Table index |
entry | of1x_flow_entry_t previously initialized with of1x_init_flow_entry() |
check_overlap | Do not install if there are overlapping entries (would match the same packet) |
reset_counts | If overlap flag is false, reset the counters on entry overwrite |
Definition at line 442 of file of1x_flow_table.c.
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.
type | Instruction type (OF1X_IT_XX) |
apply_actions | (For OF1X_IT_APPLY_ACTIONS only)Apply actions group, with actions PREVIOUSLY filled. The group instance cannot be further accessed or freed from outside the library |
apply_actions | (For OF1X_IT_WRITE_ACTIONS only) Write_actions group, with actions PREVIOUSLY filled. The group instance cannot be further accessed or freed from outside the library. |
go_to_table | (For OF1X_IT_GO_TO_TABLE only) Index of the table to go. |
Definition at line 67 of file of1x_instruction.c.
rofl_result_t of1x_add_match_to_entry | ( | of1x_flow_entry_t * | entry, |
of1x_match_t * | match | ||
) |
Adds a match to the flow_entry.
Definition at line 104 of file of1x_flow_entry.c.
void of1x_destroy_action_group | ( | of1x_action_group_t * | group | ) |
Destroy an action group.
This also destroys actions contained
Definition at line 480 of file of1x_action.c.
void of1x_destroy_bucket_list | ( | of1x_bucket_list_t * | bc_list | ) |
Destroys the bucket list.
Frees memory of a bucket list
Definition at line 497 of file of1x_group_table.c.
rofl_result_t of1x_destroy_flow_entry | ( | of1x_flow_entry_t * | entry | ) |
Destroy the flow entry, including stats, instructions and actions.
Definition at line 99 of file of1x_flow_entry.c.
void of1x_destroy_group_desc_stats | ( | of1x_stats_group_desc_msg_t * | msg | ) |
Frees the memory for a of1x_stats_group_desc_msg_t structure.
Definition at line 339 of file of1x_statistics.c.
void of1x_destroy_group_table | ( | of1x_group_table_t * | gt | ) |
Destroys the group table.
This is done during the reset of the pipeline
Definition at line 145 of file of1x_group_table.c.
void of1x_destroy_match | ( | of1x_match_t * | match | ) |
Destroys whichever match previously created using of1x_init_match_*()
Definition at line 1687 of file of1x_match.c.
void of1x_destroy_packet_action | ( | of1x_packet_action_t * | action | ) |
Destroys packet action (OF action)
Definition at line 434 of file of1x_action.c.
void of1x_destroy_stats_flow_aggregate_msg | ( | of1x_stats_flow_aggregate_msg_t * | msg | ) |
Destroy aggreagated flow_stats message.
Definition at line 65 of file of1x_statistics.c.
void of1x_destroy_stats_flow_msg | ( | of1x_stats_flow_msg_t * | msg | ) |
Destroy a flow_stats message.
Definition at line 153 of file of1x_statistics.c.
void of1x_destroy_stats_group_msg | ( | of1x_stats_group_msg_t * | msg | ) |
Frees memory of statistics messageNeeds to be called after retrieving the statistics of the groups.
Definition at line 266 of file of1x_statistics.c.
void of1x_dump_flow_entry | ( | of1x_flow_entry_t * | entry, |
bool | raw_nbo | ||
) |
Dumps the flow entry for debugging purposes.
raw_nbo | Show values in the pipeline internal byte order (NBO). Warning: some values are intentionally unaligned. |
Definition at line 289 of file of1x_flow_entry.c.
void of1x_dump_switch | ( | of1x_switch_t * | sw, |
bool | nbo | ||
) |
Dumps the OpenFlow v1.0, 1.2 and 1.3.2 forwarding instance, for debugging purposes.
nbo | Show values in network byte order (ignored in BIG ENDIAN systems). |
Definition at line 245 of file of1x_switch.c.
void of1x_full_dump_switch | ( | of1x_switch_t * | sw, |
bool | nbo | ||
) |
Dumps the OpenFlow v1.0, 1.2 and 1.3.2 forwarding instance, for debugging purposes.
nbo | Show values in network byte order (ignored in BIG ENDIAN systems). |
Definition at line 255 of file of1x_switch.c.
of1x_stats_flow_aggregate_msg_t* of1x_get_flow_aggregate_stats | ( | struct of1x_pipeline * | pipeline, |
uint8_t | table_id, | ||
uint32_t | cookie, | ||
uint32_t | cookie_mask, | ||
uint32_t | out_port, | ||
uint32_t | out_group, | ||
struct of1x_match_group * | matchs | ||
) |
Retrieves aggregated flow stats.
Definition at line 476 of file of1x_statistics.c.
of1x_stats_flow_msg_t* of1x_get_flow_stats | ( | struct of1x_pipeline * | pipeline, |
uint8_t | table_id, | ||
uint32_t | cookie, | ||
uint32_t | cookie_mask, | ||
uint32_t | out_port, | ||
uint32_t | out_group, | ||
struct of1x_match_group * | matchs | ||
) |
Retrieves individual flow stats.
Definition at line 444 of file of1x_statistics.c.
of1x_stats_group_desc_msg_t* of1x_get_group_desc_stats | ( | struct of1x_pipeline * | pipeline | ) |
Retrieves a copy of the group and bucket structure.
Definition at line 406 of file of1x_statistics.c.
of1x_stats_group_msg_t* of1x_get_group_stats | ( | struct of1x_pipeline * | pipeline, |
uint32_t | id | ||
) |
Retrieves the statistics of a groupReturns a structure with the statistics that needs to be freed by the calling element.
Definition at line 304 of file of1x_statistics.c.
|
inlinestatic |
Retrieve the match mask value for 128 bit values (or less) in HOST BYTE ORDER.
The | value of the mask in host byte order |
Definition at line 950 of file of1x_match.h.
|
inlinestatic |
Retrieve the match mask value for 16 bit values (or less) in HOST BYTE ORDER.
The | value of the mask in host byte order |
Definition at line 917 of file of1x_match.h.
|
inlinestatic |
Retrieve the match mask value for 32 bit values (or less) in HOST BYTE ORDER.
The | value of the mask in host byte order |
Definition at line 928 of file of1x_match.h.
|
inlinestatic |
Retrieve the match mask value for 64 bit values (or less) in HOST BYTE ORDER.
The | value of the mask in host byte order |
Definition at line 939 of file of1x_match.h.
|
inlinestatic |
Retrieve the match mask value for 8 bit values (or less) in HOST BYTE ORDER.
The | value of the mask in host byte order |
Definition at line 906 of file of1x_match.h.
|
inlinestatic |
Retrieve the match value for 128 bit values (or less) in HOST BYTE ORDER.
The | value in host byte order |
Definition at line 891 of file of1x_match.h.
|
inlinestatic |
Retrieve the match value for 16 bit values (or less) in HOST BYTE ORDER.
The | value in host byte order |
Definition at line 752 of file of1x_match.h.
|
inlinestatic |
Retrieve the match value for 32 bit values (or less) in HOST BYTE ORDER.
The | value in host byte order |
Definition at line 805 of file of1x_match.h.
|
inlinestatic |
Retrieve the match value for 64 bit values (or less) in HOST BYTE ORDER.
The | value in host byte order |
Definition at line 851 of file of1x_match.h.
|
inlinestatic |
Retrieve the match value for 8 bit values (or less) in HOST BYTE ORDER.
The | value in host byte order |
Definition at line 700 of file of1x_match.h.
|
inlinestatic |
Retrieve the action field for 128 bit values (or less) in HOST BYTE ORDER.
The | value of the field in host byte order |
Definition at line 596 of file of1x_action.h.
|
inlinestatic |
Retrieve the action field for 16 bit values (or less) in HOST BYTE ORDER.
The | value of the field in host byte order |
Definition at line 477 of file of1x_action.h.
|
inlinestatic |
Retrieve the action field for 32 bit values (or less) in HOST BYTE ORDER.
The | value of the field in host byte order |
Definition at line 524 of file of1x_action.h.
|
inlinestatic |
Retrieve the action field for 64 bit values (or less) in HOST BYTE ORDER.
The | value of the field in host byte order |
Definition at line 562 of file of1x_action.h.
|
inlinestatic |
Retrieve the action field for 8 bit values (or less) in HOST BYTE ORDER.
The | value of the field in host byte order |
Definition at line 425 of file of1x_action.h.
rofl_of1x_gm_result_t of1x_group_add | ( | of1x_group_table_t * | gt, |
of1x_group_type_t | type, | ||
uint32_t | id, | ||
of1x_bucket_list_t ** | buckets | ||
) |
Adds a group to the table.
If a group with the ID already exists returns error
Definition at line 288 of file of1x_group_table.c.
rofl_of1x_gm_result_t of1x_group_delete | ( | struct of1x_pipeline * | pipeline, |
of1x_group_table_t * | gt, | ||
uint32_t | id | ||
) |
Deletes a group of the table.
Deletes the group structure. If id == OF1X_GROUP_ALL, all groups are deleted. If the group id is not found no error is send.
Definition at line 366 of file of1x_group_table.c.
rofl_of1x_gm_result_t of1x_group_modify | ( | of1x_group_table_t * | gt, |
of1x_group_type_t | type, | ||
uint32_t | id, | ||
of1x_bucket_list_t ** | buckets | ||
) |
Modifies a group on the table.
Searches the group with the defined ID and modifies the bucket list and the type
Modifies a group on the table.
actions | is a null ended array with the action groups for each bucket |
Definition at line 428 of file of1x_group_table.c.
of1x_action_group_t* of1x_init_action_group | ( | of1x_packet_action_t * | actions | ) |
Create an action group (apply actions)
Definition at line 440 of file of1x_action.c.
of1x_match_t* of1x_init_arp_opcode_match | ( | uint16_t | value | ) |
Create an ARP_OPCODE match.
Definition at line 277 of file of1x_match.c.
of1x_match_t* of1x_init_arp_sha_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an ARP_SHA match.
Definition at line 326 of file of1x_match.c.
of1x_match_t* of1x_init_arp_spa_match | ( | uint32_t | value, |
uint32_t | mask | ||
) |
Create an ARP_SPA match.
Definition at line 378 of file of1x_match.c.
of1x_match_t* of1x_init_arp_tha_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an ARP_THA match.
Definition at line 299 of file of1x_match.c.
of1x_match_t* of1x_init_arp_tpa_match | ( | uint32_t | value, |
uint32_t | mask | ||
) |
Create an ARP_TPA match.
Definition at line 352 of file of1x_match.c.
of1x_bucket_t* of1x_init_bucket | ( | uint16_t | weight, |
uint32_t | port, | ||
uint32_t | group, | ||
of1x_action_group_t * | actions | ||
) |
Initializes a bucket.
Allocates memory and sets the values for a bucket
Definition at line 481 of file of1x_group_table.c.
of1x_bucket_list_t* of1x_init_bucket_list | ( | void | ) |
Initializes a list of buckets.
Allocates memory for a bucket list
Definition at line 456 of file of1x_group_table.c.
of1x_match_t* of1x_init_capwap_flags_match | ( | uint16_t | value, |
uint16_t | mask | ||
) |
Create a CAPWAP_FLAGS match.
Definition at line 1257 of file of1x_match.c.
of1x_match_t* of1x_init_capwap_rid_match | ( | uint8_t | value, |
uint8_t | mask | ||
) |
Create a CAPWAP_RID match.
Definition at line 1235 of file of1x_match.c.
of1x_match_t* of1x_init_capwap_wbid_match | ( | uint8_t | value, |
uint8_t | mask | ||
) |
Create a CAPWAP_WBID match.
Definition at line 1213 of file of1x_match.c.
of1x_match_t* of1x_init_eth_dst_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an ETH_DST match.
Definition at line 83 of file of1x_match.c.
of1x_match_t* of1x_init_eth_src_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an ETH_SRC match.
Definition at line 110 of file of1x_match.c.
of1x_match_t* of1x_init_eth_type_match | ( | uint16_t | value | ) |
Create an ETH_TYPE match.
Definition at line 136 of file of1x_match.c.
ROFL_BEGIN_DECLS of1x_flow_entry_t* of1x_init_flow_entry | ( | bool | notify_removal | ) |
Create an empty flow entry.
Definition at line 22 of file of1x_flow_entry.c.
of1x_match_t* of1x_init_gre_key_match | ( | uint32_t | value | ) |
Create a GRE_KEY match.
Definition at line 1497 of file of1x_match.c.
of1x_match_t* of1x_init_gre_prot_type_match | ( | uint16_t | value | ) |
Create a GRE_PROT_TYPE match.
Definition at line 1476 of file of1x_match.c.
of1x_match_t* of1x_init_gre_version_match | ( | uint16_t | value | ) |
Create a GRE_VERSION match.
Definition at line 1455 of file of1x_match.c.
ROFL_BEGIN_DECLS of1x_group_table_t* of1x_init_group_table | ( | struct of1x_pipeline * | pipeline | ) |
Initializes the group table.
This is done during the initialization of the pipeline
Definition at line 108 of file of1x_group_table.c.
of1x_match_t* of1x_init_gtp_msg_type_match | ( | uint8_t | value | ) |
Create an PPP_PROTO match.
Definition at line 1168 of file of1x_match.c.
of1x_match_t* of1x_init_gtp_teid_match | ( | uint32_t | value, |
uint32_t | mask | ||
) |
Create an PPP_PROTO match.
Definition at line 1187 of file of1x_match.c.
of1x_match_t* of1x_init_icmpv4_code_match | ( | uint8_t | value | ) |
Create an ICMPv4_CODE match.
Definition at line 1008 of file of1x_match.c.
of1x_match_t* of1x_init_icmpv4_type_match | ( | uint8_t | value | ) |
Create an ICMPv4_TYPE match.
Definition at line 989 of file of1x_match.c.
of1x_match_t* of1x_init_icmpv6_code_match | ( | uint8_t | value | ) |
Create an ICMPV6_CODE match.
Definition at line 784 of file of1x_match.c.
of1x_match_t* of1x_init_icmpv6_type_match | ( | uint8_t | value | ) |
Create an ICMPV6_TYPE match.
Definition at line 765 of file of1x_match.c.
of1x_match_t* of1x_init_ip4_dst_match | ( | uint32_t | value, |
uint32_t | mask | ||
) |
Create an IP4_DST match.
Definition at line 505 of file of1x_match.c.
of1x_match_t* of1x_init_ip4_src_match | ( | uint32_t | value, |
uint32_t | mask | ||
) |
Create an IP4_SRC match.
Definition at line 479 of file of1x_match.c.
of1x_match_t* of1x_init_ip6_dst_match | ( | uint128__t | value, |
uint128__t | mask | ||
) |
Create an IP6_DST match.
Definition at line 621 of file of1x_match.c.
of1x_match_t* of1x_init_ip6_exthdr_match | ( | uint16_t | value, |
uint16_t | mask | ||
) |
Create an IP6_EXTHDR match.
Definition at line 739 of file of1x_match.c.
of1x_match_t* of1x_init_ip6_flabel_match | ( | uint32_t | value, |
uint32_t | mask | ||
) |
Create an IP6_FLABEL match.
Definition at line 648 of file of1x_match.c.
of1x_match_t* of1x_init_ip6_nd_sll_match | ( | uint64_t | value | ) |
Create an IP6_ND_SLL match.
Definition at line 695 of file of1x_match.c.
of1x_match_t* of1x_init_ip6_nd_target_match | ( | uint128__t | value | ) |
Create an IP6_ND_TARGET match.
Definition at line 671 of file of1x_match.c.
of1x_match_t* of1x_init_ip6_nd_tll_match | ( | uint64_t | value | ) |
Create an IP6_ND_TLL match.
Definition at line 717 of file of1x_match.c.
of1x_match_t* of1x_init_ip6_src_match | ( | uint128__t | value, |
uint128__t | mask | ||
) |
Create an IP6_SRC match.
Definition at line 594 of file of1x_match.c.
of1x_match_t* of1x_init_ip_dscp_match | ( | uint8_t | value | ) |
Create an IP_DSCP match.
Definition at line 550 of file of1x_match.c.
of1x_match_t* of1x_init_ip_ecn_match | ( | uint8_t | value | ) |
Create an IPC_ECN match.
Definition at line 573 of file of1x_match.c.
of1x_match_t* of1x_init_ip_proto_match | ( | uint8_t | value | ) |
Create an IP_PROTO match.
Definition at line 531 of file of1x_match.c.
of1x_match_t* of1x_init_metadata_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an METADATA match.
Definition at line 59 of file of1x_match.c.
of1x_match_t* of1x_init_mpls_bos_match | ( | uint8_t | value | ) |
Create an MPLS_BOS match.
Definition at line 256 of file of1x_match.c.
of1x_match_t* of1x_init_mpls_label_match | ( | uint32_t | value | ) |
Create an MPLS_LABEL match.
Definition at line 212 of file of1x_match.c.
of1x_match_t* of1x_init_mpls_tc_match | ( | uint8_t | value | ) |
Create an MPLS_TC match.
Definition at line 234 of file of1x_match.c.
of1x_match_t* of1x_init_nw_dst_match | ( | uint32_t | value, |
uint32_t | mask | ||
) |
Create an NW_DST match (IP/ARP), OF1.0 ONLY!
Definition at line 451 of file of1x_match.c.
of1x_match_t* of1x_init_nw_proto_match | ( | uint8_t | value | ) |
Create an NW_PROTO match, OF1.0 ONLY!
Definition at line 406 of file of1x_match.c.
of1x_match_t* of1x_init_nw_src_match | ( | uint32_t | value, |
uint32_t | mask | ||
) |
Create an NW_SRC match (IP/ARP), OF1.0 ONLY!
Definition at line 425 of file of1x_match.c.
ROFL_BEGIN_DECLS of1x_packet_action_t* of1x_init_packet_action | ( | of1x_packet_action_type_t | type, |
wrap_uint_t | field, | ||
uint16_t | output_send_len | ||
) |
Initializes a packet action (OF action)
field | union containing 8, 16, 32, 64 and 128 bit action field (e.g. port_num in output actions, header value in set field actions). Put if not used in this action type. |
output_send_len | Optional send to controller send len; leave to 0x0 if not used. |
Definition at line 21 of file of1x_action.c.
ROFL_BEGIN_DECLS of1x_match_t* of1x_init_port_in_match | ( | uint32_t | value | ) |
Create an PORT_IN match.
Definition at line 18 of file of1x_match.c.
of1x_match_t* of1x_init_port_in_phy_match | ( | uint32_t | value | ) |
Create an PHY_PORT_IN match.
Definition at line 38 of file of1x_match.c.
of1x_match_t* of1x_init_ppp_prot_match | ( | uint16_t | value | ) |
Create an PPP_PROTO match.
Definition at line 1145 of file of1x_match.c.
of1x_match_t* of1x_init_pppoe_code_match | ( | uint8_t | value | ) |
Create an PPPOE_CODE match.
Definition at line 1085 of file of1x_match.c.
of1x_match_t* of1x_init_pppoe_session_match | ( | uint16_t | value | ) |
Create an PPPOE_SESSION match.
Definition at line 1123 of file of1x_match.c.
of1x_match_t* of1x_init_pppoe_type_match | ( | uint8_t | value | ) |
Create an PPPOE_TYPE match.
Definition at line 1104 of file of1x_match.c.
of1x_match_t* of1x_init_sctp_dst_match | ( | uint16_t | value | ) |
Create an SCTP_DST match.
Definition at line 920 of file of1x_match.c.
of1x_match_t* of1x_init_sctp_src_match | ( | uint16_t | value | ) |
Create an SCTP_SRC match.
Definition at line 897 of file of1x_match.c.
ROFL_BEGIN_DECLS of1x_switch_t* of1x_init_switch | ( | const char * | name, |
of_version_t | version, | ||
uint64_t | dpid, | ||
unsigned int | num_of_tables, | ||
enum of1x_matching_algorithm_available * | ma_list | ||
) |
Creates an OpenFlow v1.0, 1.2 and 1.3.2 forwarding instance.
version | OF version |
num_of_tables | Number of tables that the v1.2 and 1.3 pipeline should have. This is immutable during the lifetime of the switch. |
ma_list | An array with num_of_tables, with the matching algorithm that should be used in each table (0..num_of_tables-1) |
Definition at line 12 of file of1x_switch.c.
of1x_match_t* of1x_init_tcp_dst_match | ( | uint16_t | value | ) |
Create an TCP_DST match.
Definition at line 828 of file of1x_match.c.
of1x_match_t* of1x_init_tcp_src_match | ( | uint16_t | value | ) |
Create an TCP_SRC match.
Definition at line 805 of file of1x_match.c.
of1x_match_t* of1x_init_tp_dst_match | ( | uint16_t | value | ) |
Create an TP_DST match (TCP/UDP), OF1.0 ONLY!
Definition at line 966 of file of1x_match.c.
of1x_match_t* of1x_init_tp_src_match | ( | uint16_t | value | ) |
Create an TP_SRC match (TCP/UDP), OF1.0 ONLY!
Definition at line 944 of file of1x_match.c.
of1x_match_t* of1x_init_tunnel_id_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an TUNNEL_ID match.
Definition at line 1055 of file of1x_match.c.
of1x_match_t* of1x_init_udp_dst_match | ( | uint16_t | value | ) |
Create an UDP_DST match.
Definition at line 873 of file of1x_match.c.
of1x_match_t* of1x_init_udp_src_match | ( | uint16_t | value | ) |
Create an UDP_SRC match.
Definition at line 851 of file of1x_match.c.
of1x_match_t* of1x_init_vlan_pcp_match | ( | uint8_t | value | ) |
Create an VLAN_PCP match.
Definition at line 188 of file of1x_match.c.
of1x_match_t* of1x_init_vlan_vid_match | ( | uint16_t | value, |
uint16_t | mask, | ||
enum of1x_vlan_present | vlan_present | ||
) |
Create an VLAN_VID match according to 1.2 semantics (13th bit is a flag)
Definition at line 159 of file of1x_match.c.
of1x_match_t* of1x_init_wlan_address_1_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an WLAN_ADDRESS_1 match.
Definition at line 1376 of file of1x_match.c.
of1x_match_t* of1x_init_wlan_address_2_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an WLAN_ADDRESS_2 match.
Definition at line 1402 of file of1x_match.c.
of1x_match_t* of1x_init_wlan_address_3_match | ( | uint64_t | value, |
uint64_t | mask | ||
) |
Create an WLAN_ADDRESS_3 match.
Definition at line 1428 of file of1x_match.c.
of1x_match_t* of1x_init_wlan_direction_match | ( | uint8_t | value, |
uint8_t | mask | ||
) |
Create a WLAN_DIRECTION match.
Definition at line 1354 of file of1x_match.c.
of1x_match_t* of1x_init_wlan_fc_match | ( | uint16_t | value, |
uint16_t | mask | ||
) |
Create a WLAN_FC match.
Definition at line 1284 of file of1x_match.c.
of1x_match_t* of1x_init_wlan_subtype_match | ( | uint8_t | value, |
uint8_t | mask | ||
) |
Create a WLAN_SUBTYPE match.
Definition at line 1332 of file of1x_match.c.
of1x_match_t* of1x_init_wlan_type_match | ( | uint8_t | value, |
uint8_t | mask | ||
) |
Create a WLAN_TYPE match.
Definition at line 1310 of file of1x_match.c.
of1x_write_actions_t* of1x_init_write_actions | ( | void | ) |
Create a write actions group.
Definition at line 541 of file of1x_action.c.
rofl_result_t of1x_insert_bucket_in_list | ( | of1x_bucket_list_t * | bu_list, |
of1x_bucket_t * | bucket | ||
) |
Inserts an initialized bucket in the list of buckets.
Definition at line 467 of file of1x_group_table.c.
|
inline |
Modify flow_entry(s) in the table.
The modify flow entry will modify any exisiting entry in the table that contains the same matches as the parameter entry. The "entry" parameter is NOT a pointer to an existing table entry.
If (and only if) the mod operation is successful (ROFL_OF1X_FM_SUCCESS) the contents of the pointer *entry are set to NULL. Any other reference to the real entry (**entry) shall never be further used.
On success, the library will modify the necessary state to correctly handle timers and statistics of the modified entries.
pipeline | Switch pipeline |
table_id | Table index |
entry | of1x_flow_entry_t that will update the existing (entries that have the same matches will be modified). This is NOT the entry TO update. |
strict | Strictness, check the matches in a strict way |
reset_counts | If overlap flag is false, reset the counters on entry overwrite |
Definition at line 501 of file of1x_flow_table.c.
void of1x_push_packet_action_to_group | ( | of1x_action_group_t * | group, |
of1x_packet_action_t * | action | ||
) |
Push an action to the group.
The action can no longer be used or freed from outside of the library. of1x_destroy_action_group() will destroy it.
Definition at line 495 of file of1x_action.c.
|
inline |
Removes a flow_entry from the table.
The remove flow entry will remove and destroy any exisiting entry in the table that contains the same matches as the parameter entry. The "entry" parameter is NOT a pointer to an existing table entry.
The entry parameter will never be modified by the library, and can be safely used or destroyed after the call of of1x_remove_flow_entry_table()
On success, the timers and statistics of the removed entries are purged.
pipeline | Switch pipeline |
table_id | Table index |
entry | All the entries having the same matches as "entry" will be removed. This is NOT the existing table entry to remove. |
strict | Strictness, check the matches in a strict way |
out_port | Only remove the entries that contain out_port in the actions |
out_group | Only remove the entries that contain out_group in the actions |
Definition at line 556 of file of1x_flow_table.c.
void of1x_remove_instruction_from_the_group | ( | of1x_instruction_group_t * | group, |
of1x_instruction_type_t | type | ||
) |
Remove an instruction of the group.
group | Instruction group |
type | Instruction type (OF1X_IT_XX) |
Definition at line 60 of file of1x_instruction.c.
rofl_result_t of1x_set_packet_action_on_write_actions | ( | of1x_write_actions_t * | write_actions, |
of1x_packet_action_t * | action | ||
) |
Set (copy) the action to the write actions.
The action pointer can safely used outside the library, and released.
Definition at line 570 of file of1x_action.c.
void of1x_stats_flow_get_duration | ( | struct of1x_flow_entry * | entry, |
uint32_t * | sec, | ||
uint32_t * | nsec | ||
) |
Get the duration of the flow_entry.
Get the duration of the flow_entry.
Definition at line 194 of file of1x_statistics.c.
|
inlinestatic |
Get the packet match ARP_OPCODE value in HOST BYTE ORDER.
Definition at line 287 of file packet_matches.h.
|
inlinestatic |
Get the packet match ARP_SHA value in HOST BYTE ORDER.
Definition at line 303 of file packet_matches.h.
|
inlinestatic |
Get the packet match ARP_SPA value in HOST BYTE ORDER.
Definition at line 319 of file packet_matches.h.
|
inlinestatic |
Get the packet match ARP_THA value in HOST BYTE ORDER.
Definition at line 295 of file packet_matches.h.
|
inlinestatic |
Get the packet match ARP_TPA value in HOST BYTE ORDER.
Definition at line 311 of file packet_matches.h.
|
inlinestatic |
Get the packet match CAPWAP_FLAGS value in HOST BYTE ORDER.
Definition at line 617 of file packet_matches.h.
|
inlinestatic |
Get the packet match CAPWAP_RID value in HOST BYTE ORDER.
Definition at line 609 of file packet_matches.h.
|
inlinestatic |
Get the packet match CAPWAP_WBID value in HOST BYTE ORDER.
Definition at line 601 of file packet_matches.h.
|
inlinestatic |
Get the packet match ETH_DST value in HOST BYTE ORDER.
Definition at line 208 of file packet_matches.h.
|
inlinestatic |
Get the packet match ETH_SRC value in HOST BYTE ORDER.
Definition at line 216 of file packet_matches.h.
|
inlinestatic |
Get the packet match ETH_TYPE value in HOST BYTE ORDER.
Definition at line 224 of file packet_matches.h.
|
inlinestatic |
Get the packet match GRE_KEY value in HOST BYTE ORDER.
Definition at line 701 of file packet_matches.h.
|
inlinestatic |
Get the packet match GRE_PROT_TYPE value in HOST BYTE ORDER.
Definition at line 693 of file packet_matches.h.
|
inlinestatic |
Get the packet match GRE_VERSION value in HOST BYTE ORDER.
Definition at line 685 of file packet_matches.h.
|
inlinestatic |
Get the packet match PPP_PROTO value in HOST BYTE ORDER.
Definition at line 583 of file packet_matches.h.
|
inlinestatic |
Get the packet match PPP_PROTO value in HOST BYTE ORDER.
Definition at line 591 of file packet_matches.h.
|
inlinestatic |
Get the packet match ICMPv4_CODE value in HOST BYTE ORDER.
Definition at line 436 of file packet_matches.h.
|
inlinestatic |
Get the packet match ICMPv4_TYPE value in HOST BYTE ORDER.
Definition at line 428 of file packet_matches.h.
|
inlinestatic |
Get the packet match ICMPV6_CODE value in HOST BYTE ORDER.
Definition at line 518 of file packet_matches.h.
|
inlinestatic |
Get the packet match ICMPV6_TYPE value in HOST BYTE ORDER.
Definition at line 510 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP_DSCP value in HOST BYTE ORDER.
Definition at line 346 of file packet_matches.h.
|
inlinestatic |
Get the packet match IPC_ECN value in HOST BYTE ORDER.
Definition at line 338 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP_PROTO value in HOST BYTE ORDER.
Definition at line 330 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP4_DST value in HOST BYTE ORDER.
Definition at line 364 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP4_SRC value in HOST BYTE ORDER.
Definition at line 356 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP6_DST value in HOST BYTE ORDER.
Definition at line 456 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP6_EXTHDR value in HOST BYTE ORDER.
Definition at line 500 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP6_FLABEL value in HOST BYTE ORDER.
Definition at line 466 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP6_ND_SLL value in HOST BYTE ORDER.
Definition at line 484 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP6_ND_TARGET value in HOST BYTE ORDER.
Definition at line 474 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP6_ND_TLL value in HOST BYTE ORDER.
Definition at line 492 of file packet_matches.h.
|
inlinestatic |
Get the packet match IP6_SRC value in HOST BYTE ORDER.
Definition at line 446 of file packet_matches.h.
|
inlinestatic |
Get the packet match METADATA value in HOST BYTE ORDER.
Definition at line 198 of file packet_matches.h.
|
inlinestatic |
Get the packet match MPLS_BOS value in HOST BYTE ORDER.
Definition at line 277 of file packet_matches.h.
|
inlinestatic |
Get the packet match MPLS_LABEL value in HOST BYTE ORDER.
Definition at line 261 of file packet_matches.h.
|
inlinestatic |
Get the packet match MPLS_TC value in HOST BYTE ORDER.
Definition at line 269 of file packet_matches.h.
|
inlinestatic |
Get the packet match PHY_PORT_IN value in HOST BYTE ORDER.
Definition at line 187 of file packet_matches.h.
|
inlinestatic |
Get the packet match PORT_IN value in HOST BYTE ORDER.
Definition at line 179 of file packet_matches.h.
|
inlinestatic |
Get the packet match PPP_PROTO value in HOST BYTE ORDER.
Definition at line 573 of file packet_matches.h.
|
inlinestatic |
Get the packet match PPPOE_CODE value in HOST BYTE ORDER.
Definition at line 547 of file packet_matches.h.
|
inlinestatic |
Get the packet match PPPOE_SESSION value in HOST BYTE ORDER.
Definition at line 563 of file packet_matches.h.
|
inlinestatic |
Get the packet match PPPOE_TYPE value in HOST BYTE ORDER.
Definition at line 555 of file packet_matches.h.
|
inlinestatic |
Get the packet match SCTP_DST value in HOST BYTE ORDER.
Definition at line 418 of file packet_matches.h.
|
inlinestatic |
Get the packet match SCTP_SRC value in HOST BYTE ORDER.
Definition at line 410 of file packet_matches.h.
|
inlinestatic |
Get the packet match PACKET_LENGTH value in HOST BYTE ORDER.
Definition at line 170 of file packet_matches.h.
|
inlinestatic |
Get the packet match TCP_DST value in HOST BYTE ORDER.
Definition at line 382 of file packet_matches.h.
|
inlinestatic |
Get the packet match TCP_SRC value in HOST BYTE ORDER.
Definition at line 374 of file packet_matches.h.
|
inlinestatic |
Get the packet match TUNNEL_ID value in HOST BYTE ORDER.
Definition at line 536 of file packet_matches.h.
|
inlinestatic |
Get the packet match UDP_DST value in HOST BYTE ORDER.
Definition at line 400 of file packet_matches.h.
|
inlinestatic |
Get the packet match UDP_SRC value in HOST BYTE ORDER.
Definition at line 392 of file packet_matches.h.
|
inlinestatic |
Get the packet match VLAN_PCP value in HOST BYTE ORDER.
Definition at line 251 of file packet_matches.h.
|
inlinestatic |
Get the packet match VLAN_VID value in HOST BYTE ORDER according to 1.2 semantics (13th bit is a flag)
Definition at line 242 of file packet_matches.h.
|
inlinestatic |
Get the packet match WLAN_ADDRESS_1 value in HOST BYTE ORDER.
Definition at line 659 of file packet_matches.h.
|
inlinestatic |
Get the packet match WLAN_ADDRESS_2 value in HOST BYTE ORDER.
Definition at line 667 of file packet_matches.h.
|
inlinestatic |
Get the packet match WLAN_ADDRESS_3 value in HOST BYTE ORDER.
Definition at line 675 of file packet_matches.h.
|
inlinestatic |
Get the packet match WLAN_DIRECTION value in HOST BYTE ORDER.
Definition at line 651 of file packet_matches.h.
|
inlinestatic |
Get the packet match WLAN_FC value in HOST BYTE ORDER.
Definition at line 627 of file packet_matches.h.
|
inlinestatic |
Get the packet match WLAN_SUBTYPE value in HOST BYTE ORDER.
Definition at line 643 of file packet_matches.h.
|
inlinestatic |
Get the packet match WLAN_TYPE value in HOST BYTE ORDER.
Definition at line 635 of file packet_matches.h.
|
inlinestatic |
Get flag has vlan.
Definition at line 234 of file packet_matches.h.