23 #ifndef DOCA_PCC_NP_DEV_H_
24 #define DOCA_PCC_NP_DEV_H_
31 #define DOCA_DPA_DEVICE
47 struct doca_pcc_np_dev_request_packet *
in;
54 struct doca_pcc_np_dev_request_packet;
88 const struct doca_pcc_np_dev_request_packet *
input);
117 const struct doca_pcc_np_dev_request_packet *
input);
186 uint8_t *vlan_present,
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
#define ALWAYS_INLINE
force inline wrapper
doca_pcc_dev_error_t
API functions return status.
DOCA_EXPERIMENTAL ALWAYS_INLINE size_t doca_pcc_np_dev_get_payload_size(const struct doca_pcc_np_dev_request_packet *input)
Return packet size from payload after mad header.
DOCA_EXPERIMENTAL ALWAYS_INLINE size_t doca_pcc_np_dev_get_raw_packet_size(const struct doca_pcc_np_dev_request_packet *input)
Return packet size from ethernet header.
DOCA_EXPERIMENTAL ALWAYS_INLINE uint8_t * doca_pcc_np_dev_get_payload(const struct doca_pcc_np_dev_request_packet *input)
Returns a pointer to the payload of the packet.
uint8_t doca_pcc_np_dev_get_packet_probe_type_slot(const struct doca_pcc_np_dev_request_packet *input)
Get the probe type slot of a given probe request packet.  *  *.
DOCA_EXPERIMENTAL ALWAYS_INLINE uint8_t doca_pcc_np_dev_get_port_num(const struct doca_pcc_np_dev_request_packet *input)
Return logical port number on which input packet arrived.
DOCA_EXPERIMENTAL ALWAYS_INLINE uint8_t * doca_pcc_np_dev_get_l4_header(const struct doca_pcc_np_dev_request_packet *input)
Returns a pointer to the L4/udp header of the packet.
DOCA_EXPERIMENTAL ALWAYS_INLINE doca_pcc_dev_error_t doca_pcc_dev_np_user_packet_handler(struct doca_pcc_np_dev_request_packet *in, struct doca_pcc_np_dev_response_packet *out)
Main user function (implemented by the user) Called by the lib upon receiving a packet....
DOCA_EXPERIMENTAL ALWAYS_INLINE size_t doca_pcc_np_dev_get_l4_size(const struct doca_pcc_np_dev_request_packet *input)
Return packet size from L4/udp header.
DOCA_EXPERIMENTAL ALWAYS_INLINE void doca_pcc_np_dev_set_response_prio(struct doca_pcc_np_dev_response_packet *out, uint32_t prio)
Set the priority of a specific packet.
DOCA_EXPERIMENTAL ALWAYS_INLINE uint8_t * doca_pcc_np_dev_get_raw_packet(const struct doca_pcc_np_dev_request_packet *input)
Return packet from ethernet header.
DOCA_EXPERIMENTAL ALWAYS_INLINE size_t doca_pcc_np_dev_get_max_response_size(struct doca_pcc_np_dev_response_packet *out)
Return data buffer size of out.
DOCA_EXPERIMENTAL ALWAYS_INLINE void doca_pcc_np_dev_get_vlan_tci(const struct doca_pcc_np_dev_request_packet *input, uint8_t *vlan_present, uint16_t *vlan_tci)
Return the VLAN TCI which was popped from input packet.
DOCA_EXPERIMENTAL ALWAYS_INLINE uint8_t doca_pcc_np_dev_get_plane_num(const struct doca_pcc_np_dev_request_packet *input)
Return plane number of logical port on which input packet arrived.
structure for response packet
struct doca_pcc_np_dev_request_packet * in