aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/pktio/netmap.c
diff options
context:
space:
mode:
authorMaxim Uvarov <maxim.uvarov@linaro.org>2015-10-26 16:48:07 +0300
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-10-26 17:29:47 +0300
commit05e6b05273ba07ee3ab8e48f55a2cc972287cb2c (patch)
tree666ab0d0b1c850b525806ecec3a35b9292f22455 /platform/linux-generic/pktio/netmap.c
parent00af9c28e62d8eeea4f769c9e4b4a74184616086 (diff)
parent78872639460a3f454fa69a72f7ea5ab4c547a2b8 (diff)
Merge branch 'master' into api-next
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Conflicts: example/classifier/odp_classifier.c include/odp/api/config.h include/odp/api/cpu.h include/odp/api/cpumask.h include/odp/api/packet_io.h platform/linux-generic/Makefile.am platform/linux-generic/arch/linux/odp_cpu_cycles.c test/performance/odp_scheduling.c test/validation/classification/odp_classification_testsuites.h test/validation/system/system.c
Diffstat (limited to 'platform/linux-generic/pktio/netmap.c')
-rw-r--r--platform/linux-generic/pktio/netmap.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c
index ab4667e9c..ecda9c58a 100644
--- a/platform/linux-generic/pktio/netmap.c
+++ b/platform/linux-generic/pktio/netmap.c
@@ -168,6 +168,7 @@ static void netmap_recv_cb(u_char *arg, const struct nm_pkthdr *hdr,
struct dispatch_args *args = (struct dispatch_args *)arg;
pkt_netmap_t *pkt_nm = &args->pktio_entry->s.pkt_nm;
odp_packet_t pkt;
+ odp_packet_hdr_t *pkt_hdr;
size_t frame_len = (size_t)hdr->len;
if (odp_unlikely(frame_len > pkt_nm->max_frame_len)) {
@@ -181,10 +182,12 @@ static void netmap_recv_cb(u_char *arg, const struct nm_pkthdr *hdr,
return;
}
- pkt = odp_packet_alloc(pkt_nm->pool, frame_len);
+ pkt = packet_alloc(pkt_nm->pool, frame_len, 1);
if (pkt == ODP_PACKET_INVALID)
return;
+ pkt_hdr = odp_packet_hdr(pkt);
+
/* For now copy the data in the mbuf,
worry about zero-copy later */
if (odp_packet_copydata_in(pkt, 0, frame_len, buf) != 0) {
@@ -192,7 +195,7 @@ static void netmap_recv_cb(u_char *arg, const struct nm_pkthdr *hdr,
return;
}
- _odp_packet_reset_parse(pkt);
+ packet_parse_l2(pkt_hdr);
args->pkt_table[args->nb_rx++] = pkt;
}