blob: b2e1f5a7ef7c785199a7bd88014e31f556918425 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
/*
* Copyright (c) 2014, Linaro Limited
* Copyright (c) 2014, Texas Instruments Incorporated
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
/**
* @file
*
* ODP packet IO - implementation internal
*/
#ifndef ODP_PACKET_IO_INTERNAL_H_
#define ODP_PACKET_IO_INTERNAL_H_
#include <odp/packet.h>
#include <ccan/list/list.h>
#include <odp_packet_internal.h>
#define SW_PARSING 1
uint16_t _odp_pktio_port_id(odp_pktio_t pktio);
static inline void pktin_update_event(odp_event_t ev, queue_entry_t *qentry)
{
odp_packet_t pkt = odp_packet_from_event(ev);
struct odp_pkthdr *hdr = _odp_pkt_hdr(pkt);
hdr->input = qentry->pktin;
ODP_DBG("Received packet ---------\n");
#ifdef SW_PARSING
_odp_packet_parse(pkt);
#else
pasahoLongInfo_t *pasa_info =
nwal_mGetProtoInfo(Pktlib_getPacketFromDesc(_odp_ev_to_cppi_desc(ev)));
ODP_AS_STR(pasa_info, "Invalid info from NetCP");
hdr->l2_offset = 0;
hdr->l3_offset = PASAHO_LINFO_READ_L3_OFFSET(pasa_info);
hdr->l4_offset = PASAHO_LINFO_READ_L4_OFFSET(pasa_info);
#endif
if (ODP_DEBUG_PRINT == 1)
odp_packet_print(pkt);
}
uint8_t _pktio_pmr_out_cnt(odp_pktio_t pktio);
odp_pmr_t _pktio_pmr_default(odp_pktio_t pktio);
void _pktio_add_pmr_out(odp_pktio_t pktio, struct list_node *pmr_node);
void _pktio_rm_pmr_out(odp_pktio_t pktio, struct list_node *pmr_node);
odp_queue_t _pktio_inq_default(odp_pktio_t pktio);
odp_pool_t _pktio_in_pool(odp_pktio_t pktio);
int _pktio_rm_pmr_default(odp_pktio_t pktio);
void _pktio_lock(odp_pktio_t pktio);
void _pktio_unlock(odp_pktio_t pktio);
int _pktio_get(odp_pktio_t pktio);
void _pktio_put(odp_pktio_t pktio);
char *_pktio_name(odp_pktio_t pktio);
odp_pktio_input_mode_t _pktio_in_mode(odp_pktio_t pktio);
#endif
|