API Reference Manual  1.45.0
api/spec/packet_types.h File Reference

ODP packet types. More...

#include <odp/visibility_begin.h>
#include <odp/api/proto_stats_types.h>
#include <odp/api/queue_types.h>
#include <odp/visibility_end.h>
Include dependency graph for api/spec/packet_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  odp_packet_data_range
 Packet API data range specifier. More...
 
struct  odp_packet_reass_info_t
 Information about a completed reassembly. More...
 
struct  odp_packet_reass_partial_state_t
 Result from odp_packet_reass_partial_state() More...
 
union  odp_proto_chksums_t
 Flags to control packet data checksum checking. More...
 
struct  odp_packet_parse_param_t
 Packet parse parameters. More...
 
struct  odp_packet_parse_result_t
 Packet parse results. More...
 
struct  odp_packet_lso_opt_t
 LSO options. More...
 
struct  odp_packet_tx_compl_opt_t
 Packet transmit completion request options. More...
 
struct  odp_packet_proto_stats_opt_t
 Packet proto stats options. More...
 

Macros

#define ODP_NUM_PACKET_COLORS   3
 Maximum number of packet colors which accommodates ODP_PACKET_GREEN, ODP_PACKET_YELLOW and ODP_PACKET_RED.
 
#define ODP_PROTO_L2_TYPE_NONE   0
 Layer 2 protocol type not defined.
 
#define ODP_PROTO_L2_TYPE_ETH   1
 Layer 2 protocol is Ethernet.
 
#define ODP_PROTO_L3_TYPE_NONE   0xFFFF
 Layer 3 protocol type not defined.
 
#define ODP_PROTO_L3_TYPE_ARP   0x0806
 Layer 3 protocol is ARP.
 
#define ODP_PROTO_L3_TYPE_RARP   0x8035
 Layer 3 protocol is RARP.
 
#define ODP_PROTO_L3_TYPE_MPLS   0x8847
 Layer 3 protocol is MPLS.
 
#define ODP_PROTO_L3_TYPE_IPV4   0x0800
 Layer 3 protocol type is IPv4.
 
#define ODP_PROTO_L3_TYPE_IPV6   0x86DD
 Layer 3 protocol type is IPv6.
 
#define ODP_PROTO_L4_TYPE_NONE   255
 Layer 4 protocol type not defined.
 
#define ODP_PROTO_L4_TYPE_ICMPV4   1
 Layer 4 protocol type is ICMPv4.
 
#define ODP_PROTO_L4_TYPE_IGMP   2
 Layer 4 protocol type is IGMP.
 
#define ODP_PROTO_L4_TYPE_IPV4   4
 Layer 4 protocol type is IPv4.
 
#define ODP_PROTO_L4_TYPE_TCP   6
 Layer 4 protocol type is TCP.
 
#define ODP_PROTO_L4_TYPE_UDP   17
 Layer 4 protocol type is UDP.
 
#define ODP_PROTO_L4_TYPE_IPV6   41
 Layer 4 protocol type is IPv6.
 
#define ODP_PROTO_L4_TYPE_GRE   47
 Layer 4 protocol type is GRE.
 
#define ODP_PROTO_L4_TYPE_ESP   50
 Layer 4 protocol type is IPSEC ESP.
 
#define ODP_PROTO_L4_TYPE_AH   51
 Layer 4 protocol type is IPSEC AH.
 
#define ODP_PROTO_L4_TYPE_ICMPV6   58
 Layer 4 protocol type is ICMPv6.
 
#define ODP_PROTO_L4_TYPE_NO_NEXT   59
 Layer 4 protocol type is No Next Header for IPv6.
 
#define ODP_PROTO_L4_TYPE_IPCOMP   108
 Layer 4 protocol type is IP Payload Compression Protocol.
 
#define ODP_PROTO_L4_TYPE_SCTP   132
 Layer 4 protocol type is SCTP.
 
#define ODP_PROTO_L4_TYPE_ROHC   142
 Layer 4 protocol type is ROHC.
 
#define ODP_PACKET_TX_COMPL_ALL   ODP_PACKET_TX_COMPL_EVENT
 For backwards compatibility, ODP_PACKET_TX_COMPL_ALL is synonym of ODP_PACKET_TX_COMPL_EVENT. More...
 

Typedefs

typedef uint8_t odp_proto_l2_type_t
 Layer 2 protocol type.
 
typedef uint16_t odp_proto_l3_type_t
 Layer 3 protocol type.
 
typedef uint8_t odp_proto_l4_type_t
 Layer 4 protocol type.
 
typedef enum odp_proto_t odp_proto_t
 Protocol.
 
typedef enum odp_proto_layer_t odp_proto_layer_t
 Protocol layer.
 
typedef struct odp_packet_data_range odp_packet_data_range_t
 Packet API data range specifier.
 
typedef enum odp_packet_reass_status_t odp_packet_reass_status_t
 Reassembly status of a packet.
 
typedef struct odp_packet_reass_info_t odp_packet_reass_info_t
 Information about a completed reassembly.
 
typedef struct odp_packet_reass_partial_state_t odp_packet_reass_partial_state_t
 Result from odp_packet_reass_partial_state()
 
typedef union odp_proto_chksums_t odp_proto_chksums_t
 Flags to control packet data checksum checking.
 
typedef struct odp_packet_parse_param_t odp_packet_parse_param_t
 Packet parse parameters.
 
typedef struct odp_packet_parse_result_t odp_packet_parse_result_t
 Packet parse results.
 
typedef struct odp_packet_lso_opt_t odp_packet_lso_opt_t
 LSO options.
 
typedef enum odp_packet_tx_compl_mode_t odp_packet_tx_compl_mode_t
 Packet transmit completion mode.
 
typedef struct odp_packet_tx_compl_opt_t odp_packet_tx_compl_opt_t
 Packet transmit completion request options.
 
typedef enum odp_packet_free_ctrl_t odp_packet_free_ctrl_t
 Packet free control option.
 
typedef struct odp_packet_proto_stats_opt_t odp_packet_proto_stats_opt_t
 Packet proto stats options.
 

Enumerations

enum  odp_proto_t { ODP_PROTO_NONE = 0 , ODP_PROTO_ETH , ODP_PROTO_IPV4 , ODP_PROTO_IPV6 }
 Protocol. More...
 
enum  odp_proto_layer_t {
  ODP_PROTO_LAYER_NONE = 0 , ODP_PROTO_LAYER_L2 , ODP_PROTO_LAYER_L3 , ODP_PROTO_LAYER_L4 ,
  ODP_PROTO_LAYER_ALL
}
 Protocol layer. More...
 
enum  odp_packet_reass_status_t { ODP_PACKET_REASS_NONE = 0 , ODP_PACKET_REASS_INCOMPLETE , ODP_PACKET_REASS_COMPLETE }
 Reassembly status of a packet. More...
 
enum  odp_packet_tx_compl_mode_t { ODP_PACKET_TX_COMPL_DISABLED = 0 , ODP_PACKET_TX_COMPL_EVENT , ODP_PACKET_TX_COMPL_POLL }
 Packet transmit completion mode. More...
 
enum  odp_packet_free_ctrl_t { ODP_PACKET_FREE_CTRL_DISABLED = 0 , ODP_PACKET_FREE_CTRL_DONT_FREE }
 Packet free control option. More...
 

Detailed Description

ODP packet types.

Definition in file api/spec/packet_types.h.