aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/odp_packet_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linux-generic/odp_packet_io.c')
-rw-r--r--platform/linux-generic/odp_packet_io.c64
1 files changed, 32 insertions, 32 deletions
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c
index bd8bb58e8..a3a3f1c19 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -61,9 +61,9 @@ static inline pktio_entry_t *pktio_entry_by_index(int index)
return _odp_pktio_entry_ptr[index];
}
-static inline odp_buffer_hdr_t *packet_vector_to_buf_hdr(odp_packet_vector_t pktv)
+static inline _odp_event_hdr_t *packet_vector_to_event_hdr(odp_packet_vector_t pktv)
{
- return &_odp_packet_vector_hdr(pktv)->buf_hdr;
+ return (_odp_event_hdr_t *)(uintptr_t)&_odp_packet_vector_hdr(pktv)->event_hdr;
}
static int read_config_file(pktio_global_t *pktio_glb)
@@ -825,13 +825,13 @@ static inline odp_packet_vector_t packet_vector_create(odp_packet_t packets[], u
}
static inline int pktin_recv_buf(pktio_entry_t *entry, int pktin_index,
- odp_buffer_hdr_t *buffer_hdrs[], int num)
+ _odp_event_hdr_t *event_hdrs[], int num)
{
odp_packet_t pkt;
odp_packet_t packets[num];
odp_packet_hdr_t *pkt_hdr;
odp_pool_t pool = ODP_POOL_INVALID;
- odp_buffer_hdr_t *buf_hdr;
+ _odp_event_hdr_t *event_hdr;
int i, pkts, num_rx, num_ev, num_dst;
odp_queue_t cur_queue;
odp_event_t ev[num];
@@ -860,7 +860,7 @@ static inline int pktin_recv_buf(pktio_entry_t *entry, int pktin_index,
for (i = 0; i < pkts; i++) {
pkt = packets[i];
pkt_hdr = packet_hdr(pkt);
- buf_hdr = packet_to_buf_hdr(pkt);
+ event_hdr = packet_to_event_hdr(pkt);
if (odp_unlikely(pkt_hdr->p.input_flags.dst_queue)) {
/* Sort events for enqueue multi operation(s) based on CoS
@@ -888,7 +888,7 @@ static inline int pktin_recv_buf(pktio_entry_t *entry, int pktin_index,
num_ev++;
continue;
}
- buffer_hdrs[num_rx++] = buf_hdr;
+ event_hdrs[num_rx++] = event_hdr;
}
/* Optimization for the common case */
@@ -897,13 +897,13 @@ static inline int pktin_recv_buf(pktio_entry_t *entry, int pktin_index,
return num_rx;
/* Create packet vector */
- odp_packet_vector_t pktv = packet_vector_create((odp_packet_t *)buffer_hdrs,
+ odp_packet_vector_t pktv = packet_vector_create((odp_packet_t *)event_hdrs,
num_rx, pool);
if (odp_unlikely(pktv == ODP_PACKET_VECTOR_INVALID))
return 0;
- buffer_hdrs[0] = packet_vector_to_buf_hdr(pktv);
+ event_hdrs[0] = packet_vector_to_event_hdr(pktv);
return 1;
}
@@ -975,15 +975,15 @@ static inline int packet_vector_send(odp_pktout_queue_t pktout_queue, odp_event_
return 0;
}
-static int pktout_enqueue(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr)
+static int pktout_enqueue(odp_queue_t queue, _odp_event_hdr_t *event_hdr)
{
- odp_event_t event = odp_buffer_to_event(buf_from_buf_hdr(buf_hdr));
- odp_packet_t pkt = packet_from_buf_hdr(buf_hdr);
+ odp_event_t event = _odp_event_from_hdr(event_hdr);
+ odp_packet_t pkt = packet_from_event_hdr(event_hdr);
odp_pktout_queue_t pktout_queue;
int len = 1;
int nbr;
- if (_odp_sched_fn->ord_enq_multi(queue, (void **)buf_hdr, len, &nbr))
+ if (_odp_sched_fn->ord_enq_multi(queue, (void **)event_hdr, len, &nbr))
return (nbr == len ? 0 : -1);
pktout_queue = _odp_queue_fn->get_pktout(queue);
@@ -995,7 +995,7 @@ static int pktout_enqueue(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr)
return (nbr == len ? 0 : -1);
}
-static int pktout_enq_multi(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr[],
+static int pktout_enq_multi(odp_queue_t queue, _odp_event_hdr_t *event_hdr[],
int num)
{
odp_event_t event;
@@ -1005,18 +1005,18 @@ static int pktout_enq_multi(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr[],
int nbr;
int i;
- if (_odp_sched_fn->ord_enq_multi(queue, (void **)buf_hdr, num, &nbr))
+ if (_odp_sched_fn->ord_enq_multi(queue, (void **)event_hdr, num, &nbr))
return nbr;
for (i = 0; i < num; ++i) {
- event = odp_buffer_to_event(buf_from_buf_hdr(buf_hdr[i]));
+ event = _odp_event_from_hdr(event_hdr[i]);
if (odp_event_type(event) == ODP_EVENT_PACKET_VECTOR) {
have_pktv = 1;
break;
}
- pkt_tbl[i] = packet_from_buf_hdr(buf_hdr[i]);
+ pkt_tbl[i] = packet_from_event_hdr(event_hdr[i]);
}
pktout_queue = _odp_queue_fn->get_pktout(queue);
@@ -1025,13 +1025,13 @@ static int pktout_enq_multi(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr[],
return odp_pktout_send(pktout_queue, pkt_tbl, num);
for (i = 0; i < num; ++i) {
- event = odp_buffer_to_event(buf_from_buf_hdr(buf_hdr[i]));
+ event = _odp_event_from_hdr(event_hdr[i]);
if (odp_event_type(event) == ODP_EVENT_PACKET_VECTOR) {
if (odp_unlikely(packet_vector_send(pktout_queue, event)))
break;
} else {
- odp_packet_t pkt = packet_from_buf_hdr(buf_hdr[i]);
+ odp_packet_t pkt = packet_from_event_hdr(event_hdr[i]);
nbr = odp_pktout_send(pktout_queue, &pkt, 1);
if (odp_unlikely(nbr != 1))
@@ -1041,10 +1041,10 @@ static int pktout_enq_multi(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr[],
return i;
}
-static odp_buffer_hdr_t *pktin_dequeue(odp_queue_t queue)
+static _odp_event_hdr_t *pktin_dequeue(odp_queue_t queue)
{
- odp_buffer_hdr_t *buf_hdr;
- odp_buffer_hdr_t *hdr_tbl[QUEUE_MULTI_MAX];
+ _odp_event_hdr_t *event_hdr;
+ _odp_event_hdr_t *hdr_tbl[QUEUE_MULTI_MAX];
int pkts;
odp_pktin_queue_t pktin_queue = _odp_queue_fn->get_pktin(queue);
odp_pktio_t pktio = pktin_queue.pktio;
@@ -1053,8 +1053,8 @@ static odp_buffer_hdr_t *pktin_dequeue(odp_queue_t queue)
ODP_ASSERT(entry != NULL);
- if (_odp_queue_fn->orig_deq_multi(queue, &buf_hdr, 1) == 1)
- return buf_hdr;
+ if (_odp_queue_fn->orig_deq_multi(queue, &event_hdr, 1) == 1)
+ return event_hdr;
pkts = pktin_recv_buf(entry, pktin_index, hdr_tbl, QUEUE_MULTI_MAX);
@@ -1074,19 +1074,19 @@ static odp_buffer_hdr_t *pktin_dequeue(odp_queue_t queue)
ODP_DBG("Interface %s dropped %i packets\n",
entry->s.name, num - num_enq);
- _odp_buffer_free_multi(&hdr_tbl[num_enq + 1], num - num_enq);
+ _odp_event_free_multi(&hdr_tbl[num_enq + 1], num - num_enq);
}
}
- buf_hdr = hdr_tbl[0];
- return buf_hdr;
+ event_hdr = hdr_tbl[0];
+ return event_hdr;
}
-static int pktin_deq_multi(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr[],
+static int pktin_deq_multi(odp_queue_t queue, _odp_event_hdr_t *event_hdr[],
int num)
{
int nbr;
- odp_buffer_hdr_t *hdr_tbl[QUEUE_MULTI_MAX];
+ _odp_event_hdr_t *hdr_tbl[QUEUE_MULTI_MAX];
int pkts, i, j;
odp_pktin_queue_t pktin_queue = _odp_queue_fn->get_pktin(queue);
odp_pktio_t pktio = pktin_queue.pktio;
@@ -1095,7 +1095,7 @@ static int pktin_deq_multi(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr[],
ODP_ASSERT(entry != NULL);
- nbr = _odp_queue_fn->orig_deq_multi(queue, buf_hdr, num);
+ nbr = _odp_queue_fn->orig_deq_multi(queue, event_hdr, num);
if (odp_unlikely(nbr > num))
ODP_ABORT("queue_deq_multi req: %d, returned %d\n", num, nbr);
@@ -1111,7 +1111,7 @@ static int pktin_deq_multi(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr[],
return nbr;
for (i = 0; i < pkts && nbr < num; i++, nbr++)
- buf_hdr[nbr] = hdr_tbl[i];
+ event_hdr[nbr] = hdr_tbl[i];
/* Queue the rest for later */
for (j = 0; i < pkts; i++, j++)
@@ -1128,7 +1128,7 @@ static int pktin_deq_multi(odp_queue_t queue, odp_buffer_hdr_t *buf_hdr[],
ODP_DBG("Interface %s dropped %i packets\n",
entry->s.name, j - num_enq);
- _odp_buffer_free_multi(&buf_hdr[num_enq], j - num_enq);
+ _odp_event_free_multi(&event_hdr[num_enq], j - num_enq);
}
}
@@ -1225,7 +1225,7 @@ int _odp_sched_cb_pktin_poll_one(int pktio_index,
}
int _odp_sched_cb_pktin_poll(int pktio_index, int pktin_index,
- odp_buffer_hdr_t *hdr_tbl[], int num)
+ _odp_event_hdr_t *hdr_tbl[], int num)
{
pktio_entry_t *entry = pktio_entry_by_index(pktio_index);
int state = entry->s.state;