diff options
author | Maxim Uvarov <maxim.uvarov@linaro.org> | 2015-10-26 16:48:07 +0300 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2015-10-26 17:29:47 +0300 |
commit | 05e6b05273ba07ee3ab8e48f55a2cc972287cb2c (patch) | |
tree | 666ab0d0b1c850b525806ecec3a35b9292f22455 /platform/linux-generic/pktio/netmap.c | |
parent | 00af9c28e62d8eeea4f769c9e4b4a74184616086 (diff) | |
parent | 78872639460a3f454fa69a72f7ea5ab4c547a2b8 (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.c | 7 |
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; } |