API Reference Manual  1.50.0
api/spec/packet.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2013-2018 Linaro Limited
3  * Copyright (c) 2021-2026 Nokia
4  */
5 
12 #ifndef ODP_API_SPEC_PACKET_H_
13 #define ODP_API_SPEC_PACKET_H_
14 #include <odp/visibility_begin.h>
15 
16 #include <odp/api/event_types.h>
17 #include <odp/api/packet_types.h>
19 #include <odp/api/pool_types.h>
21 #include <odp/api/std_types.h>
22 #include <odp/api/time_types.h>
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
45 
46 /*
47  *
48  * Alloc and free
49  * ********************************************************
50  *
51  */
52 
73 
89 int odp_packet_alloc_multi(odp_pool_t pool, uint32_t len,
90  odp_packet_t pkt[], int num);
91 
107 
117 void odp_packet_free_multi(const odp_packet_t pkt[], int num);
118 
128 void odp_packet_free_sp(const odp_packet_t pkt[], int num);
129 
152 int odp_packet_reset(odp_packet_t pkt, uint32_t len);
153 
167 
185 
198 
209  int num);
210 
219 
228  int num);
229 
243 
266 
267 /*
268  *
269  * Pointers and lengths
270  * ********************************************************
271  *
272  */
273 
290 
305 
330 
346 
361 void *odp_packet_data_seg_len(odp_packet_t pkt, uint32_t *seg_len);
362 
376 
390 
404 
420 
439 void *odp_packet_offset(odp_packet_t pkt, uint32_t offset, uint32_t *len,
440  odp_packet_seg_t *seg);
441 
452 void odp_packet_prefetch(odp_packet_t pkt, uint32_t offset, uint32_t len);
453 
480 void *odp_packet_push_head(odp_packet_t pkt, uint32_t len);
481 
512 void *odp_packet_pull_head(odp_packet_t pkt, uint32_t len);
513 
541 void *odp_packet_push_tail(odp_packet_t pkt, uint32_t len);
542 
573 void *odp_packet_pull_tail(odp_packet_t pkt, uint32_t len);
574 
611 int odp_packet_extend_head(odp_packet_t *pkt, uint32_t len, void **data_ptr,
612  uint32_t *seg_len);
613 
648 int odp_packet_trunc_head(odp_packet_t *pkt, uint32_t len, void **data_ptr,
649  uint32_t *seg_len);
650 
688 int odp_packet_extend_tail(odp_packet_t *pkt, uint32_t len, void **data_ptr,
689  uint32_t *seg_len);
690 
724 int odp_packet_trunc_tail(odp_packet_t *pkt, uint32_t len, void **tail_ptr,
725  uint32_t *tailroom);
726 
758 int odp_packet_add_data(odp_packet_t *pkt, uint32_t offset, uint32_t len);
759 
789 int odp_packet_rem_data(odp_packet_t *pkt, uint32_t offset, uint32_t len);
790 
826 int odp_packet_align(odp_packet_t *pkt, uint32_t offset, uint32_t len,
827  uint32_t align);
828 
829 /*
830  *
831  * Segmentation
832  * ********************************************************
833  *
834  */
835 
845 
857 
868 
879 
894 
909 
923 
977 
1013 int odp_packet_split(odp_packet_t *pkt, uint32_t len, odp_packet_t *tail);
1014 
1026 
1039 
1052 
1065 
1076 void odp_packet_buf_data_set(odp_packet_buf_t pkt_buf, uint32_t data_offset, uint32_t data_len);
1077 
1096 
1119 uint32_t odp_packet_disassemble(odp_packet_t pkt, odp_packet_buf_t pkt_buf[], uint32_t num);
1120 
1146 
1147 /*
1148  *
1149  * References
1150  * ********************************************************
1151  *
1152  */
1153 
1181 
1269 
1301  odp_packet_t hdr);
1302 
1328 
1342 
1343 /*
1344  *
1345  * Copy
1346  * ********************************************************
1347  *
1348  */
1349 
1365 
1383  uint32_t len, odp_pool_t pool);
1384 
1400 int odp_packet_copy_to_mem(odp_packet_t pkt, uint32_t offset,
1401  uint32_t len, void *dst);
1402 
1418 int odp_packet_copy_from_mem(odp_packet_t pkt, uint32_t offset,
1419  uint32_t len, const void *src);
1420 
1441 int odp_packet_copy_from_pkt(odp_packet_t dst, uint32_t dst_offset,
1442  odp_packet_t src, uint32_t src_offset,
1443  uint32_t len);
1444 
1460 int odp_packet_copy_data(odp_packet_t pkt, uint32_t dst_offset,
1461  uint32_t src_offset, uint32_t len);
1462 
1480 int odp_packet_move_data(odp_packet_t pkt, uint32_t dst_offset,
1481  uint32_t src_offset, uint32_t len);
1482 
1483 /*
1484  *
1485  * Meta-data
1486  * ********************************************************
1487  *
1488  */
1489 
1512 int odp_packet_parse(odp_packet_t pkt, uint32_t offset,
1513  const odp_packet_parse_param_t *param);
1514 
1531 int odp_packet_parse_multi(const odp_packet_t pkt[], const uint32_t offset[],
1532  int num, const odp_packet_parse_param_t *param);
1533 
1545  odp_packet_parse_result_t *result);
1546 
1558  odp_packet_parse_result_t *result[],
1559  int num);
1560 
1571 
1584 
1600 
1613 
1627 
1639 void odp_packet_user_ptr_set(odp_packet_t pkt, const void *user_ptr);
1640 
1653 
1664 
1679 
1689 
1710 void *odp_packet_l2_ptr(odp_packet_t pkt, uint32_t *len);
1711 
1729 
1746 int odp_packet_l2_offset_set(odp_packet_t pkt, uint32_t offset);
1747 
1768 void *odp_packet_l3_ptr(odp_packet_t pkt, uint32_t *len);
1769 
1787 
1804 int odp_packet_l3_offset_set(odp_packet_t pkt, uint32_t offset);
1805 
1826 void *odp_packet_l4_ptr(odp_packet_t pkt, uint32_t *len);
1827 
1845 
1862 int odp_packet_l4_offset_set(odp_packet_t pkt, uint32_t offset);
1863 
1874 
1890 
1906 
1920 
1937 
1959 
1983 
2003 
2022 
2039 void odp_packet_flow_hash_set(odp_packet_t pkt, uint32_t flow_hash);
2040 
2058 
2070 
2085 void odp_packet_ts_request(odp_packet_t pkt, int enable);
2086 
2094 
2102 
2112 
2120 
2128 
2136 
2150 
2166 
2175 
2185 
2203 
2218 
2236 void odp_packet_aging_tmo_set(odp_packet_t pkt, uint64_t tmo_ns);
2237 
2248 
2270 
2280 
2303 
2312 
2339 
2350 
2351 /*
2352  *
2353  * Packet vector handling routines
2354  * ********************************************************
2355  *
2356  */
2357 
2369 
2378 
2394 
2407 
2445 
2454 
2476 
2489 
2504 
2514 
2529 
2541 
2550 
2559 
2568 
2569 /*
2570  *
2571  * Packet Tx completion event handling routines
2572  * ********************************************************
2573  */
2574 
2588 
2596 
2609 
2623 
2645 int odp_packet_tx_compl_done(odp_pktio_t pktio, uint32_t compl_id);
2646 
2647 /*
2648  *
2649  * Debugging
2650  * ********************************************************
2651  *
2652  */
2653 
2662 
2674 void odp_packet_print_data(odp_packet_t pkt, uint32_t offset, uint32_t len);
2675 
2690 
2699 
2708 
2717 
2722 #ifdef __cplusplus
2723 }
2724 #endif
2725 
2726 #include <odp/visibility_end.h>
2727 #endif
ODP event API type definitions.
ODP Packet IO.
ODP packet.
ODP pool.
ODP proto stats types.
Standard C language types and definitions for ODP.
ODP time.
odp_event_subtype_t
Event subtype.
void odp_packet_print_data(odp_packet_t pkt, uint32_t offset, uint32_t len)
Print packet data.
int odp_packet_is_segmented(odp_packet_t pkt)
Tests if packet is segmented.
odp_packet_t odp_packet_reassemble(odp_pool_t pool, odp_packet_buf_t pkt_buf[], uint32_t num)
Reassemble packet from packet buffers.
void odp_packet_color_set(odp_packet_t pkt, odp_packet_color_t color)
Set packet color.
odp_packet_color_t odp_packet_color(odp_packet_t pkt)
Get packet color.
void odp_packet_from_event_multi(odp_packet_t pkt[], const odp_event_t ev[], int num)
Convert multiple packet events to packet handles.
odp_packet_t odp_packet_ref_pkt(odp_packet_t pkt, uint32_t offset, odp_packet_t hdr)
Create a packet with a header and shared data.
uint16_t odp_packet_ones_comp(odp_packet_t pkt, odp_packet_data_range_t *range)
Ones' complement sum of packet data.
int odp_packet_tx_compl_request(odp_packet_t pkt, const odp_packet_tx_compl_opt_t *opt)
Request packet transmit completion.
uint32_t odp_packet_flow_hash(odp_packet_t pkt)
Packet flow hash value.
void * odp_packet_pull_head(odp_packet_t pkt, uint32_t len)
Pull in packet head.
odp_proto_l4_type_t odp_packet_l4_type(odp_packet_t pkt)
Layer 4 protocol type.
void * odp_packet_user_ptr(odp_packet_t pkt)
User context pointer.
uint64_t odp_packet_tx_compl_to_u64(odp_packet_tx_compl_t tx_compl)
Get printable value for packet Tx completion handle.
int odp_packet_trunc_tail(odp_packet_t *pkt, uint32_t len, void **tail_ptr, uint32_t *tailroom)
Truncate packet tail.
odp_packet_free_ctrl_t
Packet free control option.
uint64_t odp_packet_cls_mark(odp_packet_t pkt)
Classification mark value.
int odp_packet_l3_offset_set(odp_packet_t pkt, uint32_t offset)
Set layer 3 start offset.
odp_event_subtype_t odp_packet_subtype(odp_packet_t packet)
Event subtype of a packet.
odp_packet_seg_t odp_packet_last_seg(odp_packet_t pkt)
Last segment in packet.
int odp_packet_input_index(odp_packet_t pkt)
Packet input interface index.
odp_event_t odp_packet_vector_to_event(odp_packet_vector_t pktv)
Convert packet vector handle to event.
uint32_t odp_packet_payload_offset(odp_packet_t pkt)
Payload data offset.
odp_pool_t odp_packet_vector_pool(odp_packet_vector_t pktv)
Packet vector pool.
int odp_packet_tx_compl_done(odp_pktio_t pktio, uint32_t compl_id)
Check packet transmit completion.
odp_event_t odp_packet_to_event(odp_packet_t pkt)
Convert packet handle to event.
int8_t odp_packet_shaper_len_adjust(odp_packet_t pkt)
Get shaper length adjustment.
void odp_packet_to_event_multi(const odp_packet_t pkt[], odp_event_t ev[], int num)
Convert multiple packet handles to events.
odp_packet_chksum_status_t odp_packet_l4_chksum_status(odp_packet_t pkt)
Layer 4 checksum check status.
uint32_t odp_packet_seg_len(odp_packet_t pkt)
Packet data length following the data pointer.
uint32_t odp_packet_buf_data_len(odp_packet_buf_t pkt_buf)
Packet buffer data length in bytes.
int odp_packet_add_data(odp_packet_t *pkt, uint32_t offset, uint32_t len)
Add data into an offset.
void odp_packet_parse_result_multi(const odp_packet_t pkt[], odp_packet_parse_result_t *result[], int num)
Read parse results from multiple packets.
int odp_packet_concat(odp_packet_t *dst, odp_packet_t src)
Concatenate two packets.
int odp_packet_parse_multi(const odp_packet_t pkt[], const uint32_t offset[], int num, const odp_packet_parse_param_t *param)
Parse multiple packets.
uint32_t odp_packet_headroom(odp_packet_t pkt)
Packet headroom length.
uint32_t odp_packet_buf_data_offset(odp_packet_buf_t pkt_buf)
Packet buffer data offset.
void * odp_packet_push_head(odp_packet_t pkt, uint32_t len)
Push out packet head.
void odp_packet_prefetch(odp_packet_t pkt, uint32_t offset, uint32_t len)
Packet data prefetch.
void odp_packet_user_flag_set(odp_packet_t pkt, int val)
Set user flag.
odp_packet_vector_t odp_packet_vector_from_event(odp_event_t ev)
Get packet vector handle from event.
int odp_packet_num_segs(odp_packet_t pkt)
Number of segments.
odp_packet_free_ctrl_t odp_packet_free_ctrl(odp_packet_t pkt)
Returns packet free control option value.
odp_packet_t odp_packet_copy(odp_packet_t pkt, odp_pool_t pool)
Full copy of a packet.
uint32_t odp_packet_seg_data_len(odp_packet_t pkt, odp_packet_seg_t seg)
Segment data length.
uint32_t odp_packet_user_area_size(odp_packet_t pkt)
User area size.
int odp_packet_reass_info(odp_packet_t pkt, odp_packet_reass_info_t *info)
Get information about successful reassembly offload that has happened.
uint32_t odp_packet_l4_offset(odp_packet_t pkt)
Layer 4 start offset.
uint16_t odp_proto_l3_type_t
Layer 3 protocol type.
void * odp_packet_data(odp_packet_t pkt)
Packet data pointer.
int odp_packet_copy_data(odp_packet_t pkt, uint32_t dst_offset, uint32_t src_offset, uint32_t len)
Copy data within packet.
int odp_packet_l4_offset_set(odp_packet_t pkt, uint32_t offset)
Set layer 4 start offset.
void odp_packet_lso_request_clr(odp_packet_t pkt)
Clear LSO request from a packet.
int odp_packet_extend_head(odp_packet_t *pkt, uint32_t len, void **data_ptr, uint32_t *seg_len)
Extend packet head.
odp_packet_t odp_packet_ref(odp_packet_t pkt, uint32_t offset)
Create a packet that references packet data of another packet.
odp_proto_l2_type_t odp_packet_l2_type(odp_packet_t pkt)
Layer 2 protocol type.
odp_bool_t odp_packet_drop_eligible(odp_packet_t pkt)
Get drop eligible status.
int odp_packet_vector_valid(odp_packet_vector_t pktv)
Check that packet vector is valid.
void * odp_packet_vector_user_area(odp_packet_vector_t pktv)
Packet vector user area.
void * odp_packet_push_tail(odp_packet_t pkt, uint32_t len)
Push out packet tail.
int odp_packet_split(odp_packet_t *pkt, uint32_t len, odp_packet_t *tail)
Split packet into two packets.
int odp_packet_is_referencing(odp_packet_t pkt)
Test if a packet is a referencing packet.
void odp_packet_drop_eligible_set(odp_packet_t pkt, odp_bool_t status)
Set drop eligible status.
void * odp_packet_seg_data(odp_packet_t pkt, odp_packet_seg_t seg)
Segment data pointer.
int odp_packet_move_data(odp_packet_t pkt, uint32_t dst_offset, uint32_t src_offset, uint32_t len)
Move data within packet.
odp_proto_stats_t odp_packet_proto_stats(odp_packet_t pkt)
Get proto stats object.
void * odp_packet_user_area(odp_packet_t pkt)
User area address.
uint32_t odp_packet_len(odp_packet_t pkt)
Packet data length.
void odp_packet_vector_user_flag_set(odp_packet_vector_t pktv, int val)
Set user flag.
int odp_packet_extend_tail(odp_packet_t *pkt, uint32_t len, void **data_ptr, uint32_t *seg_len)
Extend packet tail.
uint64_t odp_packet_to_u64(odp_packet_t pkt)
Get printable value for packet handle.
odp_packet_t odp_packet_alloc(odp_pool_t pool, uint32_t len)
Allocate a packet from a packet pool.
int odp_packet_has_tx_compl_request(odp_packet_t pkt)
Check if packet transmit completion is requested.
int odp_packet_rem_data(odp_packet_t *pkt, uint32_t offset, uint32_t len)
Remove data from an offset.
int odp_packet_l2_offset_set(odp_packet_t pkt, uint32_t offset)
Set layer 2 start offset.
void * odp_packet_tail(odp_packet_t pkt)
Packet tailroom pointer.
void odp_packet_ts_request(odp_packet_t pkt, int enable)
Request Tx timestamp capture.
odp_packet_seg_t odp_packet_next_seg(odp_packet_t pkt, odp_packet_seg_t seg)
Next segment in packet.
void odp_packet_shaper_len_adjust_set(odp_packet_t pkt, int8_t adj)
Set shaper length adjustment.
int odp_packet_align(odp_packet_t *pkt, uint32_t offset, uint32_t len, uint32_t align)
Align packet data.
odp_packet_t odp_packet_from_event(odp_event_t ev)
Get packet handle from event.
void odp_packet_free(odp_packet_t pkt)
Free packet.
odp_packet_seg_t odp_packet_first_seg(odp_packet_t pkt)
First segment in packet.
odp_packet_vector_t odp_packet_vector_alloc(odp_pool_t pool)
Allocate a packet vector from a packet vector pool.
odp_packet_reass_status_t
Reassembly status of a packet.
odp_packet_buf_t odp_packet_buf_from_head(odp_pool_t pool, void *head)
Convert packet buffer head pointer to handle.
int odp_packet_trunc_head(odp_packet_t *pkt, uint32_t len, void **data_ptr, uint32_t *seg_len)
Truncate packet head.
uint32_t odp_packet_reset_max_len(odp_packet_t pkt)
Maximum packet data reset length.
void odp_packet_free_ctrl_set(odp_packet_t pkt, odp_packet_free_ctrl_t ctrl)
Set packet free control option.
void odp_packet_vector_free(odp_packet_vector_t pktv)
Free packet vector.
odp_packet_reass_status_t odp_packet_reass_status(odp_packet_t pkt)
Check reassembly status of the packet.
void * odp_packet_l2_ptr(odp_packet_t pkt, uint32_t *len)
Layer 2 start pointer.
void odp_packet_flow_hash_set(odp_packet_t pkt, uint32_t flow_hash)
Set packet flow hash value.
uint32_t odp_packet_l3_offset(odp_packet_t pkt)
Layer 3 start offset.
void odp_packet_reset_meta(odp_packet_t pkt)
Reset packet metadata.
uint32_t odp_packet_buf_len(odp_packet_t pkt)
Total packet buffer length.
void odp_packet_vector_print(odp_packet_vector_t pktv)
Print packet vector debug information.
int odp_packet_reset(odp_packet_t pkt, uint32_t len)
Reset packet.
void * odp_packet_buf_head(odp_packet_buf_t pkt_buf)
Packet buffer head pointer.
void * odp_packet_tx_compl_user_ptr(odp_packet_tx_compl_t tx_compl)
User context pointer.
void * odp_packet_head(odp_packet_t pkt)
Packet head address.
int odp_packet_copy_from_pkt(odp_packet_t dst, uint32_t dst_offset, odp_packet_t src, uint32_t src_offset, uint32_t len)
Copy data from another packet.
uint64_t odp_packet_vector_to_u64(odp_packet_vector_t pktv)
Get printable value for packet vector handle.
int odp_packet_parse(odp_packet_t pkt, uint32_t offset, const odp_packet_parse_param_t *param)
Parse packet.
void odp_packet_l4_chksum_insert(odp_packet_t pkt, int insert)
Layer 4 checksum insertion override.
int odp_packet_copy_from_mem(odp_packet_t pkt, uint32_t offset, uint32_t len, const void *src)
Copy data from memory to packet.
void * odp_packet_l4_ptr(odp_packet_t pkt, uint32_t *len)
Layer 4 start pointer.
odp_packet_chksum_status_t odp_packet_l3_chksum_status(odp_packet_t pkt)
Layer 3 checksum check status.
int odp_packet_reass_partial_state(odp_packet_t pkt, odp_packet_t frags[], odp_packet_reass_partial_state_t *res)
Get partial reassembly state from a packet.
void odp_packet_user_ptr_set(odp_packet_t pkt, const void *user_ptr)
Set user context pointer.
uint32_t odp_packet_vector_tbl(odp_packet_vector_t pktv, odp_packet_t **pkt_tbl)
Get packet vector table.
odp_packet_chksum_status_t
Checksum check status in packet.
void odp_packet_buf_data_set(odp_packet_buf_t pkt_buf, uint32_t data_offset, uint32_t data_len)
Packet buffer data set.
odp_event_t odp_packet_tx_compl_to_event(odp_packet_tx_compl_t tx_compl)
Convert packet Tx completion to event.
odp_packet_color_t
Color of packet for shaper/drop processing.
void odp_packet_aging_tmo_set(odp_packet_t pkt, uint64_t tmo_ns)
Enable or disable Tx packet aging.
odp_proto_l3_type_t odp_packet_l3_type(odp_packet_t pkt)
Layer 3 protocol type.
uint8_t odp_proto_l4_type_t
Layer 4 protocol type.
void * odp_packet_data_seg_len(odp_packet_t pkt, uint32_t *seg_len)
Packet data pointer with segment length.
uint32_t odp_packet_disassemble(odp_packet_t pkt, odp_packet_buf_t pkt_buf[], uint32_t num)
Disassemble packet into packet buffers.
void odp_packet_input_set(odp_packet_t pkt, odp_pktio_t pktio)
Set packet input interface.
void odp_packet_parse_result(odp_packet_t pkt, odp_packet_parse_result_t *result)
Read parse results.
void * odp_packet_l3_ptr(odp_packet_t pkt, uint32_t *len)
Layer 3 start pointer.
int odp_packet_is_valid(odp_packet_t pkt)
Check that packet is valid.
void odp_packet_free_multi(const odp_packet_t pkt[], int num)
Free multiple packets.
void * odp_packet_pull_tail(odp_packet_t pkt, uint32_t len)
Pull in packet tail.
uint64_t odp_packet_seg_to_u64(odp_packet_seg_t seg)
Get printable value for packet segment handle.
odp_packet_tx_compl_t odp_packet_tx_compl_from_event(odp_event_t ev)
Get packet Tx completion handle from event.
void odp_packet_tx_compl_free(odp_packet_tx_compl_t tx_compl)
Free packet Tx completion.
int odp_packet_user_flag(odp_packet_t pkt)
Check user flag.
int odp_packet_has_lso_request(odp_packet_t pkt)
Check if LSO is requested for the packet.
void odp_packet_print(odp_packet_t pkt)
Print packet debug information.
int odp_packet_alloc_multi(odp_pool_t pool, uint32_t len, odp_packet_t pkt[], int num)
Allocate multiple packets from a packet pool.
odp_pool_t odp_packet_pool(odp_packet_t pkt)
Packet pool.
void odp_packet_ts_set(odp_packet_t pkt, odp_time_t timestamp)
Set packet timestamp.
int odp_packet_lso_request(odp_packet_t pkt, const odp_packet_lso_opt_t *lso_opt)
Request Large Send Offload (LSO) for a packet.
void odp_packet_vector_size_set(odp_packet_vector_t pktv, uint32_t size)
Set the number of packets stored in a vector.
int odp_packet_copy_to_mem(odp_packet_t pkt, uint32_t offset, uint32_t len, void *dst)
Copy data from packet to memory.
odp_packet_t odp_packet_copy_part(odp_packet_t pkt, uint32_t offset, uint32_t len, odp_pool_t pool)
Partial copy of a packet.
odp_packet_t odp_packet_ref_static(odp_packet_t pkt)
Create a static reference to a packet.
void odp_packet_l3_chksum_insert(odp_packet_t pkt, int insert)
Layer 3 checksum insertion override.
int odp_packet_has_ref(odp_packet_t pkt)
Test if packet has multiple references.
odp_time_t odp_packet_ts(odp_packet_t pkt)
Packet timestamp.
uint32_t odp_packet_buf_size(odp_packet_buf_t pkt_buf)
Packet buffer size in bytes.
int odp_packet_vector_user_flag(odp_packet_vector_t pktv)
Check user flag.
void odp_packet_free_sp(const odp_packet_t pkt[], int num)
Free multiple packets to the same pool.
void odp_packet_proto_stats_request(odp_packet_t pkt, odp_packet_proto_stats_opt_t *opt)
Request packet proto stats.
uint32_t odp_packet_vector_size(odp_packet_vector_t pktv)
Number of packets in a vector.
void * odp_packet_offset(odp_packet_t pkt, uint32_t offset, uint32_t *len, odp_packet_seg_t *seg)
Packet offset pointer.
uint32_t odp_packet_tailroom(odp_packet_t pkt)
Packet tailroom length.
int odp_packet_payload_offset_set(odp_packet_t pkt, uint32_t offset)
Set payload data start offset.
uint8_t odp_proto_l2_type_t
Layer 2 protocol type.
uint64_t odp_packet_aging_tmo(odp_packet_t pkt)
Check if packet has Tx aging drop enabled.
odp_pktio_t odp_packet_input(odp_packet_t pkt)
Packet input interface.
uint32_t odp_packet_l2_offset(odp_packet_t pkt)
Layer 2 start offset.
bool odp_bool_t
Boolean type.
Packet API data range specifier.
Packet parse parameters.
Packet proto stats options.
Information about a completed reassembly.
Result from odp_packet_reass_partial_state()
Packet transmit completion request options.