Message ID | 1409263329-26011-2-git-send-email-anders.roxell@linaro.org |
---|---|
State | New |
Headers | show |
> -----Original Message----- > From: lng-odp-bounces@lists.linaro.org [mailto:lng-odp- > bounces@lists.linaro.org] On Behalf Of ext Anders Roxell > Sent: Friday, August 29, 2014 1:02 AM > To: lng-odp@lists.linaro.org > Subject: [lng-odp] [PATCH 1/2] move helper functions and rename to prefix > to odph_ > > Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Acked-by: Petri Savolainen <petri.savolainen@linaro.org> > --- > .gitignore | 6 +- > configure.ac | 4 +- > doc/doxygen.cfg | 2 +- > example/Makefile.inc | 2 +- > example/generator/odp_generator.c | 142 ++++++++++------ > ---- > example/l2fwd/odp_l2fwd.c | 18 +-- > example/odp_example/odp_example.c | 10 +- > example/packet/odp_pktio.c | 28 ++-- > example/packet_netmap/odp_pktio_netmap.c | 32 ++--- > example/timer/odp_timer_test.c | 10 +- > .../odp_chksum.h => helper/include/odph_chksum.h | 0 > helper/include/odph_eth.h | 87 ++++++++++++ > .../odp_icmp.h => helper/include/odph_icmp.h | 12 +- > .../helper/odp_ip.h => helper/include/odph_ip.h | 70 +++++----- > .../odp_linux.h => helper/include/odph_linux.h | 6 +- > .../include/odph_packet_helper.h | 12 +- > .../odp_ring.h => helper/include/odph_ring.h | 98 +++++++------- > .../helper/odp_udp.h => helper/include/odph_udp.h | 32 ++--- > include/helper/odp_eth.h | 87 ------------ > platform/linux-dpdk/Makefile.am | 16 +-- > platform/linux-dpdk/include/odp_packet_dpdk.h | 4 +- > platform/linux-dpdk/odp_linux.c | 6 +- > platform/linux-dpdk/odp_packet.c | 86 ++++++------ > platform/linux-generic/Makefile.am | 16 +-- > platform/linux-generic/include/api/odp_align.h | 2 +- > platform/linux-generic/odp_crypto.c | 4 +- > platform/linux-generic/odp_linux.c | 8 +- > platform/linux-generic/odp_packet.c | 86 ++++++------ > platform/linux-generic/odp_packet_netmap.c | 20 +-- > platform/linux-generic/odp_packet_socket.c | 42 +++--- > platform/linux-generic/odp_ring.c | 146 +++++++++++----- > ----- > platform/linux-keystone2/Makefile.am | 16 +-- > platform/linux-keystone2/odp_packet.c | 86 ++++++------ > test/Makefile.inc | 2 +- > test/api_test/odp_atomic_test.h | 2 +- > test/api_test/odp_common.c | 10 +- > test/api_test/odp_ring_test.c | 76 +++++------ > test/api_test/odp_timer_ping.c | 12 +- > 38 files changed, 653 insertions(+), 645 deletions(-) > rename include/helper/odp_chksum.h => helper/include/odph_chksum.h (100%) > create mode 100644 helper/include/odph_eth.h > rename include/helper/odp_icmp.h => helper/include/odph_icmp.h (93%) > rename include/helper/odp_ip.h => helper/include/odph_ip.h (57%) > rename include/helper/odp_linux.h => helper/include/odph_linux.h (88%) > rename include/helper/odp_packet_helper.h => > helper/include/odph_packet_helper.h (83%) > rename include/helper/odp_ring.h => helper/include/odph_ring.h (87%) > rename include/helper/odp_udp.h => helper/include/odph_udp.h (74%) > delete mode 100644 include/helper/odp_eth.h > > diff --git a/.gitignore b/.gitignore > index 39c8d77..6a97f17 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -14,15 +14,15 @@ config.guess > config.sub > configure > depcomp > -include/config.h.in > install-sh > ltmain.sh > m4/*.m4 > missing > config.log > config.status > -include/config.h > -include/stamp-h1 > +helper/config.h.in > +helper/config.h > +helper/stamp-h1 > libtool > pkgconfig/libodp.pc > .deps/ > diff --git a/configure.ac b/configure.ac > index c9aac14..5574f82 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -1,8 +1,8 @@ > AC_PREREQ([2.5]) > AC_INIT([OpenDataPlane], [0.2], [lng-odp@lists.linaro.org]) > AM_INIT_AUTOMAKE([subdir-objects]) > -AC_CONFIG_SRCDIR([include/config.h.in]) > -AM_CONFIG_HEADER([include/config.h]) > +AC_CONFIG_SRCDIR([helper/config.h.in]) > +AM_CONFIG_HEADER([helper/config.h]) > > AC_USE_SYSTEM_EXTENSIONS > AC_SYS_LARGEFILE > diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg > index 939b237..5d1e191 100644 > --- a/doc/doxygen.cfg > +++ b/doc/doxygen.cfg > @@ -9,7 +9,7 @@ TYPEDEF_HIDES_STRUCT = YES > EXTRACT_STATIC = YES > SORT_MEMBER_DOCS = NO > WARN_NO_PARAMDOC = YES > -INPUT = $(SRCDIR)/doc $(SRCDIR)/doc/users-guide $(SRCDIR)/doc/api > $(SRCDIR)/platform/linux-generic/include/api $(SRCDIR)/include/helper > $(SRCDIR)/example > +INPUT = $(SRCDIR)/doc $(SRCDIR)/doc/users-guide $(SRCDIR)/doc/api > $(SRCDIR)/platform/linux-generic/include/api $(SRCDIR)/helper/include > $(SRCDIR)/example > FILE_PATTERNS = odp*.h odp*.c *.dox > RECURSIVE = YES > SOURCE_BROWSER = YES > diff --git a/example/Makefile.inc b/example/Makefile.inc > index b549001..4de2feb 100644 > --- a/example/Makefile.inc > +++ b/example/Makefile.inc > @@ -5,6 +5,6 @@ AM_CFLAGS += \ > -I$(srcdir) \ > -I$(top_srcdir)/platform/@with_platform@/include/api \ > -I$(top_srcdir)/platform/linux-generic/include/api \ > - -I$(top_srcdir)/include > + -I$(top_srcdir)/helper/include > > AM_LDFLAGS += -L$(LIB) > diff --git a/example/generator/odp_generator.c > b/example/generator/odp_generator.c > index 9fa9b37..70c0353 100644 > --- a/example/generator/odp_generator.c > +++ b/example/generator/odp_generator.c > @@ -18,12 +18,12 @@ > > #include <odp.h> > #include <odp_packet_io.h> > -#include <helper/odp_linux.h> > -#include <helper/odp_packet_helper.h> > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > -#include <helper/odp_udp.h> > -#include <helper/odp_icmp.h> > +#include <odph_linux.h> > +#include <odph_packet_helper.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > +#include <odph_udp.h> > +#include <odph_icmp.h> > > #define MAX_WORKERS 32 /**< max number of works */ > #define SHM_PKT_POOL_SIZE (512*2048) /**< pkt pool size */ > @@ -47,8 +47,8 @@ typedef struct { > int if_count; /**< Number of interfaces to be used */ > char **if_names; /**< Array of pointers to interface names */ > odp_buffer_pool_t pool; /**< Buffer pool for packet IO */ > - odp_ethaddr_t srcmac; /**< src mac addr */ > - odp_ethaddr_t dstmac; /**< dest mac addr */ > + odph_ethaddr_t srcmac; /**< src mac addr */ > + odph_ethaddr_t dstmac; /**< dest mac addr */ > unsigned int srcip; /**< src ip addr */ > unsigned int dstip; /**< dest ip addr */ > int mode; /**< work mode */ > @@ -94,7 +94,7 @@ static void parse_args(int argc, char *argv[], > appl_args_t *appl_args); > static void print_info(char *progname, appl_args_t *appl_args); > static void usage(char *progname); > static int scan_ip(char *buf, unsigned int *paddr); > -static int scan_mac(char *in, odp_ethaddr_t *des); > +static int scan_mac(char *in, odph_ethaddr_t *des); > static void tv_sub(struct timeval *recvtime, struct timeval *sendtime); > > /** > @@ -146,7 +146,7 @@ static int scan_ip(char *buf, unsigned int *paddr) > * @param des mac for odp_packet > * @return 1 success, 0 failed > */ > -static int scan_mac(char *in, odp_ethaddr_t *des) > +static int scan_mac(char *in, odph_ethaddr_t *des) > { > int field; > int i; > @@ -173,9 +173,9 @@ static void pack_udp_pkt(odp_buffer_t obuf) > char *buf; > int max; > odp_packet_t pkt; > - odp_ethhdr_t *eth; > - odp_ipv4hdr_t *ip; > - odp_udphdr_t *udp; > + odph_ethhdr_t *eth; > + odph_ipv4hdr_t *ip; > + odph_udphdr_t *udp; > unsigned short seq; > > buf = odp_buffer_addr(obuf); > @@ -188,33 +188,33 @@ static void pack_udp_pkt(odp_buffer_t obuf) > pkt = odp_packet_from_buffer(obuf); > /* ether */ > odp_packet_set_l2_offset(pkt, 0); > - eth = (odp_ethhdr_t *)buf; > - memcpy((char *)eth->src.addr, args->appl.srcmac.addr, > ODP_ETHADDR_LEN); > - memcpy((char *)eth->dst.addr, args->appl.dstmac.addr, > ODP_ETHADDR_LEN); > - eth->type = odp_cpu_to_be_16(ODP_ETHTYPE_IPV4); > + eth = (odph_ethhdr_t *)buf; > + memcpy((char *)eth->src.addr, args->appl.srcmac.addr, > ODPH_ETHADDR_LEN); > + memcpy((char *)eth->dst.addr, args->appl.dstmac.addr, > ODPH_ETHADDR_LEN); > + eth->type = odp_cpu_to_be_16(ODPH_ETHTYPE_IPV4); > /* ip */ > - odp_packet_set_l3_offset(pkt, ODP_ETHHDR_LEN); > - ip = (odp_ipv4hdr_t *)(buf + ODP_ETHHDR_LEN); > + odp_packet_set_l3_offset(pkt, ODPH_ETHHDR_LEN); > + ip = (odph_ipv4hdr_t *)(buf + ODPH_ETHHDR_LEN); > ip->dst_addr = odp_cpu_to_be_32(args->appl.dstip); > ip->src_addr = odp_cpu_to_be_32(args->appl.srcip); > - ip->ver_ihl = ODP_IPV4 << 4 | ODP_IPV4HDR_IHL_MIN; > - ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODP_UDPHDR_LEN + > - ODP_IPV4HDR_LEN); > - ip->proto = ODP_IPPROTO_UDP; > + ip->ver_ihl = ODPH_IPV4 << 4 | ODPH_IPV4HDR_IHL_MIN; > + ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODPH_UDPHDR_LEN > + > + ODPH_IPV4HDR_LEN); > + ip->proto = ODPH_IPPROTO_UDP; > seq = odp_atomic_fetch_add_u64(&counters.seq, 1) % 0xFFFF; > ip->id = odp_cpu_to_be_16(seq); > ip->chksum = 0; > - odp_ipv4_csum_update(pkt); > + odph_ipv4_csum_update(pkt); > /* udp */ > - odp_packet_set_l4_offset(pkt, ODP_ETHHDR_LEN + ODP_IPV4HDR_LEN); > - udp = (odp_udphdr_t *)(buf + ODP_ETHHDR_LEN + ODP_IPV4HDR_LEN); > + odp_packet_set_l4_offset(pkt, ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); > + udp = (odph_udphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); > udp->src_port = 0; > udp->dst_port = 0; > - udp->length = odp_cpu_to_be_16(args->appl.payload + ODP_UDPHDR_LEN); > + udp->length = odp_cpu_to_be_16(args->appl.payload + > ODPH_UDPHDR_LEN); > udp->chksum = 0; > - udp->chksum = odp_cpu_to_be_16(odp_ipv4_udp_chksum(pkt)); > - odp_packet_set_len(pkt, args->appl.payload + ODP_UDPHDR_LEN + > - ODP_IPV4HDR_LEN + ODP_ETHHDR_LEN); > + udp->chksum = odp_cpu_to_be_16(odph_ipv4_udp_chksum(pkt)); > + odp_packet_set_len(pkt, args->appl.payload + ODPH_UDPHDR_LEN + > + ODPH_IPV4HDR_LEN + ODPH_ETHHDR_LEN); > } > > /** > @@ -227,9 +227,9 @@ static void pack_icmp_pkt(odp_buffer_t obuf) > char *buf; > int max; > odp_packet_t pkt; > - odp_ethhdr_t *eth; > - odp_ipv4hdr_t *ip; > - odp_icmphdr_t *icmp; > + odph_ethhdr_t *eth; > + odph_ipv4hdr_t *ip; > + odph_icmphdr_t *icmp; > struct timeval tval; > uint8_t *tval_d; > unsigned short seq; > @@ -245,41 +245,41 @@ static void pack_icmp_pkt(odp_buffer_t obuf) > pkt = odp_packet_from_buffer(obuf); > /* ether */ > odp_packet_set_l2_offset(pkt, 0); > - eth = (odp_ethhdr_t *)buf; > - memcpy((char *)eth->src.addr, args->appl.srcmac.addr, > ODP_ETHADDR_LEN); > - memcpy((char *)eth->dst.addr, args->appl.dstmac.addr, > ODP_ETHADDR_LEN); > - eth->type = odp_cpu_to_be_16(ODP_ETHTYPE_IPV4); > + eth = (odph_ethhdr_t *)buf; > + memcpy((char *)eth->src.addr, args->appl.srcmac.addr, > ODPH_ETHADDR_LEN); > + memcpy((char *)eth->dst.addr, args->appl.dstmac.addr, > ODPH_ETHADDR_LEN); > + eth->type = odp_cpu_to_be_16(ODPH_ETHTYPE_IPV4); > /* ip */ > - odp_packet_set_l3_offset(pkt, ODP_ETHHDR_LEN); > - ip = (odp_ipv4hdr_t *)(buf + ODP_ETHHDR_LEN); > + odp_packet_set_l3_offset(pkt, ODPH_ETHHDR_LEN); > + ip = (odph_ipv4hdr_t *)(buf + ODPH_ETHHDR_LEN); > ip->dst_addr = odp_cpu_to_be_32(args->appl.dstip); > ip->src_addr = odp_cpu_to_be_32(args->appl.srcip); > - ip->ver_ihl = ODP_IPV4 << 4 | ODP_IPV4HDR_IHL_MIN; > - ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODP_ICMPHDR_LEN > + > - ODP_IPV4HDR_LEN); > - ip->proto = ODP_IPPROTO_ICMP; > + ip->ver_ihl = ODPH_IPV4 << 4 | ODPH_IPV4HDR_IHL_MIN; > + ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODPH_ICMPHDR_LEN > + > + ODPH_IPV4HDR_LEN); > + ip->proto = ODPH_IPPROTO_ICMP; > seq = odp_atomic_fetch_add_u64(&counters.seq, 1) % 0xffff; > ip->id = odp_cpu_to_be_16(seq); > ip->chksum = 0; > - odp_ipv4_csum_update(pkt); > + odph_ipv4_csum_update(pkt); > /* icmp */ > - icmp = (odp_icmphdr_t *)(buf + ODP_ETHHDR_LEN + ODP_IPV4HDR_LEN); > + icmp = (odph_icmphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); > icmp->type = ICMP_ECHO; > icmp->code = 0; > icmp->un.echo.id = 0; > icmp->un.echo.sequence = ip->id; > - tval_d = (uint8_t *)(buf + ODP_ETHHDR_LEN + ODP_IPV4HDR_LEN + > - ODP_ICMPHDR_LEN); > + tval_d = (uint8_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN + > + ODPH_ICMPHDR_LEN); > /* TODO This should be changed to use an > * ODP timer API once one exists. */ > gettimeofday(&tval, NULL); > memcpy(tval_d, &tval, sizeof(struct timeval)); > icmp->chksum = 0; > icmp->chksum = odp_chksum(icmp, args->appl.payload + > - ODP_ICMPHDR_LEN); > + ODPH_ICMPHDR_LEN); > > - odp_packet_set_len(pkt, args->appl.payload + ODP_ICMPHDR_LEN + > - ODP_IPV4HDR_LEN + ODP_ETHHDR_LEN); > + odp_packet_set_len(pkt, args->appl.payload + ODPH_ICMPHDR_LEN + > + ODPH_IPV4HDR_LEN + ODPH_ETHHDR_LEN); > } > > /** > @@ -380,9 +380,9 @@ static void print_pkts(int thr, odp_packet_t > pkt_tbl[], unsigned len) > { > odp_packet_t pkt; > char *buf; > - odp_ipv4hdr_t *ip; > - odp_udphdr_t *udp; > - odp_icmphdr_t *icmp; > + odph_ipv4hdr_t *ip; > + odph_udphdr_t *udp; > + odph_icmphdr_t *icmp; > struct timeval tvrecv; > struct timeval tvsend; > double rtt; > @@ -401,27 +401,27 @@ static void print_pkts(int thr, odp_packet_t > pkt_tbl[], unsigned len) > odp_atomic_inc_u64(&counters.ip); > rlen += sprintf(msg, "receive Packet proto:IP "); > buf = odp_buffer_addr(odp_buffer_from_packet(pkt)); > - ip = (odp_ipv4hdr_t *)(buf + odp_packet_l3_offset(pkt)); > + ip = (odph_ipv4hdr_t *)(buf + odp_packet_l3_offset(pkt)); > rlen += sprintf(msg + rlen, "id %d ", > odp_be_to_cpu_16(ip->id)); > offset = odp_packet_l4_offset(pkt); > > /* udp */ > - if (ip->proto == ODP_IPPROTO_UDP) { > + if (ip->proto == ODPH_IPPROTO_UDP) { > odp_atomic_inc_u64(&counters.udp); > - udp = (odp_udphdr_t *)(buf + offset); > + udp = (odph_udphdr_t *)(buf + offset); > rlen += sprintf(msg + rlen, "UDP payload %d ", > odp_be_to_cpu_16(udp->length) - > - ODP_UDPHDR_LEN); > + ODPH_UDPHDR_LEN); > } > > /* icmp */ > - if (ip->proto == ODP_IPPROTO_ICMP) { > - icmp = (odp_icmphdr_t *)(buf + offset); > + if (ip->proto == ODPH_IPPROTO_ICMP) { > + icmp = (odph_icmphdr_t *)(buf + offset); > /* echo reply */ > if (icmp->type == ICMP_ECHOREPLY) { > odp_atomic_inc_u64(&counters.icmp); > - memcpy(&tvsend, buf + offset + ODP_ICMPHDR_LEN, > + memcpy(&tvsend, buf + offset + ODPH_ICMPHDR_LEN, > sizeof(struct timeval)); > /* TODO This should be changed to use an > * ODP timer API once one exists. */ > @@ -499,13 +499,13 @@ static void *gen_recv_thread(void *arg) > pkt = odp_packet_from_buffer(buf); > /* Drop packets with errors */ > if (odp_unlikely(odp_packet_error(pkt))) { > - odp_packet_free(pkt); > + odph_packet_free(pkt); > continue; > } > > print_pkts(thr, &pkt, 1); > > - odp_packet_free(pkt); > + odph_packet_free(pkt); > } > > return arg; > @@ -515,7 +515,7 @@ static void *gen_recv_thread(void *arg) > */ > int main(int argc, char *argv[]) > { > - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; > + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; > odp_buffer_pool_t pool; > int thr_id; > int num_workers; > @@ -606,14 +606,14 @@ int main(int argc, char *argv[]) > args->thread[1].pktio_dev = args->appl.if_names[0]; > args->thread[1].pool = pool; > args->thread[1].mode = args->appl.mode; > - odp_linux_pthread_create(&thread_tbl[1], 1, 0, > - gen_recv_thread, &args->thread[1]); > + odph_linux_pthread_create(&thread_tbl[1], 1, 0, > + gen_recv_thread, &args->thread[1]); > > args->thread[0].pktio_dev = args->appl.if_names[0]; > args->thread[0].pool = pool; > args->thread[0].mode = args->appl.mode; > - odp_linux_pthread_create(&thread_tbl[0], 1, 0, > - gen_send_thread, &args->thread[0]); > + odph_linux_pthread_create(&thread_tbl[0], 1, 0, > + gen_send_thread, &args->thread[0]); > > /* only wait send thread to join */ > num_workers = 1; > @@ -644,14 +644,14 @@ int main(int argc, char *argv[]) > * because each thread might get different arguments. > * Calls odp_thread_create(cpu) for each thread > */ > - odp_linux_pthread_create(&thread_tbl[i], 1, > - core, thr_run_func, > - &args->thread[i]); > + odph_linux_pthread_create(&thread_tbl[i], 1, > + core, thr_run_func, > + &args->thread[i]); > } > } > > /* Master thread waits for other threads to exit */ > - odp_linux_pthread_join(thread_tbl, num_workers); > + odph_linux_pthread_join(thread_tbl, num_workers); > printf("Exit\n\n"); > > return 0; > diff --git a/example/l2fwd/odp_l2fwd.c b/example/l2fwd/odp_l2fwd.c > index d74449a..beefdd3 100644 > --- a/example/l2fwd/odp_l2fwd.c > +++ b/example/l2fwd/odp_l2fwd.c > @@ -16,10 +16,10 @@ > #include <unistd.h> > > #include <odp.h> > -#include <helper/odp_linux.h> > -#include <helper/odp_packet_helper.h> > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > +#include <odph_linux.h> > +#include <odph_packet_helper.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > > /** @def MAX_WORKERS > * @brief Maximum number of worker threads > @@ -313,7 +313,7 @@ static void *pktio_ifburst_thread(void *arg) > */ > int main(int argc, char *argv[]) > { > - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; > + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; > odp_buffer_pool_t pool; > int thr_id; > void *pool_base; > @@ -446,12 +446,12 @@ int main(int argc, char *argv[]) > thr_run_func = pktio_ifburst_thread; > else /* APPL_MODE_PKT_QUEUE */ > thr_run_func = pktio_queue_thread; > - odp_linux_pthread_create(&thread_tbl[i], 1, core, > thr_run_func, > - &gbl_args->thread[i]); > + odph_linux_pthread_create(&thread_tbl[i], 1, core, > thr_run_func, > + &gbl_args->thread[i]); > } > > /* Master thread waits for other threads to exit */ > - odp_linux_pthread_join(thread_tbl, num_workers); > + odph_linux_pthread_join(thread_tbl, num_workers); > > printf("Exit\n\n"); > > @@ -479,7 +479,7 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], > unsigned len) > pkt = pkt_tbl[i]; > > if (odp_unlikely(odp_packet_error(pkt))) { > - odp_packet_free(pkt); /* Drop */ > + odph_packet_free(pkt); /* Drop */ > pkt_cnt--; > } else if (odp_unlikely(i != j++)) { > pkt_tbl[j-1] = pkt; > diff --git a/example/odp_example/odp_example.c > b/example/odp_example/odp_example.c > index f0bdf29..40d237b 100644 > --- a/example/odp_example/odp_example.c > +++ b/example/odp_example/odp_example.c > @@ -17,7 +17,7 @@ > #include <odp.h> > > /* ODP helper for Linux apps */ > -#include <helper/odp_linux.h> > +#include <odph_linux.h> > > /* Needs librt*/ > #include <time.h> > @@ -933,7 +933,7 @@ static void parse_args(int argc, char *argv[], > test_args_t *args) > */ > int main(int argc, char *argv[]) > { > - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; > + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; > test_args_t args; > int thr_id; > int num_workers; > @@ -1067,11 +1067,11 @@ int main(int argc, char *argv[]) > odp_barrier_init_count(&test_barrier, num_workers); > > /* Create and launch worker threads */ > - odp_linux_pthread_create(thread_tbl, num_workers, first_core, > - run_thread, NULL); > + odph_linux_pthread_create(thread_tbl, num_workers, first_core, > + run_thread, NULL); > > /* Wait for worker threads to exit */ > - odp_linux_pthread_join(thread_tbl, num_workers); > + odph_linux_pthread_join(thread_tbl, num_workers); > > printf("ODP example complete\n\n"); > > diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c > index f247bd0..308b115 100644 > --- a/example/packet/odp_pktio.c > +++ b/example/packet/odp_pktio.c > @@ -16,10 +16,10 @@ > #include <unistd.h> > > #include <odp.h> > -#include <helper/odp_linux.h> > -#include <helper/odp_packet_helper.h> > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > +#include <odph_linux.h> > +#include <odph_packet_helper.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > > /** @def MAX_WORKERS > * @brief Maximum number of worker threads > @@ -301,7 +301,7 @@ static void *pktio_ifburst_thread(void *arg) > */ > int main(int argc, char *argv[]) > { > - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; > + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; > odp_buffer_pool_t pool; > int thr_id; > int num_workers; > @@ -401,12 +401,12 @@ int main(int argc, char *argv[]) > * because each thread might get different arguments. > * Calls odp_thread_create(cpu) for each thread > */ > - odp_linux_pthread_create(&thread_tbl[i], 1, core, > thr_run_func, > - &args->thread[i]); > + odph_linux_pthread_create(&thread_tbl[i], 1, core, > thr_run_func, > + &args->thread[i]); > } > > /* Master thread waits for other threads to exit */ > - odp_linux_pthread_join(thread_tbl, num_workers); > + odph_linux_pthread_join(thread_tbl, num_workers); > > printf("Exit\n\n"); > > @@ -434,7 +434,7 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], > unsigned len) > pkt = pkt_tbl[i]; > > if (odp_unlikely(odp_packet_error(pkt))) { > - odp_packet_free(pkt); /* Drop */ > + odph_packet_free(pkt); /* Drop */ > pkt_cnt--; > } else if (odp_unlikely(i != j++)) { > pkt_tbl[j-1] = pkt; > @@ -454,16 +454,16 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], > unsigned len) > static void swap_pkt_addrs(odp_packet_t pkt_tbl[], unsigned len) > { > odp_packet_t pkt; > - odp_ethhdr_t *eth; > - odp_ethaddr_t tmp_addr; > - odp_ipv4hdr_t *ip; > + odph_ethhdr_t *eth; > + odph_ethaddr_t tmp_addr; > + odph_ipv4hdr_t *ip; > uint32be_t ip_tmp_addr; /* tmp ip addr */ > unsigned i; > > for (i = 0; i < len; ++i) { > pkt = pkt_tbl[i]; > if (odp_packet_inflag_eth(pkt)) { > - eth = (odp_ethhdr_t *)odp_packet_l2(pkt); > + eth = (odph_ethhdr_t *)odp_packet_l2(pkt); > > tmp_addr = eth->dst; > eth->dst = eth->src; > @@ -471,7 +471,7 @@ static void swap_pkt_addrs(odp_packet_t pkt_tbl[], > unsigned len) > > if (odp_packet_inflag_ipv4(pkt)) { > /* IPv4 */ > - ip = (odp_ipv4hdr_t *)odp_packet_l3(pkt); > + ip = (odph_ipv4hdr_t *)odp_packet_l3(pkt); > > ip_tmp_addr = ip->src_addr; > ip->src_addr = ip->dst_addr; > diff --git a/example/packet_netmap/odp_pktio_netmap.c > b/example/packet_netmap/odp_pktio_netmap.c > index c0eb202..d3699f7 100644 > --- a/example/packet_netmap/odp_pktio_netmap.c > +++ b/example/packet_netmap/odp_pktio_netmap.c > @@ -21,11 +21,11 @@ > #include <arpa/inet.h> > > #include <odp.h> > -#include <helper/odp_linux.h> > -#include <helper/odp_packet_helper.h> > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > -#include <helper/odp_packet_helper.h> > +#include <odph_linux.h> > +#include <odph_packet_helper.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > +#include <odph_packet_helper.h> > > #include <odp_pktio_netmap.h> > > @@ -194,7 +194,7 @@ static void *pktio_queue_thread(void *arg) > > if (odp_packet_copy(pkt_copy, pkt) != 0) { > ODP_ERR("Packet copy failed!\n"); > - odp_packet_free(pkt_copy); > + odph_packet_free(pkt_copy); > } else { > swap_pkt_addrs(&pkt_copy, 1); > odp_queue_enq(outq_def, > @@ -219,7 +219,7 @@ static void *pktio_queue_thread(void *arg) > */ > int main(int argc, char *argv[]) > { > - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; > + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; > odp_buffer_pool_t pool; > int thr_id; > int num_workers; > @@ -360,12 +360,12 @@ int main(int argc, char *argv[]) > * Create threads one-by-one instead of all-at-once, > * because each thread might get different arguments > */ > - odp_linux_pthread_create(&thread_tbl[i], 1, i, > - pktio_queue_thread, NULL); > + odph_linux_pthread_create(&thread_tbl[i], 1, i, > + pktio_queue_thread, NULL); > } > > /* Master thread waits for other threads to exit */ > - odp_linux_pthread_join(thread_tbl, num_workers); > + odph_linux_pthread_join(thread_tbl, num_workers); > > printf("Exit\n\n"); > > @@ -393,7 +393,7 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], > unsigned len) > pkt = pkt_tbl[i]; > > if (odp_unlikely(odp_packet_error(pkt))) { > - odp_packet_free(pkt); /* Drop */ > + odph_packet_free(pkt); /* Drop */ > pkt_cnt--; > } else if (odp_unlikely(i != j++)) { > pkt_tbl[j-1] = pkt; > @@ -412,16 +412,16 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], > unsigned len) > static void swap_pkt_addrs(odp_packet_t pkt_tbl[], unsigned len) > { > odp_packet_t pkt; > - odp_ethhdr_t *eth; > - odp_ethaddr_t tmp_addr; > - odp_ipv4hdr_t *ip; > + odph_ethhdr_t *eth; > + odph_ethaddr_t tmp_addr; > + odph_ipv4hdr_t *ip; > uint32be_t ip_tmp_addr; /* tmp ip addr */ > unsigned i; > > for (i = 0; i < len; ++i) { > pkt = pkt_tbl[i]; > if (odp_packet_inflag_eth(pkt)) { > - eth = (odp_ethhdr_t *)odp_packet_l2(pkt); > + eth = (odph_ethhdr_t *)odp_packet_l2(pkt); > > tmp_addr = eth->dst; > eth->dst = eth->src; > @@ -429,7 +429,7 @@ static void swap_pkt_addrs(odp_packet_t pkt_tbl[], > unsigned len) > > if (odp_packet_inflag_ipv4(pkt)) { > /* IPv4 */ > - ip = (odp_ipv4hdr_t *)odp_packet_l3(pkt); > + ip = (odph_ipv4hdr_t *)odp_packet_l3(pkt); > > ip_tmp_addr = ip->src_addr; > ip->src_addr = ip->dst_addr; > diff --git a/example/timer/odp_timer_test.c > b/example/timer/odp_timer_test.c > index bf1d7df..4168856 100644 > --- a/example/timer/odp_timer_test.c > +++ b/example/timer/odp_timer_test.c > @@ -17,7 +17,7 @@ > #include <odp.h> > > /* ODP helper for Linux apps */ > -#include <helper/odp_linux.h> > +#include <odph_linux.h> > > /* GNU lib C */ > #include <getopt.h> > @@ -242,7 +242,7 @@ static void parse_args(int argc, char *argv[], > test_args_t *args) > */ > int main(int argc, char *argv[]) > { > - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; > + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; > test_args_t args; > int thr_id; > int num_workers; > @@ -373,11 +373,11 @@ int main(int argc, char *argv[]) > odp_barrier_init_count(&test_barrier, num_workers); > > /* Create and launch worker threads */ > - odp_linux_pthread_create(thread_tbl, num_workers, first_core, > - run_thread, &args); > + odph_linux_pthread_create(thread_tbl, num_workers, first_core, > + run_thread, &args); > > /* Wait for worker threads to exit */ > - odp_linux_pthread_join(thread_tbl, num_workers); > + odph_linux_pthread_join(thread_tbl, num_workers); > > printf("ODP timer test complete\n\n"); > > diff --git a/include/helper/odp_chksum.h b/helper/include/odph_chksum.h > similarity index 100% > rename from include/helper/odp_chksum.h > rename to helper/include/odph_chksum.h > diff --git a/helper/include/odph_eth.h b/helper/include/odph_eth.h > new file mode 100644 > index 0000000..55a2b1e > --- /dev/null > +++ b/helper/include/odph_eth.h > @@ -0,0 +1,87 @@ > +/* Copyright (c) 2014, Linaro Limited > + * All rights reserved. > + * > + * SPDX-License-Identifier: BSD-3-Clause > + */ > + > + > +/** > + * @file > + * > + * ODP ethernet header > + */ > + > +#ifndef ODPH_ETH_H_ > +#define ODPH_ETH_H_ > + > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +#include <odp_std_types.h> > +#include <odp_byteorder.h> > +#include <odp_align.h> > +#include <odp_debug.h> > + > +#define ODPH_ETHADDR_LEN 6 /**< Ethernet address length */ > +#define ODPH_ETHHDR_LEN 14 /**< Ethernet header length */ > +#define ODPH_VLANHDR_LEN 4 /**< VLAN header length */ > +#define ODPH_ETH_LEN_MIN 60 /**< Min frame length (excl. CRC 4 > bytes) */ > +#define ODPH_ETH_LEN_MIN_CRC 64 /**< Min frame length (incl. CRC 4 > bytes) */ > +#define ODPH_ETH_LEN_MAX 1514 /**< Max frame length (excl. CRC 4 > bytes) */ > +#define ODPH_ETH_LEN_MAX_CRC 1518 /**< Max frame length (incl. CRC 4 > bytes) */ > + > +/** > + * Ethernet MAC address > + */ > +typedef struct ODPH_PACKED { > + uint8_t addr[ODPH_ETHADDR_LEN]; /**< @private Address */ > +} odph_ethaddr_t; > + > +/** @internal Compile time assert */ > +ODP_STATIC_ASSERT(sizeof(odph_ethaddr_t) == ODPH_ETHADDR_LEN, > "ODPH_ETHADDR_T__SIZE_ERROR"); > + > +/** > + * Ethernet header > + */ > +typedef struct ODPH_PACKED { > + odph_ethaddr_t dst; /**< Destination address */ > + odph_ethaddr_t src; /**< Source address */ > + uint16be_t type; /**< Type */ > +} odph_ethhdr_t; > + > +/** @internal Compile time assert */ > +ODP_STATIC_ASSERT(sizeof(odph_ethhdr_t) == ODPH_ETHHDR_LEN, > "ODPH_ETHHDR_T__SIZE_ERROR"); > + > +/** > + * VLAN header > + * > + * @todo Check usage of tpid vs ethertype. Check outer VLAN TPID. > + */ > +typedef struct ODPH_PACKED { > + uint16be_t tpid; /**< Tag protocol ID (located after ethhdr.src) > */ > + uint16be_t tci; /**< Priority / CFI / VLAN ID */ > +} odph_vlanhdr_t; > + > +/** @internal Compile time assert */ > +ODP_STATIC_ASSERT(sizeof(odph_vlanhdr_t) == ODPH_VLANHDR_LEN, > "ODPH_VLANHDR_T__SIZE_ERROR"); > + > + > +/* Ethernet header Ether Type ('type') values, a selected few */ > +#define ODPH_ETHTYPE_IPV4 0x0800 /**< Internet Protocol version 4 > */ > +#define ODPH_ETHTYPE_ARP 0x0806 /**< Address Resolution Protocol > */ > +#define ODPH_ETHTYPE_RARP 0x8035 /**< Reverse Address Resolution > Protocol*/ > +#define ODPH_ETHTYPE_VLAN 0x8100 /**< VLAN-tagged frame IEEE 802.1Q > */ > +#define ODPH_ETHTYPE_VLAN_OUTER 0x88A8 /**< Stacked VLANs/QinQ, outer- > tag/S-TAG*/ > +#define ODPH_ETHTYPE_IPV6 0x86dd /**< Internet Protocol version 6 > */ > +#define ODPH_ETHTYPE_FLOW_CTRL 0x8808 /**< Ethernet flow control */ > +#define ODPH_ETHTYPE_MPLS 0x8847 /**< MPLS unicast */ > +#define ODPH_ETHTYPE_MPLS_MCAST 0x8848 /**< MPLS multicast */ > +#define ODPH_ETHTYPE_MACSEC 0x88E5 /**< MAC security IEEE 802.1AE */ > +#define ODPH_ETHTYPE_1588 0x88F7 /**< Precision Time Protocol IEEE > 1588 */ > + > +#ifdef __cplusplus > +} > +#endif > + > +#endif > diff --git a/include/helper/odp_icmp.h b/helper/include/odph_icmp.h > similarity index 93% > rename from include/helper/odp_icmp.h > rename to helper/include/odph_icmp.h > index 5ac88b9..8414d7e 100644 > --- a/include/helper/odp_icmp.h > +++ b/helper/include/odph_icmp.h > @@ -11,8 +11,8 @@ > * ODP ICMP header > */ > > -#ifndef ODP_ICMP_H_ > -#define ODP_ICMP_H_ > +#ifndef ODPH_ICMP_H_ > +#define ODPH_ICMP_H_ > > #ifdef __cplusplus > extern "C" { > @@ -23,10 +23,10 @@ extern "C" { > #include <odp_byteorder.h> > > /** ICMP header length */ > -#define ODP_ICMPHDR_LEN 8 > +#define ODPH_ICMPHDR_LEN 8 > > /** ICMP header */ > -typedef struct ODP_PACKED { > +typedef struct ODPH_PACKED { > uint8_t type; /**< message type */ > uint8_t code; /**< type sub-code */ > uint16sum_t chksum; /**< checksum of icmp header */ > @@ -41,7 +41,7 @@ typedef struct ODP_PACKED { > uint16be_t mtu; > } frag; /**< path mtu discovery */ > } un; /**< icmp sub header */ > -} odp_icmphdr_t; > +} odph_icmphdr_t; > > #define ICMP_ECHOREPLY 0 /**< Echo Reply */ > #define ICMP_DEST_UNREACH 3 /**< Destination Unreachable */ > @@ -90,7 +90,7 @@ typedef struct ODP_PACKED { > exceeded*/ > > /** @internal Compile time assert */ > -ODP_STATIC_ASSERT(sizeof(odp_icmphdr_t) == ODP_ICMPHDR_LEN, > "ODP_ICMPHDR_T__SIZE_ERROR"); > +ODP_STATIC_ASSERT(sizeof(odph_icmphdr_t) == ODPH_ICMPHDR_LEN, > "ODPH_ICMPHDR_T__SIZE_ERROR"); > > #ifdef __cplusplus > } > diff --git a/include/helper/odp_ip.h b/helper/include/odph_ip.h > similarity index 57% > rename from include/helper/odp_ip.h > rename to helper/include/odph_ip.h > index fb04e4d..ca71c44 100644 > --- a/include/helper/odp_ip.h > +++ b/helper/include/odph_ip.h > @@ -11,8 +11,8 @@ > * ODP IP header > */ > > -#ifndef ODP_IP_H_ > -#define ODP_IP_H_ > +#ifndef ODPH_IP_H_ > +#define ODPH_IP_H_ > > #ifdef __cplusplus > extern "C" { > @@ -21,34 +21,34 @@ extern "C" { > #include <odp_align.h> > #include <odp_debug.h> > #include <odp_byteorder.h> > -#include <helper/odp_chksum.h> > +#include <odph_chksum.h> > > #include <string.h> > > -#define ODP_IPV4 4 /**< IP version 4 */ > -#define ODP_IPV4HDR_LEN 20 /**< Min length of IP header (no options) > */ > -#define ODP_IPV4HDR_IHL_MIN 5 /**< Minimum IHL value*/ > +#define ODPH_IPV4 4 /**< IP version 4 */ > +#define ODPH_IPV4HDR_LEN 20 /**< Min length of IP header (no > options) */ > +#define ODPH_IPV4HDR_IHL_MIN 5 /**< Minimum IHL value*/ > > /** @internal Returns IPv4 version */ > -#define ODP_IPV4HDR_VER(ver_ihl) (((ver_ihl) & 0xf0) >> 4) > +#define ODPH_IPV4HDR_VER(ver_ihl) (((ver_ihl) & 0xf0) >> 4) > > /** @internal Returns IPv4 header length */ > -#define ODP_IPV4HDR_IHL(ver_ihl) ((ver_ihl) & 0x0f) > +#define ODPH_IPV4HDR_IHL(ver_ihl) ((ver_ihl) & 0x0f) > > /** @internal Returns IPv4 Don't fragment */ > -#define ODP_IPV4HDR_FLAGS_DONT_FRAG(frag_offset) ((frag_offset) & > 0x4000) > +#define ODPH_IPV4HDR_FLAGS_DONT_FRAG(frag_offset) ((frag_offset) & > 0x4000) > > /** @internal Returns IPv4 more fragments */ > -#define ODP_IPV4HDR_FLAGS_MORE_FRAGS(frag_offset) ((frag_offset) & > 0x2000) > +#define ODPH_IPV4HDR_FLAGS_MORE_FRAGS(frag_offset) ((frag_offset) & > 0x2000) > > /** @internal Returns IPv4 fragment offset */ > -#define ODP_IPV4HDR_FRAG_OFFSET(frag_offset) ((frag_offset) & 0x1fff) > +#define ODPH_IPV4HDR_FRAG_OFFSET(frag_offset) ((frag_offset) & 0x1fff) > > /** @internal Returns true if IPv4 packet is a fragment */ > -#define ODP_IPV4HDR_IS_FRAGMENT(frag_offset) ((frag_offset) & 0x3fff) > +#define ODPH_IPV4HDR_IS_FRAGMENT(frag_offset) ((frag_offset) & 0x3fff) > > /** IPv4 header */ > -typedef struct ODP_PACKED { > +typedef struct ODPH_PACKED { > uint8_t ver_ihl; /**< Version / Header length */ > uint8_t tos; /**< Type of service */ > uint16be_t tot_len; /**< Total length */ > @@ -59,10 +59,10 @@ typedef struct ODP_PACKED { > uint16sum_t chksum; /**< Checksum */ > uint32be_t src_addr; /**< Source address */ > uint32be_t dst_addr; /**< Destination address */ > -} odp_ipv4hdr_t; > +} odph_ipv4hdr_t; > > /** @internal Compile time assert */ > -ODP_STATIC_ASSERT(sizeof(odp_ipv4hdr_t) == ODP_IPV4HDR_LEN, > "ODP_IPV4HDR_T__SIZE_ERROR"); > +ODP_STATIC_ASSERT(sizeof(odph_ipv4hdr_t) == ODPH_IPV4HDR_LEN, > "ODPH_IPV4HDR_T__SIZE_ERROR"); > > /** > * Check if IPv4 checksum is valid > @@ -71,18 +71,18 @@ ODP_STATIC_ASSERT(sizeof(odp_ipv4hdr_t) == > ODP_IPV4HDR_LEN, "ODP_IPV4HDR_T__SIZE > * > * @return 1 if checksum is valid, otherwise 0 > */ > -static inline int odp_ipv4_csum_valid(odp_packet_t pkt) > +static inline int odph_ipv4_csum_valid(odp_packet_t pkt) > { > uint16be_t res = 0; > uint16_t *w; > - int nleft = sizeof(odp_ipv4hdr_t); > - odp_ipv4hdr_t ip; > + int nleft = sizeof(odph_ipv4hdr_t); > + odph_ipv4hdr_t ip; > uint16be_t chksum; > > if (!odp_packet_l3_offset(pkt)) > return 0; > > - memcpy(&ip, odp_packet_l3(pkt), sizeof(odp_ipv4hdr_t)); > + memcpy(&ip, odp_packet_l3(pkt), sizeof(odph_ipv4hdr_t)); > w = (uint16_t *)(void *)&ip; > chksum = ip.chksum; > ip.chksum = 0x0; > @@ -101,52 +101,52 @@ static inline int odp_ipv4_csum_valid(odp_packet_t > pkt) > * > * @return IPv4 checksum in host cpu order, or 0 on failure > */ > -static inline uint16sum_t odp_ipv4_csum_update(odp_packet_t pkt) > +static inline uint16sum_t odph_ipv4_csum_update(odp_packet_t pkt) > { > uint16_t *w; > - odp_ipv4hdr_t *ip; > - int nleft = sizeof(odp_ipv4hdr_t); > + odph_ipv4hdr_t *ip; > + int nleft = sizeof(odph_ipv4hdr_t); > > if (!odp_packet_l3_offset(pkt)) > return 0; > > - ip = (odp_ipv4hdr_t *)odp_packet_l3(pkt); > + ip = (odph_ipv4hdr_t *)odp_packet_l3(pkt); > w = (uint16_t *)(void *)ip; > ip->chksum = odp_chksum(w, nleft); > return ip->chksum; > } > > /** IPv6 version */ > -#define ODP_IPV6 6 > +#define ODPH_IPV6 6 > > /** IPv6 header length */ > -#define ODP_IPV6HDR_LEN 40 > +#define ODPH_IPV6HDR_LEN 40 > > /** > * IPv6 header > */ > -typedef struct ODP_PACKED { > +typedef struct ODPH_PACKED { > uint32be_t ver_tc_flow; /**< Version / Traffic class / Flow label > */ > uint16be_t payload_len; /**< Payload length */ > uint8_t next_hdr; /**< Next header */ > uint8_t hop_limit; /**< Hop limit */ > uint8_t src_addr[16]; /**< Source address */ > uint8_t dst_addr[16]; /**< Destination address */ > -} odp_ipv6hdr_t; > +} odph_ipv6hdr_t; > > /** @internal Compile time assert */ > -ODP_STATIC_ASSERT(sizeof(odp_ipv6hdr_t) == ODP_IPV6HDR_LEN, > "ODP_IPV6HDR_T__SIZE_ERROR"); > +ODP_STATIC_ASSERT(sizeof(odph_ipv6hdr_t) == ODPH_IPV6HDR_LEN, > "ODPH_IPV6HDR_T__SIZE_ERROR"); > > /** @name > * IP protocol values (IPv4:'proto' or IPv6:'next_hdr') > * @{*/ > -#define ODP_IPPROTO_ICMP 0x01 /**< Internet Control Message Protocol (1) > */ > -#define ODP_IPPROTO_TCP 0x06 /**< Transmission Control Protocol (6) */ > -#define ODP_IPPROTO_UDP 0x11 /**< User Datagram Protocol (17) */ > -#define ODP_IPPROTO_SCTP 0x84 /**< Stream Control Transmission Protocol > (132) */ > -#define ODP_IPPROTO_FRAG 0x2C /**< Fragment (44) */ > -#define ODP_IPPROTO_AH 0x33 /**< Authentication Header (51) */ > -#define ODP_IPPROTO_ESP 0x32 /**< Encapsulating Security Payload (50) */ > +#define ODPH_IPPROTO_ICMP 0x01 /**< Internet Control Message Protocol (1) > */ > +#define ODPH_IPPROTO_TCP 0x06 /**< Transmission Control Protocol (6) */ > +#define ODPH_IPPROTO_UDP 0x11 /**< User Datagram Protocol (17) */ > +#define ODPH_IPPROTO_SCTP 0x84 /**< Stream Control Transmission Protocol > (132) */ > +#define ODPH_IPPROTO_FRAG 0x2C /**< Fragment (44) */ > +#define ODPH_IPPROTO_AH 0x33 /**< Authentication Header (51) */ > +#define ODPH_IPPROTO_ESP 0x32 /**< Encapsulating Security Payload (50) > */ > /**@}*/ > > #ifdef __cplusplus > diff --git a/include/helper/odp_linux.h b/helper/include/odph_linux.h > similarity index 88% > rename from include/helper/odp_linux.h > rename to helper/include/odph_linux.h > index 3076c22..1ea349a 100644 > --- a/include/helper/odp_linux.h > +++ b/helper/include/odph_linux.h > @@ -29,7 +29,7 @@ typedef struct { > pthread_t thread; /**< @private Pthread */ > pthread_attr_t attr; /**< @private Pthread attributes */ > > -} odp_linux_pthread_t; > +} odph_linux_pthread_t; > > > /** > @@ -44,7 +44,7 @@ typedef struct { > * @param start_routine Thread start function > * @param arg Thread argument > */ > -void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, > +void odph_linux_pthread_create(odph_linux_pthread_t *thread_tbl, > int num, int first_core, > void *(*start_routine) (void *), void *arg); > > @@ -58,7 +58,7 @@ void odp_linux_pthread_create(odp_linux_pthread_t > *thread_tbl, > * @param num Number of threads to create > * > */ > -void odp_linux_pthread_join(odp_linux_pthread_t *thread_tbl, int num); > +void odph_linux_pthread_join(odph_linux_pthread_t *thread_tbl, int num); > > > #ifdef __cplusplus > diff --git a/include/helper/odp_packet_helper.h > b/helper/include/odph_packet_helper.h > similarity index 83% > rename from include/helper/odp_packet_helper.h > rename to helper/include/odph_packet_helper.h > index db12028..c18f48d 100644 > --- a/include/helper/odp_packet_helper.h > +++ b/helper/include/odph_packet_helper.h > @@ -11,8 +11,8 @@ > * Optional ODP packet helper functions > */ > > -#ifndef ODP_PACKET_HELPER_H_ > -#define ODP_PACKET_HELPER_H_ > +#ifndef ODPH_PACKET_HELPER_H_ > +#define ODPH_PACKET_HELPER_H_ > > #ifdef __cplusplus > extern "C" { > @@ -29,7 +29,7 @@ extern "C" { > * > * @return 1 if valid, otherwise 0 > */ > -static inline int odp_packet_is_valid(odp_packet_t pkt) > +static inline int odph_packet_is_valid(odp_packet_t pkt) > { > odp_buffer_t buf = odp_buffer_from_packet(pkt); > > @@ -45,7 +45,7 @@ static inline int odp_packet_is_valid(odp_packet_t pkt) > * > * @return Packet handle or ODP_PACKET_INVALID > */ > -static inline odp_packet_t odp_packet_alloc(odp_buffer_pool_t pool_id) > +static inline odp_packet_t odph_packet_alloc(odp_buffer_pool_t pool_id) > { > odp_packet_t pkt; > odp_buffer_t buf; > @@ -65,7 +65,7 @@ static inline odp_packet_t > odp_packet_alloc(odp_buffer_pool_t pool_id) > * > * @param pkt Packet handle > */ > -static inline void odp_packet_free(odp_packet_t pkt) > +static inline void odph_packet_free(odp_packet_t pkt) > { > odp_buffer_t buf = odp_buffer_from_packet(pkt); > > @@ -82,7 +82,7 @@ static inline void odp_packet_free(odp_packet_t pkt) > * > * @return Packet buffer maximum data size > */ > -static inline size_t odp_packet_buf_size(odp_packet_t pkt) > +static inline size_t odph_packet_buf_size(odp_packet_t pkt) > { > odp_buffer_t buf = odp_buffer_from_packet(pkt); > > diff --git a/include/helper/odp_ring.h b/helper/include/odph_ring.h > similarity index 87% > rename from include/helper/odp_ring.h > rename to helper/include/odph_ring.h > index 0911531..76c1db8 100644 > --- a/include/helper/odp_ring.h > +++ b/helper/include/odph_ring.h > @@ -89,8 +89,8 @@ > * > */ > > -#ifndef ODP_RING_H_ > -#define ODP_RING_H_ > +#ifndef ODPH_RING_H_ > +#define ODPH_RING_H_ > > #ifdef __cplusplus > extern "C" { > @@ -103,15 +103,15 @@ extern "C" { > #include <errno.h> > #include <sys/queue.h> > > -enum odp_ring_queue_behavior { > - ODP_RING_QUEUE_FIXED = 0, /**< Enq/Deq a fixed number > +enum odph_ring_queue_behavior { > + ODPH_RING_QUEUE_FIXED = 0, /**< Enq/Deq a fixed number > of items from a ring */ > - ODP_RING_QUEUE_VARIABLE /**< Enq/Deq as many items > + ODPH_RING_QUEUE_VARIABLE /**< Enq/Deq as many items > a possible from ring */ > }; > > > -#define ODP_RING_NAMESIZE 32 /**< The maximum length of a ring name. */ > +#define ODPH_RING_NAMESIZE 32 /**< The maximum length of a ring name. */ > > /** > * An ODP ring structure. > @@ -123,12 +123,12 @@ enum odp_ring_queue_behavior { > * values in a modulo-32bit base: that's why the overflow of the indexes > is not > * a problem. > */ > -typedef struct odp_ring { > +typedef struct odph_ring { > /** @private Next in list. */ > - TAILQ_ENTRY(odp_ring) next; > + TAILQ_ENTRY(odph_ring) next; > > /** @private Name of the ring. */ > - char name[ODP_RING_NAMESIZE]; > + char name[ODPH_RING_NAMESIZE]; > /** @private Flags supplied at creation. */ > int flags; > > @@ -153,13 +153,13 @@ typedef struct odp_ring { > > /** @private Memory space of ring starts here. */ > void *ring[0] ODP_ALIGNED_CACHE; > -} odp_ring_t; > +} odph_ring_t; > > > -#define ODP_RING_F_SP_ENQ 0x0001 /* The default enqueue is "single- > producer". */ > -#define ODP_RING_F_SC_DEQ 0x0002 /* The default dequeue is "single- > consumer". */ > -#define ODP_RING_QUOT_EXCEED (1 << 31) /* Quota exceed for burst ops */ > -#define ODP_RING_SZ_MASK (unsigned)(0x0fffffff) /* Ring size mask */ > +#define ODPH_RING_F_SP_ENQ 0x0001 /* The default enqueue is "single- > producer".*/ > +#define ODPH_RING_F_SC_DEQ 0x0002 /* The default dequeue is "single- > consumer".*/ > +#define ODPH_RING_QUOT_EXCEED (1 << 31) /* Quota exceed for burst ops */ > +#define ODPH_RING_SZ_MASK (unsigned)(0x0fffffff) /* Ring size mask */ > > > /** > @@ -191,7 +191,7 @@ typedef struct odp_ring { > * - EEXIST - a memzone with the same name already exists > * - ENOMEM - no appropriate memory area found in which to create > memzone > */ > -odp_ring_t *odp_ring_create(const char *name, unsigned count, > +odph_ring_t *odph_ring_create(const char *name, unsigned count, > unsigned flags); > > > @@ -210,14 +210,14 @@ odp_ring_t *odp_ring_create(const char *name, > unsigned count, > * @return 0: Success; water mark changed. > * -EINVAL: Invalid water mark value. > */ > -int odp_ring_set_water_mark(odp_ring_t *r, unsigned count); > +int odph_ring_set_water_mark(odph_ring_t *r, unsigned count); > > /** > * Dump the status of the ring to the console. > * > * @param r A pointer to the ring structure. > */ > -void odp_ring_dump(const odp_ring_t *r); > +void odph_ring_dump(const odph_ring_t *r); > > /** > * Enqueue several objects on the ring (multi-producers safe). > @@ -244,8 +244,9 @@ void odp_ring_dump(const odp_ring_t *r); > * if behavior = ODP_RING_QUEUE_VARIABLE > * - n: Actual number of objects enqueued. > */ > -int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * const *obj_table, > - unsigned n, enum odp_ring_queue_behavior behavior); > +int __odph_ring_mp_do_enqueue(odph_ring_t *r, void * const *obj_table, > + unsigned n, > + enum odph_ring_queue_behavior behavior); > > /** > * Enqueue several objects on a ring (NOT multi-producers safe). > @@ -269,8 +270,9 @@ int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * > const *obj_table, > * if behavior = ODP_RING_QUEUE_VARIABLE > * - n: Actual number of objects enqueued. > */ > -int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * const *obj_table, > - unsigned n, enum odp_ring_queue_behavior behavior); > +int __odph_ring_sp_do_enqueue(odph_ring_t *r, void * const *obj_table, > + unsigned n, > + enum odph_ring_queue_behavior behavior); > > /** > * Dequeue several objects from a ring (multi-consumers safe). When > @@ -299,8 +301,9 @@ int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * > const *obj_table, > * - n: Actual number of objects dequeued. > */ > > -int __odp_ring_mc_do_dequeue(odp_ring_t *r, void **obj_table, > - unsigned n, enum odp_ring_queue_behavior behavior); > +int __odph_ring_mc_do_dequeue(odph_ring_t *r, void **obj_table, > + unsigned n, > + enum odph_ring_queue_behavior behavior); > > /** > * Dequeue several objects from a ring (NOT multi-consumers safe). > @@ -325,8 +328,9 @@ int __odp_ring_mc_do_dequeue(odp_ring_t *r, void > **obj_table, > * if behavior = ODP_RING_QUEUE_VARIABLE > * - n: Actual number of objects dequeued. > */ > -int __odp_ring_sc_do_dequeue(odp_ring_t *r, void **obj_table, > - unsigned n, enum odp_ring_queue_behavior behavior); > +int __odph_ring_sc_do_dequeue(odph_ring_t *r, void **obj_table, > + unsigned n, > + enum odph_ring_queue_behavior behavior); > > /** > * Enqueue several objects on the ring (multi-producers safe). > @@ -346,8 +350,8 @@ int __odp_ring_sc_do_dequeue(odp_ring_t *r, void > **obj_table, > * high water mark is exceeded. > * - -ENOBUFS: Not enough room in the ring to enqueue, no object is > enqueued. > */ > -int odp_ring_mp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, > - unsigned n); > +int odph_ring_mp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, > + unsigned n); > > /** > * Enqueue several objects on a ring (NOT multi-producers safe). > @@ -364,8 +368,8 @@ int odp_ring_mp_enqueue_bulk(odp_ring_t *r, void * > const *obj_table, > * high water mark is exceeded. > * - -ENOBUFS: Not enough room in the ring to enqueue; no object is > enqueued. > */ > -int odp_ring_sp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, > - unsigned n); > +int odph_ring_sp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, > + unsigned n); > > /** > * Dequeue several objects from a ring (multi-consumers safe). > @@ -384,7 +388,7 @@ int odp_ring_sp_enqueue_bulk(odp_ring_t *r, void * > const *obj_table, > * - -ENOENT: Not enough entries in the ring to dequeue; no object is > * dequeued. > */ > -int odp_ring_mc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned > n); > +int odph_ring_mc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned > n); > > /** > * Dequeue several objects from a ring (NOT multi-consumers safe). > @@ -401,7 +405,7 @@ int odp_ring_mc_dequeue_bulk(odp_ring_t *r, void > **obj_table, unsigned n); > * - -ENOENT: Not enough entries in the ring to dequeue; no object is > * dequeued. > */ > -int odp_ring_sc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned > n); > +int odph_ring_sc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned > n); > > /** > * Test if a ring is full. > @@ -412,7 +416,7 @@ int odp_ring_sc_dequeue_bulk(odp_ring_t *r, void > **obj_table, unsigned n); > * - 1: The ring is full. > * - 0: The ring is not full. > */ > -int odp_ring_full(const odp_ring_t *r); > +int odph_ring_full(const odph_ring_t *r); > > /** > * Test if a ring is empty. > @@ -423,7 +427,7 @@ int odp_ring_full(const odp_ring_t *r); > * - 1: The ring is empty. > * - 0: The ring is not empty. > */ > -int odp_ring_empty(const odp_ring_t *r); > +int odph_ring_empty(const odph_ring_t *r); > > /** > * Return the number of entries in a ring. > @@ -433,7 +437,7 @@ int odp_ring_empty(const odp_ring_t *r); > * @return > * The number of entries in the ring. > */ > -unsigned odp_ring_count(const odp_ring_t *r); > +unsigned odph_ring_count(const odph_ring_t *r); > > /** > * Return the number of free entries in a ring. > @@ -443,14 +447,14 @@ unsigned odp_ring_count(const odp_ring_t *r); > * @return > * The number of free entries in the ring. > */ > -unsigned odp_ring_free_count(const odp_ring_t *r); > +unsigned odph_ring_free_count(const odph_ring_t *r); > > /** > * search ring by name > * @param name ring name to search > * @return pointer to ring otherwise NULL > */ > -odp_ring_t *odp_ring_lookup(const char *name); > +odph_ring_t *odph_ring_lookup(const char *name); > > /** > * Enqueue several objects on the ring (multi-producers safe). > @@ -467,8 +471,8 @@ odp_ring_t *odp_ring_lookup(const char *name); > * @return > * - n: Actual number of objects enqueued. > */ > -int odp_ring_mp_enqueue_burst(odp_ring_t *r, void * const *obj_table, > - unsigned n); > +int odph_ring_mp_enqueue_burst(odph_ring_t *r, void * const *obj_table, > + unsigned n); > > /** > * Enqueue several objects on a ring (NOT multi-producers safe). > @@ -482,8 +486,8 @@ int odp_ring_mp_enqueue_burst(odp_ring_t *r, void * > const *obj_table, > * @return > * - n: Actual number of objects enqueued. > */ > -int odp_ring_sp_enqueue_burst(odp_ring_t *r, void * const *obj_table, > - unsigned n); > +int odph_ring_sp_enqueue_burst(odph_ring_t *r, void * const *obj_table, > + unsigned n); > /** > * Enqueue several objects on a ring. > * > @@ -500,8 +504,8 @@ int odp_ring_sp_enqueue_burst(odp_ring_t *r, void * > const *obj_table, > * @return > * - n: Actual number of objects enqueued. > */ > -int odp_ring_enqueue_burst(odp_ring_t *r, void * const *obj_table, > - unsigned n); > +int odph_ring_enqueue_burst(odph_ring_t *r, void * const *obj_table, > + unsigned n); > > /** > * Dequeue several objects from a ring (multi-consumers safe). When the > request > @@ -520,7 +524,7 @@ int odp_ring_enqueue_burst(odp_ring_t *r, void * const > *obj_table, > * @return > * - n: Actual number of objects dequeued, 0 if ring is empty > */ > -int odp_ring_mc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned > n); > +int odph_ring_mc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned > n); > > /** > * Dequeue several objects from a ring (NOT multi-consumers safe).When > the > @@ -536,7 +540,7 @@ int odp_ring_mc_dequeue_burst(odp_ring_t *r, void > **obj_table, unsigned n); > * @return > * - n: Actual number of objects dequeued, 0 if ring is empty > */ > -int odp_ring_sc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned > n); > +int odph_ring_sc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned > n); > > /** > * Dequeue multiple objects from a ring up to a maximum number. > @@ -554,17 +558,17 @@ int odp_ring_sc_dequeue_burst(odp_ring_t *r, void > **obj_table, unsigned n); > * @return > * - Number of objects dequeued, or a negative error code on error > */ > -int odp_ring_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n); > +int odph_ring_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned > n); > > /** > * dump the status of all rings on the console > */ > -void odp_ring_list_dump(void); > +void odph_ring_list_dump(void); > > /** > * initialise ring tailq > */ > -void odp_ring_tailq_init(void); > +void odph_ring_tailq_init(void); > > #ifdef __cplusplus > } > diff --git a/include/helper/odp_udp.h b/helper/include/odph_udp.h > similarity index 74% > rename from include/helper/odp_udp.h > rename to helper/include/odph_udp.h > index 966d7f3..3970f00 100644 > --- a/include/helper/odp_udp.h > +++ b/helper/include/odph_udp.h > @@ -11,8 +11,8 @@ > * ODP UDP header > */ > > -#ifndef ODP_UDP_H_ > -#define ODP_UDP_H_ > +#ifndef ODPH_UDP_H_ > +#define ODPH_UDP_H_ > > #ifdef __cplusplus > extern "C" { > @@ -23,24 +23,24 @@ extern "C" { > #include <odp_byteorder.h> > > /** UDP header length */ > -#define ODP_UDPHDR_LEN 8 > +#define ODPH_UDPHDR_LEN 8 > > /** UDP header */ > -typedef struct ODP_PACKED { > +typedef struct ODPH_PACKED { > uint16be_t src_port; /**< Source port */ > uint16be_t dst_port; /**< Destination port */ > uint16be_t length; /**< UDP datagram length in bytes (header+data) > */ > uint16be_t chksum; /**< UDP header and data checksum (0 if not > used)*/ > -} odp_udphdr_t; > +} odph_udphdr_t; > > /** UDP pseudo header */ > -typedef struct ODP_PACKET { > +typedef struct ODPH_PACKET { > uint32be_t src_addr; /**< Source addr */ > uint32be_t dst_addr; /**< Destination addr */ > uint8_t pad; /**< pad byte */ > uint8_t proto; /**< UDP protocol */ > uint16be_t length; /**< data length */ > -} odp_udpphdr_t; > +} odph_udpphdr_t; > > /** > * UDP checksum > @@ -50,12 +50,12 @@ typedef struct ODP_PACKET { > * @param pkt calculate chksum for pkt > * @return checksum value > */ > -static inline uint16_t odp_ipv4_udp_chksum(odp_packet_t pkt) > +static inline uint16_t odph_ipv4_udp_chksum(odp_packet_t pkt) > { > uint32_t sum = 0; > - odp_udpphdr_t phdr; > - odp_udphdr_t *udph; > - odp_ipv4hdr_t *iph; > + odph_udpphdr_t phdr; > + odph_udphdr_t *udph; > + odph_ipv4hdr_t *iph; > uint16_t udplen; > > if (!odp_packet_l3_offset(pkt)) > @@ -64,8 +64,8 @@ static inline uint16_t odp_ipv4_udp_chksum(odp_packet_t > pkt) > if (!odp_packet_l4_offset(pkt)) > return 0; > > - iph = (odp_ipv4hdr_t *)odp_packet_l3(pkt); > - udph = (odp_udphdr_t *)odp_packet_l4(pkt); > + iph = (odph_ipv4hdr_t *)odp_packet_l3(pkt); > + udph = (odph_udphdr_t *)odp_packet_l4(pkt); > udplen = odp_be_to_cpu_16(udph->length); > > /* the source ip */ > @@ -74,12 +74,12 @@ static inline uint16_t > odp_ipv4_udp_chksum(odp_packet_t pkt) > phdr.dst_addr = iph->dst_addr; > /* proto */ > phdr.pad = 0; > - phdr.proto = ODP_IPPROTO_UDP; > + phdr.proto = ODPH_IPPROTO_UDP; > /* the length */ > phdr.length = udph->length; > > /* calc UDP pseudo header chksum */ > - sum = (__odp_force uint32_t) odp_chksum(&phdr, > sizeof(odp_udpphdr_t)); > + sum = (__odp_force uint32_t) odp_chksum(&phdr, > sizeof(odph_udpphdr_t)); > /* calc udp header and data chksum */ > sum += (__odp_force uint32_t) odp_chksum(udph, udplen); > > @@ -93,7 +93,7 @@ static inline uint16_t odp_ipv4_udp_chksum(odp_packet_t > pkt) > } > > /** @internal Compile time assert */ > -ODP_STATIC_ASSERT(sizeof(odp_udphdr_t) == ODP_UDPHDR_LEN, > "ODP_UDPHDR_T__SIZE_ERROR"); > +ODP_STATIC_ASSERT(sizeof(odph_udphdr_t) == ODPH_UDPHDR_LEN, > "ODPH_UDPHDR_T__SIZE_ERROR"); > > #ifdef __cplusplus > } > diff --git a/include/helper/odp_eth.h b/include/helper/odp_eth.h > deleted file mode 100644 > index 542594b..0000000 > --- a/include/helper/odp_eth.h > +++ /dev/null > @@ -1,87 +0,0 @@ > -/* Copyright (c) 2014, Linaro Limited > - * All rights reserved. > - * > - * SPDX-License-Identifier: BSD-3-Clause > - */ > - > - > -/** > - * @file > - * > - * ODP ethernet header > - */ > - > -#ifndef ODP_ETH_H_ > -#define ODP_ETH_H_ > - > -#ifdef __cplusplus > -extern "C" { > -#endif > - > -#include <odp_std_types.h> > -#include <odp_byteorder.h> > -#include <odp_align.h> > -#include <odp_debug.h> > - > -#define ODP_ETHADDR_LEN 6 /**< Ethernet address length */ > -#define ODP_ETHHDR_LEN 14 /**< Ethernet header length */ > -#define ODP_VLANHDR_LEN 4 /**< VLAN header length */ > -#define ODP_ETH_LEN_MIN 60 /**< Min frame length (excl. CRC 4 > bytes) */ > -#define ODP_ETH_LEN_MIN_CRC 64 /**< Min frame length (incl. CRC 4 > bytes) */ > -#define ODP_ETH_LEN_MAX 1514 /**< Max frame length (excl. CRC 4 > bytes) */ > -#define ODP_ETH_LEN_MAX_CRC 1518 /**< Max frame length (incl. CRC 4 > bytes) */ > - > -/** > - * Ethernet MAC address > - */ > -typedef struct ODP_PACKED { > - uint8_t addr[ODP_ETHADDR_LEN]; /**< @private Address */ > -} odp_ethaddr_t; > - > -/** @internal Compile time assert */ > -ODP_STATIC_ASSERT(sizeof(odp_ethaddr_t) == ODP_ETHADDR_LEN, > "ODP_ETHADDR_T__SIZE_ERROR"); > - > -/** > - * Ethernet header > - */ > -typedef struct ODP_PACKED { > - odp_ethaddr_t dst; /**< Destination address */ > - odp_ethaddr_t src; /**< Source address */ > - uint16be_t type; /**< Type */ > -} odp_ethhdr_t; > - > -/** @internal Compile time assert */ > -ODP_STATIC_ASSERT(sizeof(odp_ethhdr_t) == ODP_ETHHDR_LEN, > "ODP_ETHHDR_T__SIZE_ERROR"); > - > -/** > - * VLAN header > - * > - * @todo Check usage of tpid vs ethertype. Check outer VLAN TPID. > - */ > -typedef struct ODP_PACKED { > - uint16be_t tpid; /**< Tag protocol ID (located after ethhdr.src) > */ > - uint16be_t tci; /**< Priority / CFI / VLAN ID */ > -} odp_vlanhdr_t; > - > -/** @internal Compile time assert */ > -ODP_STATIC_ASSERT(sizeof(odp_vlanhdr_t) == ODP_VLANHDR_LEN, > "ODP_VLANHDR_T__SIZE_ERROR"); > - > - > -/* Ethernet header Ether Type ('type') values, a selected few */ > -#define ODP_ETHTYPE_IPV4 0x0800 /**< Internet Protocol version 4 */ > -#define ODP_ETHTYPE_ARP 0x0806 /**< Address Resolution Protocol */ > -#define ODP_ETHTYPE_RARP 0x8035 /**< Reverse Address Resolution > Protocol*/ > -#define ODP_ETHTYPE_VLAN 0x8100 /**< VLAN-tagged frame IEEE 802.1Q > */ > -#define ODP_ETHTYPE_VLAN_OUTER 0x88A8 /**< Stacked VLANs/QinQ, outer- > tag/S-TAG*/ > -#define ODP_ETHTYPE_IPV6 0x86dd /**< Internet Protocol version 6 */ > -#define ODP_ETHTYPE_FLOW_CTRL 0x8808 /**< Ethernet flow control */ > -#define ODP_ETHTYPE_MPLS 0x8847 /**< MPLS unicast */ > -#define ODP_ETHTYPE_MPLS_MCAST 0x8848 /**< MPLS multicast */ > -#define ODP_ETHTYPE_MACSEC 0x88E5 /**< MAC security IEEE 802.1AE */ > -#define ODP_ETHTYPE_1588 0x88F7 /**< Precision Time Protocol IEEE > 1588 */ > - > -#ifdef __cplusplus > -} > -#endif > - > -#endif > diff --git a/platform/linux-dpdk/Makefile.am b/platform/linux- > dpdk/Makefile.am > index ff49b7d..a03ef41 100644 > --- a/platform/linux-dpdk/Makefile.am > +++ b/platform/linux-dpdk/Makefile.am > @@ -16,7 +16,7 @@ AM_CFLAGS += -I$(srcdir)/include > AM_CFLAGS += -I$(srcdir)/include/api > AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include > AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include/api > -AM_CFLAGS += -I$(top_srcdir)/include > +AM_CFLAGS += -I$(top_srcdir)/helper/include > > DPDK_LIBS="-lintel_dpdk -ldl" > LIBS += $(DPDK_LIBS) > @@ -54,13 +54,13 @@ include_HEADERS = \ > > subdirheadersdir = $(includedir)/helper > subdirheaders_HEADERS = \ > - $(top_srcdir)/include/helper/odp_chksum.h \ > - $(top_srcdir)/include/helper/odp_eth.h \ > - $(top_srcdir)/include/helper/odp_ip.h \ > - $(top_srcdir)/include/helper/odp_linux.h \ > - $(top_srcdir)/include/helper/odp_packet_helper.h \ > - $(top_srcdir)/include/helper/odp_ring.h \ > - $(top_srcdir)/include/helper/odp_udp.h > + $(top_srcdir)/helper/include/odph_chksum.h \ > + $(top_srcdir)/helper/include/odph_eth.h \ > + $(top_srcdir)/helper/include/odph_ip.h \ > + $(top_srcdir)/helper/include/odph_linux.h \ > + $(top_srcdir)/helper/include/odph_packet_helper.h \ > + $(top_srcdir)/helper/include/odph_ring.h \ > + $(top_srcdir)/helper/include/odph_udp.h > > __LIB__libodp_la_SOURCES = \ > ../linux-generic/odp_barrier.c \ > diff --git a/platform/linux-dpdk/include/odp_packet_dpdk.h > b/platform/linux-dpdk/include/odp_packet_dpdk.h > index bcf9aa5..f901184 100644 > --- a/platform/linux-dpdk/include/odp_packet_dpdk.h > +++ b/platform/linux-dpdk/include/odp_packet_dpdk.h > @@ -10,8 +10,8 @@ > #include <stdint.h> > #include <net/if.h> > > -#include <helper/odp_eth.h> > -#include <helper/odp_packet_helper.h> > +#include <odph_eth.h> > +#include <odph_packet_helper.h> > #include <odp_align.h> > #include <odp_debug.h> > #include <odp_packet.h> > diff --git a/platform/linux-dpdk/odp_linux.c b/platform/linux- > dpdk/odp_linux.c > index 067bd99..96c91a5 100644 > --- a/platform/linux-dpdk/odp_linux.c > +++ b/platform/linux-dpdk/odp_linux.c > @@ -14,7 +14,7 @@ > #include <stdio.h> > #include <assert.h> > > -#include <helper/odp_linux.h> > +#include <odph_linux.h> > #include <odp_internal.h> > #include <odp_thread.h> > #include <odp_init.h> > @@ -41,7 +41,7 @@ static void *odp_run_start_routine(void *arg) > } > > > -void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, int num, > +void odph_linux_pthread_create(odph_linux_pthread_t *thread_tbl, int num, > int first_core, void *(*start_routine) (void *), void *arg) > { > int i; > @@ -82,7 +82,7 @@ void odp_linux_pthread_create(odp_linux_pthread_t > *thread_tbl, int num, > } > > > -void odp_linux_pthread_join(odp_linux_pthread_t *thread_tbl, int num) > +void odph_linux_pthread_join(odph_linux_pthread_t *thread_tbl, int num) > { > uint32_t lcore_id; > > diff --git a/platform/linux-dpdk/odp_packet.c b/platform/linux- > dpdk/odp_packet.c > index c34e626..edfd06d 100644 > --- a/platform/linux-dpdk/odp_packet.c > +++ b/platform/linux-dpdk/odp_packet.c > @@ -9,16 +9,16 @@ > #include <odp_hints.h> > #include <odp_byteorder.h> > > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > > #include <string.h> > #include <stdio.h> > > -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t > *ipv4, > - size_t *offset_out); > -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t > *ipv6, > - size_t *offset_out); > +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, > + odph_ipv4hdr_t *ipv4, size_t *offset_out); > +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, > + odph_ipv6hdr_t *ipv6, size_t *offset_out); > > void odp_packet_init(odp_packet_t pkt) > { > @@ -144,10 +144,10 @@ void odp_packet_set_l4_offset(odp_packet_t pkt, > size_t offset) > void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) > { > odp_packet_hdr_t *const pkt_hdr = odp_packet_hdr(pkt); > - odp_ethhdr_t *eth; > - odp_vlanhdr_t *vlan; > - odp_ipv4hdr_t *ipv4; > - odp_ipv6hdr_t *ipv6; > + odph_ethhdr_t *eth; > + odph_vlanhdr_t *vlan; > + odph_ipv4hdr_t *ipv4; > + odph_ipv6hdr_t *ipv6; > uint16_t ethtype; > size_t offset = 0; > uint8_t ip_proto = 0; > @@ -156,10 +156,10 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > pkt_hdr->frame_offset = frame_offset; > pkt_hdr->frame_len = len; > > - if (odp_unlikely(len < ODP_ETH_LEN_MIN)) { > + if (odp_unlikely(len < ODPH_ETH_LEN_MIN)) { > pkt_hdr->error_flags.frame_len = 1; > return; > - } else if (len > ODP_ETH_LEN_MAX) { > + } else if (len > ODPH_ETH_LEN_MAX) { > pkt_hdr->input_flags.jumbo = 1; > } > > @@ -167,40 +167,40 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > pkt_hdr->input_flags.l2 = 1; > pkt_hdr->l2_offset = frame_offset; > > - eth = (odp_ethhdr_t *)odp_packet_start(pkt); > + eth = (odph_ethhdr_t *)odp_packet_start(pkt); > ethtype = odp_be_to_cpu_16(eth->type); > - vlan = (odp_vlanhdr_t *)ð->type; > + vlan = (odph_vlanhdr_t *)ð->type; > > - if (ethtype == ODP_ETHTYPE_VLAN_OUTER) { > + if (ethtype == ODPH_ETHTYPE_VLAN_OUTER) { > pkt_hdr->input_flags.vlan_qinq = 1; > ethtype = odp_be_to_cpu_16(vlan->tpid); > - offset += sizeof(odp_vlanhdr_t); > + offset += sizeof(odph_vlanhdr_t); > vlan = &vlan[1]; > } > > - if (ethtype == ODP_ETHTYPE_VLAN) { > + if (ethtype == ODPH_ETHTYPE_VLAN) { > pkt_hdr->input_flags.vlan = 1; > ethtype = odp_be_to_cpu_16(vlan->tpid); > - offset += sizeof(odp_vlanhdr_t); > + offset += sizeof(odph_vlanhdr_t); > } > > /* Set l3_offset+flag only for known ethtypes */ > switch (ethtype) { > - case ODP_ETHTYPE_IPV4: > + case ODPH_ETHTYPE_IPV4: > pkt_hdr->input_flags.ipv4 = 1; > pkt_hdr->input_flags.l3 = 1; > - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; > - ipv4 = (odp_ipv4hdr_t *)odp_packet_l3(pkt); > + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; > + ipv4 = (odph_ipv4hdr_t *)odp_packet_l3(pkt); > ip_proto = parse_ipv4(pkt_hdr, ipv4, &offset); > break; > - case ODP_ETHTYPE_IPV6: > + case ODPH_ETHTYPE_IPV6: > pkt_hdr->input_flags.ipv6 = 1; > pkt_hdr->input_flags.l3 = 1; > - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; > - ipv6 = (odp_ipv6hdr_t *)odp_packet_l3(pkt); > + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; > + ipv6 = (odph_ipv6hdr_t *)odp_packet_l3(pkt); > ip_proto = parse_ipv6(pkt_hdr, ipv6, &offset); > break; > - case ODP_ETHTYPE_ARP: > + case ODPH_ETHTYPE_ARP: > pkt_hdr->input_flags.arp = 1; > /* fall through */ > default: > @@ -209,22 +209,22 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > } > > switch (ip_proto) { > - case ODP_IPPROTO_UDP: > + case ODPH_IPPROTO_UDP: > pkt_hdr->input_flags.udp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_TCP: > + case ODPH_IPPROTO_TCP: > pkt_hdr->input_flags.tcp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_SCTP: > + case ODPH_IPPROTO_SCTP: > pkt_hdr->input_flags.sctp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_ICMP: > + case ODPH_IPPROTO_ICMP: > pkt_hdr->input_flags.icmp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > @@ -239,19 +239,19 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > } > } > > -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t > *ipv4, > - size_t *offset_out) > +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, > + odph_ipv4hdr_t *ipv4, size_t *offset_out) > { > uint8_t ihl; > uint16_t frag_offset; > > - ihl = ODP_IPV4HDR_IHL(ipv4->ver_ihl); > - if (odp_unlikely(ihl < ODP_IPV4HDR_IHL_MIN)) { > + ihl = ODPH_IPV4HDR_IHL(ipv4->ver_ihl); > + if (odp_unlikely(ihl < ODPH_IPV4HDR_IHL_MIN)) { > pkt_hdr->error_flags.ip_err = 1; > return 0; > } > > - if (odp_unlikely(ihl > ODP_IPV4HDR_IHL_MIN)) { > + if (odp_unlikely(ihl > ODPH_IPV4HDR_IHL_MIN)) { > pkt_hdr->input_flags.ipopt = 1; > return 0; > } > @@ -262,13 +262,13 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t > *pkt_hdr, odp_ipv4hdr_t *ipv4, > * "fragment offset" field is nonzero (all fragments except the > first) > */ > frag_offset = odp_be_to_cpu_16(ipv4->frag_offset); > - if (odp_unlikely(ODP_IPV4HDR_IS_FRAGMENT(frag_offset))) { > + if (odp_unlikely(ODPH_IPV4HDR_IS_FRAGMENT(frag_offset))) { > pkt_hdr->input_flags.ipfrag = 1; > return 0; > } > > - if (ipv4->proto == ODP_IPPROTO_ESP || > - ipv4->proto == ODP_IPPROTO_AH) { > + if (ipv4->proto == ODPH_IPPROTO_ESP || > + ipv4->proto == ODPH_IPPROTO_AH) { > pkt_hdr->input_flags.ipsec = 1; > return 0; > } > @@ -279,24 +279,24 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t > *pkt_hdr, odp_ipv4hdr_t *ipv4, > return ipv4->proto; > } > > -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t > *ipv6, > - size_t *offset_out) > +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, > + odph_ipv6hdr_t *ipv6, size_t *offset_out) > { > - if (ipv6->next_hdr == ODP_IPPROTO_ESP || > - ipv6->next_hdr == ODP_IPPROTO_AH) { > + if (ipv6->next_hdr == ODPH_IPPROTO_ESP || > + ipv6->next_hdr == ODPH_IPPROTO_AH) { > pkt_hdr->input_flags.ipopt = 1; > pkt_hdr->input_flags.ipsec = 1; > return 0; > } > > - if (odp_unlikely(ipv6->next_hdr == ODP_IPPROTO_FRAG)) { > + if (odp_unlikely(ipv6->next_hdr == ODPH_IPPROTO_FRAG)) { > pkt_hdr->input_flags.ipopt = 1; > pkt_hdr->input_flags.ipfrag = 1; > return 0; > } > > /* Don't step through more extensions */ > - *offset_out = ODP_IPV6HDR_LEN; > + *offset_out = ODPH_IPV6HDR_LEN; > return ipv6->next_hdr; > } > > diff --git a/platform/linux-generic/Makefile.am b/platform/linux- > generic/Makefile.am > index f4dfdc1..b996ced 100644 > --- a/platform/linux-generic/Makefile.am > +++ b/platform/linux-generic/Makefile.am > @@ -3,7 +3,7 @@ include $(top_srcdir)/platform/Makefile.inc > > AM_CFLAGS += -I$(srcdir)/include > AM_CFLAGS += -I$(srcdir)/include/api > -AM_CFLAGS += -I$(top_srcdir)/include > +AM_CFLAGS += -I$(top_srcdir)/helper/include > > include_HEADERS = \ > $(top_srcdir)/platform/linux-generic/include/api/odp.h \ > @@ -42,13 +42,13 @@ include_HEADERS = \ > > subdirheadersdir = $(includedir)/helper > subdirheaders_HEADERS = \ > - $(top_srcdir)/include/helper/odp_chksum.h \ > - $(top_srcdir)/include/helper/odp_eth.h \ > - $(top_srcdir)/include/helper/odp_ip.h \ > - $(top_srcdir)/include/helper/odp_linux.h \ > - $(top_srcdir)/include/helper/odp_packet_helper.h \ > - $(top_srcdir)/include/helper/odp_ring.h \ > - $(top_srcdir)/include/helper/odp_udp.h > + $(top_srcdir)/helper/include/odph_chksum.h \ > + $(top_srcdir)/helper/include/odph_eth.h \ > + $(top_srcdir)/helper/include/odph_ip.h \ > + $(top_srcdir)/helper/include/odph_linux.h \ > + $(top_srcdir)/helper/include/odph_packet_helper.h \ > + $(top_srcdir)/helper/include/odph_ring.h \ > + $(top_srcdir)/helper/include/odph_udp.h > > __LIB__libodp_la_SOURCES = \ > odp_barrier.c \ > diff --git a/platform/linux-generic/include/api/odp_align.h > b/platform/linux-generic/include/api/odp_align.h > index 5ee61be..a93dd24 100644 > --- a/platform/linux-generic/include/api/odp_align.h > +++ b/platform/linux-generic/include/api/odp_align.h > @@ -31,7 +31,7 @@ extern "C" { > /** > * Defines type/struct to be packed > */ > -#define ODP_PACKED __attribute__((__packed__)) > +#define ODPH_PACKED __attribute__((__packed__)) > > /** > * Returns offset of member in type > diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux- > generic/odp_crypto.c > index bdd4694..03a3770 100644 > --- a/platform/linux-generic/odp_crypto.c > +++ b/platform/linux-generic/odp_crypto.c > @@ -14,7 +14,7 @@ > #include <odp_shared_memory.h> > #include <odp_crypto_internal.h> > #include <odp_hints.h> > -#include <helper/odp_packet_helper.h> > +#include <odph_packet_helper.h> > > #include <string.h> > > @@ -370,7 +370,7 @@ odp_crypto_operation(odp_crypto_op_params_t *params, > if (completion_event == odp_buffer_from_packet(params->pkt)) > completion_event = > odp_buffer_from_packet(params->out_pkt); > - odp_packet_free(params->pkt); > + odph_packet_free(params->pkt); > params->pkt = ODP_PACKET_INVALID; > } > > diff --git a/platform/linux-generic/odp_linux.c b/platform/linux- > generic/odp_linux.c > index 6e2b448..e21e467 100644 > --- a/platform/linux-generic/odp_linux.c > +++ b/platform/linux-generic/odp_linux.c > @@ -14,7 +14,7 @@ > #include <stdio.h> > #include <assert.h> > > -#include <helper/odp_linux.h> > +#include <odph_linux.h> > #include <odp_internal.h> > #include <odp_thread.h> > #include <odp_init.h> > @@ -45,7 +45,7 @@ static void *odp_run_start_routine(void *arg) > } > > > -void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, int num, > +void odph_linux_pthread_create(odph_linux_pthread_t *thread_tbl, int num, > int first_core, void *(*start_routine) (void *), void *arg) > { > int i; > @@ -59,7 +59,7 @@ void odp_linux_pthread_create(odp_linux_pthread_t > *thread_tbl, int num, > assert((first_core >= 0) && (first_core < core_count)); > assert((num >= 0) && (num <= core_count)); > > - memset(thread_tbl, 0, num * sizeof(odp_linux_pthread_t)); > + memset(thread_tbl, 0, num * sizeof(odph_linux_pthread_t)); > > for (i = 0; i < num; i++) { > pthread_attr_init(&thread_tbl[i].attr); > @@ -85,7 +85,7 @@ void odp_linux_pthread_create(odp_linux_pthread_t > *thread_tbl, int num, > } > > > -void odp_linux_pthread_join(odp_linux_pthread_t *thread_tbl, int num) > +void odph_linux_pthread_join(odph_linux_pthread_t *thread_tbl, int num) > { > int i; > > diff --git a/platform/linux-generic/odp_packet.c b/platform/linux- > generic/odp_packet.c > index 13e2471..20137d0 100644 > --- a/platform/linux-generic/odp_packet.c > +++ b/platform/linux-generic/odp_packet.c > @@ -9,16 +9,16 @@ > #include <odp_hints.h> > #include <odp_byteorder.h> > > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > > #include <string.h> > #include <stdio.h> > > -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t > *ipv4, > - size_t *offset_out); > -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t > *ipv6, > - size_t *offset_out); > +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, > + odph_ipv4hdr_t *ipv4, size_t *offset_out); > +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, > + odph_ipv6hdr_t *ipv6, size_t *offset_out); > > void odp_packet_init(odp_packet_t pkt) > { > @@ -160,10 +160,10 @@ int odp_packet_seg_count(odp_packet_t pkt) > void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) > { > odp_packet_hdr_t *const pkt_hdr = odp_packet_hdr(pkt); > - odp_ethhdr_t *eth; > - odp_vlanhdr_t *vlan; > - odp_ipv4hdr_t *ipv4; > - odp_ipv6hdr_t *ipv6; > + odph_ethhdr_t *eth; > + odph_vlanhdr_t *vlan; > + odph_ipv4hdr_t *ipv4; > + odph_ipv6hdr_t *ipv6; > uint16_t ethtype; > size_t offset = 0; > uint8_t ip_proto = 0; > @@ -172,10 +172,10 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > pkt_hdr->frame_offset = frame_offset; > pkt_hdr->frame_len = len; > > - if (odp_unlikely(len < ODP_ETH_LEN_MIN)) { > + if (odp_unlikely(len < ODPH_ETH_LEN_MIN)) { > pkt_hdr->error_flags.frame_len = 1; > return; > - } else if (len > ODP_ETH_LEN_MAX) { > + } else if (len > ODPH_ETH_LEN_MAX) { > pkt_hdr->input_flags.jumbo = 1; > } > > @@ -183,40 +183,40 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > pkt_hdr->input_flags.l2 = 1; > pkt_hdr->l2_offset = frame_offset; > > - eth = (odp_ethhdr_t *)odp_packet_start(pkt); > + eth = (odph_ethhdr_t *)odp_packet_start(pkt); > ethtype = odp_be_to_cpu_16(eth->type); > - vlan = (odp_vlanhdr_t *)ð->type; > + vlan = (odph_vlanhdr_t *)ð->type; > > - if (ethtype == ODP_ETHTYPE_VLAN_OUTER) { > + if (ethtype == ODPH_ETHTYPE_VLAN_OUTER) { > pkt_hdr->input_flags.vlan_qinq = 1; > ethtype = odp_be_to_cpu_16(vlan->tpid); > - offset += sizeof(odp_vlanhdr_t); > + offset += sizeof(odph_vlanhdr_t); > vlan = &vlan[1]; > } > > - if (ethtype == ODP_ETHTYPE_VLAN) { > + if (ethtype == ODPH_ETHTYPE_VLAN) { > pkt_hdr->input_flags.vlan = 1; > ethtype = odp_be_to_cpu_16(vlan->tpid); > - offset += sizeof(odp_vlanhdr_t); > + offset += sizeof(odph_vlanhdr_t); > } > > /* Set l3_offset+flag only for known ethtypes */ > switch (ethtype) { > - case ODP_ETHTYPE_IPV4: > + case ODPH_ETHTYPE_IPV4: > pkt_hdr->input_flags.ipv4 = 1; > pkt_hdr->input_flags.l3 = 1; > - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; > - ipv4 = (odp_ipv4hdr_t *)odp_packet_l3(pkt); > + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; > + ipv4 = (odph_ipv4hdr_t *)odp_packet_l3(pkt); > ip_proto = parse_ipv4(pkt_hdr, ipv4, &offset); > break; > - case ODP_ETHTYPE_IPV6: > + case ODPH_ETHTYPE_IPV6: > pkt_hdr->input_flags.ipv6 = 1; > pkt_hdr->input_flags.l3 = 1; > - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; > - ipv6 = (odp_ipv6hdr_t *)odp_packet_l3(pkt); > + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; > + ipv6 = (odph_ipv6hdr_t *)odp_packet_l3(pkt); > ip_proto = parse_ipv6(pkt_hdr, ipv6, &offset); > break; > - case ODP_ETHTYPE_ARP: > + case ODPH_ETHTYPE_ARP: > pkt_hdr->input_flags.arp = 1; > /* fall through */ > default: > @@ -225,22 +225,22 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > } > > switch (ip_proto) { > - case ODP_IPPROTO_UDP: > + case ODPH_IPPROTO_UDP: > pkt_hdr->input_flags.udp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_TCP: > + case ODPH_IPPROTO_TCP: > pkt_hdr->input_flags.tcp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_SCTP: > + case ODPH_IPPROTO_SCTP: > pkt_hdr->input_flags.sctp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_ICMP: > + case ODPH_IPPROTO_ICMP: > pkt_hdr->input_flags.icmp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > @@ -255,19 +255,19 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > } > } > > -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t > *ipv4, > - size_t *offset_out) > +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, > + odph_ipv4hdr_t *ipv4, size_t *offset_out) > { > uint8_t ihl; > uint16_t frag_offset; > > - ihl = ODP_IPV4HDR_IHL(ipv4->ver_ihl); > - if (odp_unlikely(ihl < ODP_IPV4HDR_IHL_MIN)) { > + ihl = ODPH_IPV4HDR_IHL(ipv4->ver_ihl); > + if (odp_unlikely(ihl < ODPH_IPV4HDR_IHL_MIN)) { > pkt_hdr->error_flags.ip_err = 1; > return 0; > } > > - if (odp_unlikely(ihl > ODP_IPV4HDR_IHL_MIN)) { > + if (odp_unlikely(ihl > ODPH_IPV4HDR_IHL_MIN)) { > pkt_hdr->input_flags.ipopt = 1; > return 0; > } > @@ -278,13 +278,13 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t > *pkt_hdr, odp_ipv4hdr_t *ipv4, > * "fragment offset" field is nonzero (all fragments except the > first) > */ > frag_offset = odp_be_to_cpu_16(ipv4->frag_offset); > - if (odp_unlikely(ODP_IPV4HDR_IS_FRAGMENT(frag_offset))) { > + if (odp_unlikely(ODPH_IPV4HDR_IS_FRAGMENT(frag_offset))) { > pkt_hdr->input_flags.ipfrag = 1; > return 0; > } > > - if (ipv4->proto == ODP_IPPROTO_ESP || > - ipv4->proto == ODP_IPPROTO_AH) { > + if (ipv4->proto == ODPH_IPPROTO_ESP || > + ipv4->proto == ODPH_IPPROTO_AH) { > pkt_hdr->input_flags.ipsec = 1; > return 0; > } > @@ -295,24 +295,24 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t > *pkt_hdr, odp_ipv4hdr_t *ipv4, > return ipv4->proto; > } > > -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t > *ipv6, > - size_t *offset_out) > +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, > + odph_ipv6hdr_t *ipv6, size_t *offset_out) > { > - if (ipv6->next_hdr == ODP_IPPROTO_ESP || > - ipv6->next_hdr == ODP_IPPROTO_AH) { > + if (ipv6->next_hdr == ODPH_IPPROTO_ESP || > + ipv6->next_hdr == ODPH_IPPROTO_AH) { > pkt_hdr->input_flags.ipopt = 1; > pkt_hdr->input_flags.ipsec = 1; > return 0; > } > > - if (odp_unlikely(ipv6->next_hdr == ODP_IPPROTO_FRAG)) { > + if (odp_unlikely(ipv6->next_hdr == ODPH_IPPROTO_FRAG)) { > pkt_hdr->input_flags.ipopt = 1; > pkt_hdr->input_flags.ipfrag = 1; > return 0; > } > > /* Don't step through more extensions */ > - *offset_out = ODP_IPV6HDR_LEN; > + *offset_out = ODPH_IPV6HDR_LEN; > return ipv6->next_hdr; > } > > diff --git a/platform/linux-generic/odp_packet_netmap.c b/platform/linux- > generic/odp_packet_netmap.c > index e2215ab..1614b56 100644 > --- a/platform/linux-generic/odp_packet_netmap.c > +++ b/platform/linux-generic/odp_packet_netmap.c > @@ -31,9 +31,9 @@ > #include <odp_hints.h> > #include <odp_thread.h> > > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > -#include <helper/odp_packet_helper.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > +#include <odph_packet_helper.h> > > #define NETMAP_WITH_LIBS > #include <odp_packet_netmap.h> > @@ -41,8 +41,8 @@ > /** Eth buffer start offset from u32-aligned address to make sure the > following > * header (e.g. IP) starts at a 32-bit aligned address. > */ > -#define ETHBUF_OFFSET (ODP_ALIGN_ROUNDUP(ODP_ETHHDR_LEN, > sizeof(uint32_t)) \ > - - ODP_ETHHDR_LEN) > +#define ETHBUF_OFFSET (ODP_ALIGN_ROUNDUP(ODPH_ETHHDR_LEN, > sizeof(uint32_t)) \ > + - ODPH_ETHHDR_LEN) > > /** Round up buffer address to get a properly aliged eth buffer, i.e. > aligned > * so that the next header always starts at a 32bit aligned address. > @@ -135,7 +135,7 @@ int setup_pkt_netmap(pkt_netmap_t * const pkt_nm, > const char *netdev, > /* save netmap_mode for later use */ > pkt_nm->netmap_mode = nm_params->netmap_mode; > > - odp_packet_free(pkt); > + odph_packet_free(pkt); > > if (nm_params->netmap_mode == ODP_NETMAP_MODE_SW) > ringid = NETMAP_SW_RING; > @@ -322,7 +322,7 @@ int recv_pkt_netmap(pkt_netmap_t * const pkt_nm, > odp_packet_t pkt_table[], > /* drop the frame, reuse pkt next interation */ > continue; > } > - if (odp_unlikely(frame_len < ODP_ETH_LEN_MIN)) { > + if (odp_unlikely(frame_len < ODPH_ETH_LEN_MIN)) { > if (odp_unlikely(pkt_nm->netmap_mode != > ODP_NETMAP_MODE_SW)) { > ODP_ERR("RX: Frame truncated: %u\n", > @@ -330,8 +330,8 @@ int recv_pkt_netmap(pkt_netmap_t * const pkt_nm, > odp_packet_t pkt_table[], > continue; > } > memset(l2_hdr + frame_len, 0, > - ODP_ETH_LEN_MIN - frame_len); > - frame_len = ODP_ETH_LEN_MIN; > + ODPH_ETH_LEN_MIN - frame_len); > + frame_len = ODPH_ETH_LEN_MIN; > } > > /* For now copy the data in the mbuf, > @@ -447,7 +447,7 @@ int send_pkt_netmap(pkt_netmap_t * const pkt_nm, > odp_packet_t pkt_table[], > ODP_DBG("===> sent %03u frames to netmap adapter\n", nb_tx); > > for (tx = 0; tx < len; tx++) > - odp_packet_free(pkt_table[tx]); > + odph_packet_free(pkt_table[tx]); > > return nb_tx; > } > diff --git a/platform/linux-generic/odp_packet_socket.c b/platform/linux- > generic/odp_packet_socket.c > index 352d517..857929d 100644 > --- a/platform/linux-generic/odp_packet_socket.c > +++ b/platform/linux-generic/odp_packet_socket.c > @@ -38,9 +38,9 @@ > #include <odp_packet_internal.h> > #include <odp_hints.h> > > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > -#include <helper/odp_packet_helper.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > +#include <odph_packet_helper.h> > > /** Provide a sendmmsg wrapper for systems with no libc or kernel > support. > * As it is implemented as a weak symbol, it has zero effect on systems > @@ -93,8 +93,8 @@ static odp_spinlock_t raw_sockets_lock; > /** Eth buffer start offset from u32-aligned address to make sure the > following > * header (e.g. IP) starts at a 32-bit aligned address. > */ > -#define ETHBUF_OFFSET (ODP_ALIGN_ROUNDUP(ODP_ETHHDR_LEN, > sizeof(uint32_t)) \ > - - ODP_ETHHDR_LEN) > +#define ETHBUF_OFFSET (ODP_ALIGN_ROUNDUP(ODPH_ETHHDR_LEN, > sizeof(uint32_t)) \ > + - ODPH_ETHHDR_LEN) > > /** Round up buffer address to get a properly aliged eth buffer, i.e. > aligned > * so that the next header always starts at a 32bit aligned address. > @@ -186,8 +186,8 @@ int setup_pkt_sock(pkt_sock_t *const pkt_sock, const > char *netdev, > return -1; > pkt_sock->pool = pool; > > - pkt = odp_packet_alloc(pool); > - if (!odp_packet_is_valid(pkt)) > + pkt = odph_packet_alloc(pool); > + if (!odph_packet_is_valid(pkt)) > return -1; > > pkt_buf = odp_packet_buf_addr(pkt); > @@ -195,11 +195,11 @@ int setup_pkt_sock(pkt_sock_t *const pkt_sock, const > char *netdev, > /* Store eth buffer offset for pkt buffers from this pool */ > pkt_sock->frame_offset = (uintptr_t)l2_hdr - (uintptr_t)pkt_buf; > /* pkt buffer size */ > - pkt_sock->buf_size = odp_packet_buf_size(pkt); > + pkt_sock->buf_size = odph_packet_buf_size(pkt); > /* max frame len taking into account the l2-offset */ > pkt_sock->max_frame_len = pkt_sock->buf_size - pkt_sock- > >frame_offset; > > - odp_packet_free(pkt); > + odph_packet_free(pkt); > > odp_spinlock_lock(&raw_sockets_lock); > > @@ -297,7 +297,7 @@ int recv_pkt_sock_basic(pkt_sock_t *const pkt_sock, > > for (i = 0; i < len; i++) { > if (odp_likely(pkt == ODP_PACKET_INVALID)) { > - pkt = odp_packet_alloc(pkt_sock->pool); > + pkt = odph_packet_alloc(pkt_sock->pool); > if (odp_unlikely(pkt == ODP_PACKET_INVALID)) > break; > } > @@ -324,7 +324,7 @@ int recv_pkt_sock_basic(pkt_sock_t *const pkt_sock, > } /* end for() */ > > if (odp_unlikely(pkt != ODP_PACKET_INVALID)) > - odp_packet_free(pkt); > + odph_packet_free(pkt); > > return nb_rx; > } > @@ -368,7 +368,7 @@ int send_pkt_sock_basic(pkt_sock_t *const pkt_sock, > nb_tx = i; > > for (i = 0; i < len; i++) > - odp_packet_free(pkt_table[i]); > + odph_packet_free(pkt_table[i]); > > return nb_tx; > } > @@ -395,7 +395,7 @@ int recv_pkt_sock_mmsg(pkt_sock_t *const pkt_sock, > memset(msgvec, 0, sizeof(msgvec)); > > for (i = 0; i < (int)len; i++) { > - pkt_table[i] = odp_packet_alloc(pkt_sock->pool); > + pkt_table[i] = odph_packet_alloc(pkt_sock->pool); > if (odp_unlikely(pkt_table[i] == ODP_PACKET_INVALID)) > break; > > @@ -417,7 +417,7 @@ int recv_pkt_sock_mmsg(pkt_sock_t *const pkt_sock, > /* Don't receive packets sent by ourselves */ > if (odp_unlikely(ethaddrs_equal(pkt_sock->if_mac, > eth_hdr->h_source))) { > - odp_packet_free(pkt_table[i]); > + odph_packet_free(pkt_table[i]); > continue; > } > > @@ -431,7 +431,7 @@ int recv_pkt_sock_mmsg(pkt_sock_t *const pkt_sock, > > /* Free unused pkt buffers */ > for (; i < msgvec_len; i++) > - odp_packet_free(pkt_table[i]); > + odph_packet_free(pkt_table[i]); > > return nb_rx; > } > @@ -473,7 +473,7 @@ int send_pkt_sock_mmsg(pkt_sock_t *const pkt_sock, > } > > for (i = 0; i < len; i++) > - odp_packet_free(pkt_table[i]); > + odph_packet_free(pkt_table[i]); > > return len; > } > @@ -569,7 +569,7 @@ static inline unsigned pkt_mmap_v2_rx(int sock, struct > ring *ring, > continue; > } > > - pkt_table[i] = odp_packet_alloc(pool); > + pkt_table[i] = odph_packet_alloc(pool); > if (odp_unlikely(pkt_table[i] == ODP_PACKET_INVALID)) > break; > > @@ -623,7 +623,7 @@ static inline unsigned pkt_mmap_v2_tx(int sock, struct > ring *ring, > > mmap_tx_user_ready(ppd.raw); > > - odp_packet_free(pkt_table[i]); > + odph_packet_free(pkt_table[i]); > frame_num = next_frame_num; > i++; > } else { > @@ -815,8 +815,8 @@ int setup_pkt_sock_mmap(pkt_sock_mmap_t *const > pkt_sock, const char *netdev, > if (pool == ODP_BUFFER_POOL_INVALID) > return -1; > > - pkt = odp_packet_alloc(pool); > - if (!odp_packet_is_valid(pkt)) > + pkt = odph_packet_alloc(pool); > + if (!odph_packet_is_valid(pkt)) > return -1; > > pkt_buf = odp_packet_buf_addr(pkt); > @@ -824,7 +824,7 @@ int setup_pkt_sock_mmap(pkt_sock_mmap_t *const > pkt_sock, const char *netdev, > /* Store eth buffer offset for pkt buffers from this pool */ > pkt_sock->frame_offset = (uintptr_t)l2_hdr - (uintptr_t)pkt_buf; > > - odp_packet_free(pkt); > + odph_packet_free(pkt); > > pkt_sock->pool = pool; > pkt_sock->sockfd = mmap_pkt_socket(); > diff --git a/platform/linux-generic/odp_ring.c b/platform/linux- > generic/odp_ring.c > index 25ff66a..c739632 100644 > --- a/platform/linux-generic/odp_ring.c > +++ b/platform/linux-generic/odp_ring.c > @@ -80,7 +80,7 @@ > #include <string.h> > #include <odp_debug.h> > #include <odp_rwlock.h> > -#include <helper/odp_ring.h> > +#include <odph_ring.h> > > static TAILQ_HEAD(, odp_ring) odp_ring_list; > > @@ -145,29 +145,29 @@ static TAILQ_HEAD(, odp_ring) odp_ring_list; > static odp_rwlock_t qlock; /* rings tailq lock */ > > /* init tailq_ring */ > -void odp_ring_tailq_init(void) > +void odph_ring_tailq_init(void) > { > TAILQ_INIT(&odp_ring_list); > odp_rwlock_init(&qlock); > } > > /* create the ring */ > -odp_ring_t * > -odp_ring_create(const char *name, unsigned count, unsigned flags) > +odph_ring_t * > +odph_ring_create(const char *name, unsigned count, unsigned flags) > { > - char ring_name[ODP_RING_NAMESIZE]; > - odp_ring_t *r; > + char ring_name[ODPH_RING_NAMESIZE]; > + odph_ring_t *r; > size_t ring_size; > > /* count must be a power of 2 */ > - if (!ODP_VAL_IS_POWER_2(count) || (count > ODP_RING_SZ_MASK)) { > + if (!ODP_VAL_IS_POWER_2(count) || (count > ODPH_RING_SZ_MASK)) { > ODP_ERR("Requested size is invalid, must be power of 2, and > do not exceed the size limit %u\n", > - ODP_RING_SZ_MASK); > + ODPH_RING_SZ_MASK); > return NULL; > } > > snprintf(ring_name, sizeof(ring_name), "%s", name); > - ring_size = count*sizeof(void *)+sizeof(odp_ring_t); > + ring_size = count*sizeof(void *)+sizeof(odph_ring_t); > > odp_rwlock_write_lock(&qlock); > /* reserve a memory zone for this ring.*/ > @@ -178,8 +178,8 @@ odp_ring_create(const char *name, unsigned count, > unsigned flags) > snprintf(r->name, sizeof(r->name), "%s", name); > r->flags = flags; > r->prod.watermark = count; > - r->prod.sp_enqueue = !!(flags & ODP_RING_F_SP_ENQ); > - r->cons.sc_dequeue = !!(flags & ODP_RING_F_SC_DEQ); > + r->prod.sp_enqueue = !!(flags & ODPH_RING_F_SP_ENQ); > + r->cons.sc_dequeue = !!(flags & ODPH_RING_F_SC_DEQ); > r->prod.size = count; > r->cons.size = count; > r->prod.mask = count-1; > @@ -202,7 +202,7 @@ odp_ring_create(const char *name, unsigned count, > unsigned flags) > * change the high water mark. If *count* is 0, water marking is > * disabled > */ > -int odp_ring_set_water_mark(odp_ring_t *r, unsigned count) > +int odph_ring_set_water_mark(odph_ring_t *r, unsigned count) > { > if (count >= r->prod.size) > return -EINVAL; > @@ -218,8 +218,8 @@ int odp_ring_set_water_mark(odp_ring_t *r, unsigned > count) > /** > * Enqueue several objects on the ring (multi-producers safe). > */ > -int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * const *obj_table, > - unsigned n, enum odp_ring_queue_behavior behavior) > +int __odph_ring_mp_do_enqueue(odph_ring_t *r, void * const *obj_table, > + unsigned n, enum odph_ring_queue_behavior behavior) > { > uint32_t prod_head, prod_next; > uint32_t cons_tail, free_entries; > @@ -244,7 +244,7 @@ int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * > const *obj_table, > > /* check that we have enough room in ring */ > if (odp_unlikely(n > free_entries)) { > - if (behavior == ODP_RING_QUEUE_FIXED) { > + if (behavior == ODPH_RING_QUEUE_FIXED) { > return -ENOBUFS; > } else { > /* No free entry available */ > @@ -266,10 +266,10 @@ int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * > const *obj_table, > > /* if we exceed the watermark */ > if (odp_unlikely(((mask + 1) - free_entries + n) > r- > >prod.watermark)) { > - ret = (behavior == ODP_RING_QUEUE_FIXED) ? -EDQUOT : > - (int)(n | ODP_RING_QUOT_EXCEED); > + ret = (behavior == ODPH_RING_QUEUE_FIXED) ? -EDQUOT : > + (int)(n | ODPH_RING_QUOT_EXCEED); > } else { > - ret = (behavior == ODP_RING_QUEUE_FIXED) ? 0 : n; > + ret = (behavior == ODPH_RING_QUEUE_FIXED) ? 0 : n; > } > > /* > @@ -286,8 +286,8 @@ int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * > const *obj_table, > /** > * Enqueue several objects on a ring (NOT multi-producers safe). > */ > -int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * const *obj_table, > - unsigned n, enum odp_ring_queue_behavior behavior) > +int __odph_ring_sp_do_enqueue(odph_ring_t *r, void * const *obj_table, > + unsigned n, enum odph_ring_queue_behavior behavior) > { > uint32_t prod_head, cons_tail; > uint32_t prod_next, free_entries; > @@ -305,7 +305,7 @@ int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * > const *obj_table, > > /* check that we have enough room in ring */ > if (odp_unlikely(n > free_entries)) { > - if (behavior == ODP_RING_QUEUE_FIXED) { > + if (behavior == ODPH_RING_QUEUE_FIXED) { > return -ENOBUFS; > } else { > /* No free entry available */ > @@ -325,10 +325,10 @@ int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * > const *obj_table, > > /* if we exceed the watermark */ > if (odp_unlikely(((mask + 1) - free_entries + n) > r- > >prod.watermark)) { > - ret = (behavior == ODP_RING_QUEUE_FIXED) ? -EDQUOT : > - (int)(n | ODP_RING_QUOT_EXCEED); > + ret = (behavior == ODPH_RING_QUEUE_FIXED) ? -EDQUOT : > + (int)(n | ODPH_RING_QUOT_EXCEED); > } else { > - ret = (behavior == ODP_RING_QUEUE_FIXED) ? 0 : n; > + ret = (behavior == ODPH_RING_QUEUE_FIXED) ? 0 : n; > } > > r->prod.tail = prod_next; > @@ -339,8 +339,8 @@ int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * > const *obj_table, > * Dequeue several objects from a ring (multi-consumers safe). > */ > > -int __odp_ring_mc_do_dequeue(odp_ring_t *r, void **obj_table, > - unsigned n, enum odp_ring_queue_behavior behavior) > +int __odph_ring_mc_do_dequeue(odph_ring_t *r, void **obj_table, > + unsigned n, enum odph_ring_queue_behavior behavior) > { > uint32_t cons_head, prod_tail; > uint32_t cons_next, entries; > @@ -364,7 +364,7 @@ int __odp_ring_mc_do_dequeue(odp_ring_t *r, void > **obj_table, > > /* Set the actual entries for dequeue */ > if (n > entries) { > - if (behavior == ODP_RING_QUEUE_FIXED) { > + if (behavior == ODPH_RING_QUEUE_FIXED) { > return -ENOENT; > } else { > if (odp_unlikely(entries == 0)) > @@ -392,14 +392,14 @@ int __odp_ring_mc_do_dequeue(odp_ring_t *r, void > **obj_table, > > r->cons.tail = cons_next; > > - return behavior == ODP_RING_QUEUE_FIXED ? 0 : n; > + return behavior == ODPH_RING_QUEUE_FIXED ? 0 : n; > } > > /** > * Dequeue several objects from a ring (NOT multi-consumers safe). > */ > -int __odp_ring_sc_do_dequeue(odp_ring_t *r, void **obj_table, > - unsigned n, enum odp_ring_queue_behavior behavior) > +int __odph_ring_sc_do_dequeue(odph_ring_t *r, void **obj_table, > + unsigned n, enum odph_ring_queue_behavior behavior) > { > uint32_t cons_head, prod_tail; > uint32_t cons_next, entries; > @@ -415,7 +415,7 @@ int __odp_ring_sc_do_dequeue(odp_ring_t *r, void > **obj_table, > entries = prod_tail - cons_head; > > if (n > entries) { > - if (behavior == ODP_RING_QUEUE_FIXED) { > + if (behavior == ODPH_RING_QUEUE_FIXED) { > return -ENOENT; > } else { > if (odp_unlikely(entries == 0)) > @@ -433,47 +433,51 @@ int __odp_ring_sc_do_dequeue(odp_ring_t *r, void > **obj_table, > odp_mem_barrier(); > > r->cons.tail = cons_next; > - return behavior == ODP_RING_QUEUE_FIXED ? 0 : n; > + return behavior == ODPH_RING_QUEUE_FIXED ? 0 : n; > } > > /** > * Enqueue several objects on the ring (multi-producers safe). > */ > -int odp_ring_mp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, > +int odph_ring_mp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, > unsigned n) > { > - return __odp_ring_mp_do_enqueue(r, obj_table, n, > ODP_RING_QUEUE_FIXED); > + return __odph_ring_mp_do_enqueue(r, obj_table, n, > + ODPH_RING_QUEUE_FIXED); > } > > /** > * Enqueue several objects on a ring (NOT multi-producers safe). > */ > -int odp_ring_sp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, > +int odph_ring_sp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, > unsigned n) > { > - return __odp_ring_sp_do_enqueue(r, obj_table, n, > ODP_RING_QUEUE_FIXED); > + return __odph_ring_sp_do_enqueue(r, obj_table, n, > + ODPH_RING_QUEUE_FIXED); > } > > /** > * Dequeue several objects from a ring (multi-consumers safe). > */ > -int odp_ring_mc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned n) > +int odph_ring_mc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned > n) > { > - return __odp_ring_mc_do_dequeue(r, obj_table, n, > ODP_RING_QUEUE_FIXED); > + return __odph_ring_mc_do_dequeue(r, obj_table, n, > + ODPH_RING_QUEUE_FIXED); > } > > /** > * Dequeue several objects from a ring (NOT multi-consumers safe). > */ > -int odp_ring_sc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned n) > +int odph_ring_sc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned > n) > { > - return __odp_ring_sc_do_dequeue(r, obj_table, n, > ODP_RING_QUEUE_FIXED); > + return __odph_ring_sc_do_dequeue(r, obj_table, n, > + ODPH_RING_QUEUE_FIXED); > } > > /** > * Test if a ring is full. > */ > -int odp_ring_full(const odp_ring_t *r) > +int odph_ring_full(const odph_ring_t *r) > { > uint32_t prod_tail = r->prod.tail; > uint32_t cons_tail = r->cons.tail; > @@ -483,7 +487,7 @@ int odp_ring_full(const odp_ring_t *r) > /** > * Test if a ring is empty. > */ > -int odp_ring_empty(const odp_ring_t *r) > +int odph_ring_empty(const odph_ring_t *r) > { > uint32_t prod_tail = r->prod.tail; > uint32_t cons_tail = r->cons.tail; > @@ -493,7 +497,7 @@ int odp_ring_empty(const odp_ring_t *r) > /** > * Return the number of entries in a ring. > */ > -unsigned odp_ring_count(const odp_ring_t *r) > +unsigned odph_ring_count(const odph_ring_t *r) > { > uint32_t prod_tail = r->prod.tail; > uint32_t cons_tail = r->cons.tail; > @@ -503,7 +507,7 @@ unsigned odp_ring_count(const odp_ring_t *r) > /** > * Return the number of free entries in a ring. > */ > -unsigned odp_ring_free_count(const odp_ring_t *r) > +unsigned odph_ring_free_count(const odph_ring_t *r) > { > uint32_t prod_tail = r->prod.tail; > uint32_t cons_tail = r->cons.tail; > @@ -511,7 +515,7 @@ unsigned odp_ring_free_count(const odp_ring_t *r) > } > > /* dump the status of the ring on the console */ > -void odp_ring_dump(const odp_ring_t *r) > +void odph_ring_dump(const odph_ring_t *r) > { > ODP_DBG("ring <%s>@%p\n", r->name, r); > ODP_DBG(" flags=%x\n", r->flags); > @@ -520,8 +524,8 @@ void odp_ring_dump(const odp_ring_t *r) > ODP_DBG(" ch=%"PRIu32"\n", r->cons.head); > ODP_DBG(" pt=%"PRIu32"\n", r->prod.tail); > ODP_DBG(" ph=%"PRIu32"\n", r->prod.head); > - ODP_DBG(" used=%u\n", odp_ring_count(r)); > - ODP_DBG(" avail=%u\n", odp_ring_free_count(r)); > + ODP_DBG(" used=%u\n", odph_ring_count(r)); > + ODP_DBG(" avail=%u\n", odph_ring_free_count(r)); > if (r->prod.watermark == r->prod.size) > ODP_DBG(" watermark=0\n"); > else > @@ -529,27 +533,27 @@ void odp_ring_dump(const odp_ring_t *r) > } > > /* dump the status of all rings on the console */ > -void odp_ring_list_dump(void) > +void odph_ring_list_dump(void) > { > - const odp_ring_t *mp = NULL; > + const odph_ring_t *mp = NULL; > > odp_rwlock_read_lock(&qlock); > > TAILQ_FOREACH(mp, &odp_ring_list, next) { > - odp_ring_dump(mp); > + odph_ring_dump(mp); > } > > odp_rwlock_read_unlock(&qlock); > } > > /* search a ring from its name */ > -odp_ring_t *odp_ring_lookup(const char *name) > +odph_ring_t *odph_ring_lookup(const char *name) > { > - odp_ring_t *r = odp_shm_lookup(name); > + odph_ring_t *r = odp_shm_lookup(name); > > odp_rwlock_read_lock(&qlock); > TAILQ_FOREACH(r, &odp_ring_list, next) { > - if (strncmp(name, r->name, ODP_RING_NAMESIZE) == 0) > + if (strncmp(name, r->name, ODPH_RING_NAMESIZE) == 0) > break; > } > odp_rwlock_read_unlock(&qlock); > @@ -560,60 +564,60 @@ odp_ring_t *odp_ring_lookup(const char *name) > /** > * Enqueue several objects on the ring (multi-producers safe). > */ > -int odp_ring_mp_enqueue_burst(odp_ring_t *r, void * const *obj_table, > +int odph_ring_mp_enqueue_burst(odph_ring_t *r, void * const *obj_table, > unsigned n) > { > - return __odp_ring_mp_do_enqueue(r, obj_table, n, > - ODP_RING_QUEUE_VARIABLE); > + return __odph_ring_mp_do_enqueue(r, obj_table, n, > + ODPH_RING_QUEUE_VARIABLE); > } > > /** > * Enqueue several objects on a ring (NOT multi-producers safe). > */ > -int odp_ring_sp_enqueue_burst(odp_ring_t *r, void * const *obj_table, > +int odph_ring_sp_enqueue_burst(odph_ring_t *r, void * const *obj_table, > unsigned n) > { > - return __odp_ring_sp_do_enqueue(r, obj_table, n, > - ODP_RING_QUEUE_VARIABLE); > + return __odph_ring_sp_do_enqueue(r, obj_table, n, > + ODPH_RING_QUEUE_VARIABLE); > } > > /** > * Enqueue several objects on a ring. > */ > -int odp_ring_enqueue_burst(odp_ring_t *r, void * const *obj_table, > +int odph_ring_enqueue_burst(odph_ring_t *r, void * const *obj_table, > unsigned n) > { > if (r->prod.sp_enqueue) > - return odp_ring_sp_enqueue_burst(r, obj_table, n); > + return odph_ring_sp_enqueue_burst(r, obj_table, n); > else > - return odp_ring_mp_enqueue_burst(r, obj_table, n); > + return odph_ring_mp_enqueue_burst(r, obj_table, n); > } > > /** > * Dequeue several objects from a ring (multi-consumers safe). > */ > -int odp_ring_mc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned > n) > +int odph_ring_mc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned > n) > { > - return __odp_ring_mc_do_dequeue(r, obj_table, n, > - ODP_RING_QUEUE_VARIABLE); > + return __odph_ring_mc_do_dequeue(r, obj_table, n, > + ODPH_RING_QUEUE_VARIABLE); > } > > /** > * Dequeue several objects from a ring (NOT multi-consumers safe). > */ > -int odp_ring_sc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned > n) > +int odph_ring_sc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned > n) > { > - return __odp_ring_sc_do_dequeue(r, obj_table, n, > - ODP_RING_QUEUE_VARIABLE); > + return __odph_ring_sc_do_dequeue(r, obj_table, n, > + ODPH_RING_QUEUE_VARIABLE); > } > > /** > * Dequeue multiple objects from a ring up to a maximum number. > */ > -int odp_ring_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n) > +int odph_ring_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n) > { > if (r->cons.sc_dequeue) > - return odp_ring_sc_dequeue_burst(r, obj_table, n); > + return odph_ring_sc_dequeue_burst(r, obj_table, n); > else > - return odp_ring_mc_dequeue_burst(r, obj_table, n); > + return odph_ring_mc_dequeue_burst(r, obj_table, n); > } > diff --git a/platform/linux-keystone2/Makefile.am b/platform/linux- > keystone2/Makefile.am > index 8e5fbb3..1005da9 100644 > --- a/platform/linux-keystone2/Makefile.am > +++ b/platform/linux-keystone2/Makefile.am > @@ -20,7 +20,7 @@ AM_CFLAGS += -I$(srcdir)/include > AM_CFLAGS += -I$(srcdir)/include/api > AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include > AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include/api > -AM_CFLAGS += -I$(top_srcdir)/include > +AM_CFLAGS += -I$(top_srcdir)/helper/include > KS2_LIBS="-lopenem_rh -lopenem_osal" > LIBS += $(KS2_LIBS) > > @@ -57,13 +57,13 @@ include_HEADERS = \ > > subdirheadersdir = $(includedir)/helper > subdirheaders_HEADERS = \ > - $(top_srcdir)/include/helper/odp_chksum.h \ > - $(top_srcdir)/include/helper/odp_eth.h \ > - $(top_srcdir)/include/helper/odp_ip.h \ > - $(top_srcdir)/include/helper/odp_linux.h \ > - $(top_srcdir)/include/helper/odp_packet_helper.h \ > - $(top_srcdir)/include/helper/odp_ring.h \ > - $(top_srcdir)/include/helper/odp_udp.h > + $(top_srcdir)/helper/include/odph_chksum.h \ > + $(top_srcdir)/helper/include/odph_eth.h \ > + $(top_srcdir)/helper/include/odph_ip.h \ > + $(top_srcdir)/helper/include/odph_linux.h \ > + $(top_srcdir)/helper/include/odph_packet_helper.h \ > + $(top_srcdir)/helper/include/odph_ring.h \ > + $(top_srcdir)/helper/include/odph_udp.h > > __LIB__libodp_la_SOURCES = \ > ../linux-generic/odp_barrier.c \ > diff --git a/platform/linux-keystone2/odp_packet.c b/platform/linux- > keystone2/odp_packet.c > index 271d66b..fac0d22 100644 > --- a/platform/linux-keystone2/odp_packet.c > +++ b/platform/linux-keystone2/odp_packet.c > @@ -10,16 +10,16 @@ > #include <odp_byteorder.h> > #include <ti_em_rh.h> > > -#include <helper/odp_eth.h> > -#include <helper/odp_ip.h> > +#include <odph_eth.h> > +#include <odph_ip.h> > > #include <string.h> > #include <stdio.h> > > -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t > *ipv4, > - size_t *offset_out); > -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t > *ipv6, > - size_t *offset_out); > +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, > + odph_ipv4hdr_t *ipv4, size_t *offset_out); > +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, > + odph_ipv6hdr_t *ipv6, size_t *offset_out); > > void odp_packet_init(odp_packet_t pkt) > { > @@ -135,10 +135,10 @@ void odp_packet_set_l4_offset(odp_packet_t pkt, > size_t offset) > void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) > { > odp_packet_hdr_t *const pkt_hdr = odp_packet_hdr(pkt); > - odp_ethhdr_t *eth; > - odp_vlanhdr_t *vlan; > - odp_ipv4hdr_t *ipv4; > - odp_ipv6hdr_t *ipv6; > + odph_ethhdr_t *eth; > + odph_vlanhdr_t *vlan; > + odph_ipv4hdr_t *ipv4; > + odph_ipv6hdr_t *ipv6; > uint16_t ethtype; > size_t offset = 0; > uint8_t ip_proto = 0; > @@ -146,10 +146,10 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > pkt_hdr->input_flags.eth = 1; > pkt_hdr->frame_offset = frame_offset; > > - if (odp_unlikely(len < ODP_ETH_LEN_MIN)) { > + if (odp_unlikely(len < ODPH_ETH_LEN_MIN)) { > pkt_hdr->error_flags.frame_len = 1; > return; > - } else if (len > ODP_ETH_LEN_MAX) { > + } else if (len > ODPH_ETH_LEN_MAX) { > pkt_hdr->input_flags.jumbo = 1; > } > > @@ -160,40 +160,40 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > pkt_hdr->input_flags.l2 = 1; > pkt_hdr->l2_offset = frame_offset; > > - eth = (odp_ethhdr_t *)odp_packet_start(pkt); > + eth = (odph_ethhdr_t *)odp_packet_start(pkt); > ethtype = odp_be_to_cpu_16(eth->type); > - vlan = (odp_vlanhdr_t *)ð->type; > + vlan = (odph_vlanhdr_t *)ð->type; > > - if (ethtype == ODP_ETHTYPE_VLAN_OUTER) { > + if (ethtype == ODPH_ETHTYPE_VLAN_OUTER) { > pkt_hdr->input_flags.vlan_qinq = 1; > ethtype = odp_be_to_cpu_16(vlan->tpid); > - offset += sizeof(odp_vlanhdr_t); > + offset += sizeof(odph_vlanhdr_t); > vlan = &vlan[1]; > } > > - if (ethtype == ODP_ETHTYPE_VLAN) { > + if (ethtype == ODPH_ETHTYPE_VLAN) { > pkt_hdr->input_flags.vlan = 1; > ethtype = odp_be_to_cpu_16(vlan->tpid); > - offset += sizeof(odp_vlanhdr_t); > + offset += sizeof(odph_vlanhdr_t); > } > > /* Set l3_offset+flag only for known ethtypes */ > switch (ethtype) { > - case ODP_ETHTYPE_IPV4: > + case ODPH_ETHTYPE_IPV4: > pkt_hdr->input_flags.ipv4 = 1; > pkt_hdr->input_flags.l3 = 1; > - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; > - ipv4 = (odp_ipv4hdr_t *)odp_packet_l3(pkt); > + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; > + ipv4 = (odph_ipv4hdr_t *)odp_packet_l3(pkt); > ip_proto = parse_ipv4(pkt_hdr, ipv4, &offset); > break; > - case ODP_ETHTYPE_IPV6: > + case ODPH_ETHTYPE_IPV6: > pkt_hdr->input_flags.ipv6 = 1; > pkt_hdr->input_flags.l3 = 1; > - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; > - ipv6 = (odp_ipv6hdr_t *)odp_packet_l3(pkt); > + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; > + ipv6 = (odph_ipv6hdr_t *)odp_packet_l3(pkt); > ip_proto = parse_ipv6(pkt_hdr, ipv6, &offset); > break; > - case ODP_ETHTYPE_ARP: > + case ODPH_ETHTYPE_ARP: > pkt_hdr->input_flags.arp = 1; > /* fall through */ > default: > @@ -202,22 +202,22 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > } > > switch (ip_proto) { > - case ODP_IPPROTO_UDP: > + case ODPH_IPPROTO_UDP: > pkt_hdr->input_flags.udp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_TCP: > + case ODPH_IPPROTO_TCP: > pkt_hdr->input_flags.tcp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_SCTP: > + case ODPH_IPPROTO_SCTP: > pkt_hdr->input_flags.sctp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > break; > - case ODP_IPPROTO_ICMP: > + case ODPH_IPPROTO_ICMP: > pkt_hdr->input_flags.icmp = 1; > pkt_hdr->input_flags.l4 = 1; > pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; > @@ -232,19 +232,19 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, > size_t frame_offset) > } > } > > -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t > *ipv4, > - size_t *offset_out) > +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, > + odph_ipv4hdr_t *ipv4, size_t *offset_out) > { > uint8_t ihl; > uint16_t frag_offset; > > - ihl = ODP_IPV4HDR_IHL(ipv4->ver_ihl); > - if (odp_unlikely(ihl < ODP_IPV4HDR_IHL_MIN)) { > + ihl = ODPH_IPV4HDR_IHL(ipv4->ver_ihl); > + if (odp_unlikely(ihl < ODPH_IPV4HDR_IHL_MIN)) { > pkt_hdr->error_flags.ip_err = 1; > return 0; > } > > - if (odp_unlikely(ihl > ODP_IPV4HDR_IHL_MIN)) { > + if (odp_unlikely(ihl > ODPH_IPV4HDR_IHL_MIN)) { > pkt_hdr->input_flags.ipopt = 1; > return 0; > } > @@ -255,13 +255,13 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t > *pkt_hdr, odp_ipv4hdr_t *ipv4, > * "fragment offset" field is nonzero (all fragments except the > first) > */ > frag_offset = odp_be_to_cpu_16(ipv4->frag_offset); > - if (odp_unlikely(ODP_IPV4HDR_IS_FRAGMENT(frag_offset))) { > + if (odp_unlikely(ODPH_IPV4HDR_IS_FRAGMENT(frag_offset))) { > pkt_hdr->input_flags.ipfrag = 1; > return 0; > } > > - if (ipv4->proto == ODP_IPPROTO_ESP || > - ipv4->proto == ODP_IPPROTO_AH) { > + if (ipv4->proto == ODPH_IPPROTO_ESP || > + ipv4->proto == ODPH_IPPROTO_AH) { > pkt_hdr->input_flags.ipsec = 1; > return 0; > } > @@ -272,24 +272,24 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t > *pkt_hdr, odp_ipv4hdr_t *ipv4, > return ipv4->proto; > } > > -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t > *ipv6, > - size_t *offset_out) > +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, > + odph_ipv6hdr_t *ipv6, size_t *offset_out) > { > - if (ipv6->next_hdr == ODP_IPPROTO_ESP || > - ipv6->next_hdr == ODP_IPPROTO_AH) { > + if (ipv6->next_hdr == ODPH_IPPROTO_ESP || > + ipv6->next_hdr == ODPH_IPPROTO_AH) { > pkt_hdr->input_flags.ipopt = 1; > pkt_hdr->input_flags.ipsec = 1; > return 0; > } > > - if (odp_unlikely(ipv6->next_hdr == ODP_IPPROTO_FRAG)) { > + if (odp_unlikely(ipv6->next_hdr == ODPH_IPPROTO_FRAG)) { > pkt_hdr->input_flags.ipopt = 1; > pkt_hdr->input_flags.ipfrag = 1; > return 0; > } > > /* Don't step through more extensions */ > - *offset_out = ODP_IPV6HDR_LEN; > + *offset_out = ODPH_IPV6HDR_LEN; > return ipv6->next_hdr; > } > > diff --git a/test/Makefile.inc b/test/Makefile.inc > index b549001..4de2feb 100644 > --- a/test/Makefile.inc > +++ b/test/Makefile.inc > @@ -5,6 +5,6 @@ AM_CFLAGS += \ > -I$(srcdir) \ > -I$(top_srcdir)/platform/@with_platform@/include/api \ > -I$(top_srcdir)/platform/linux-generic/include/api \ > - -I$(top_srcdir)/include > + -I$(top_srcdir)/helper/include > > AM_LDFLAGS += -L$(LIB) > diff --git a/test/api_test/odp_atomic_test.h > b/test/api_test/odp_atomic_test.h > index d6eec04..7814da5 100644 > --- a/test/api_test/odp_atomic_test.h > +++ b/test/api_test/odp_atomic_test.h > @@ -8,7 +8,7 @@ > #define ODP_ATOMIC_TEST_H_ > > #include <odp.h> > -#include <helper/odp_linux.h> > +#include <odph_linux.h> > > /** > * add_sub_cnt could be any valid value > diff --git a/test/api_test/odp_common.c b/test/api_test/odp_common.c > index 89ebd2d..b0a6fbc 100644 > --- a/test/api_test/odp_common.c > +++ b/test/api_test/odp_common.c > @@ -12,14 +12,14 @@ > > #include <string.h> > #include <odp.h> > -#include <helper/odp_linux.h> > +#include <odph_linux.h> > #include <odp_common.h> > #include <odp_atomic_test.h> > #include <odp_shm_test.h> > > > /* Globals */ > -static odp_linux_pthread_t thread_tbl[MAX_WORKERS]; /**< worker threads > table */ > +static odph_linux_pthread_t thread_tbl[MAX_WORKERS]; /**< worker threads > table*/ > static int num_workers; /**< number of workers > */ > __thread test_shared_data_t *test_shared_data; /**< pointer to shared > data */ > > @@ -73,8 +73,8 @@ int odp_test_global_init(void) > int odp_test_thread_create(void *func_ptr(void *), pthrd_arg *arg) > { > /* Create and init additional threads */ > - odp_linux_pthread_create(thread_tbl, arg->numthrds, 0, func_ptr, > - (void *)arg); > + odph_linux_pthread_create(thread_tbl, arg->numthrds, 0, func_ptr, > + (void *)arg); > > return 0; > } > @@ -83,7 +83,7 @@ int odp_test_thread_create(void *func_ptr(void *), > pthrd_arg *arg) > int odp_test_thread_exit(pthrd_arg *arg) > { > /* Wait for other threads to exit */ > - odp_linux_pthread_join(thread_tbl, arg->numthrds); > + odph_linux_pthread_join(thread_tbl, arg->numthrds); > > return 0; > } > diff --git a/test/api_test/odp_ring_test.c b/test/api_test/odp_ring_test.c > index 93bd869..d75c30b 100644 > --- a/test/api_test/odp_ring_test.c > +++ b/test/api_test/odp_ring_test.c > @@ -50,14 +50,14 @@ > #include <odp.h> > #include <odp_debug.h> > #include <odp_common.h> > -#include <helper/odp_ring.h> > +#include <odph_ring.h> > > #define RING_SIZE 4096 > #define MAX_BULK 32 > > #define RING_TEST_BASIC > > -static int test_ring_basic(odp_ring_t *r) > +static int test_ring_basic(odph_ring_t *r) > { > void **src = NULL, **cur_src = NULL, **dst = NULL, **cur_dst = NULL; > int ret; > @@ -86,48 +86,48 @@ static int test_ring_basic(odp_ring_t *r) > > printf("Test SP & SC basic functions\n"); > printf("enqueue 1 obj\n"); > - ret = odp_ring_sp_enqueue_burst(r, cur_src, 1); > + ret = odph_ring_sp_enqueue_burst(r, cur_src, 1); > cur_src += 1; > - if ((ret & ODP_RING_SZ_MASK) != 1) { > + if ((ret & ODPH_RING_SZ_MASK) != 1) { > ODP_ERR("sp_enq for 1 obj failed\n"); > goto fail; > } > > printf("enqueue 2 objs\n"); > - ret = odp_ring_sp_enqueue_burst(r, cur_src, 2); > + ret = odph_ring_sp_enqueue_burst(r, cur_src, 2); > cur_src += 2; > - if ((ret & ODP_RING_SZ_MASK) != 2) { > + if ((ret & ODPH_RING_SZ_MASK) != 2) { > ODP_ERR("sp_enq for 2 obj failed\n"); > goto fail; > } > > printf("enqueue MAX_BULK objs\n"); > - ret = odp_ring_sp_enqueue_burst(r, cur_src, MAX_BULK); > - if ((ret & ODP_RING_SZ_MASK) != MAX_BULK) { > + ret = odph_ring_sp_enqueue_burst(r, cur_src, MAX_BULK); > + if ((ret & ODPH_RING_SZ_MASK) != MAX_BULK) { > ODP_ERR("sp_enq for %d obj failed\n", MAX_BULK); > goto fail; > } > > printf("dequeue 1 obj\n"); > - ret = odp_ring_sc_dequeue_burst(r, cur_dst, 1); > + ret = odph_ring_sc_dequeue_burst(r, cur_dst, 1); > cur_dst += 1; > - if ((ret & ODP_RING_SZ_MASK) != 1) { > + if ((ret & ODPH_RING_SZ_MASK) != 1) { > ODP_ERR("sc_deq for 1 obj failed\n"); > goto fail; > } > > printf("dequeue 2 objs\n"); > - ret = odp_ring_sc_dequeue_burst(r, cur_dst, 2); > + ret = odph_ring_sc_dequeue_burst(r, cur_dst, 2); > cur_dst += 2; > - if ((ret & ODP_RING_SZ_MASK) != 2) { > + if ((ret & ODPH_RING_SZ_MASK) != 2) { > ODP_ERR("sc_deq for 2 obj failed\n"); > goto fail; > } > > printf("dequeue MAX_BULK objs\n"); > - ret = odp_ring_sc_dequeue_burst(r, cur_dst, MAX_BULK); > + ret = odph_ring_sc_dequeue_burst(r, cur_dst, MAX_BULK); > cur_dst += MAX_BULK; > - if ((ret & ODP_RING_SZ_MASK) != MAX_BULK) { > + if ((ret & ODPH_RING_SZ_MASK) != MAX_BULK) { > ODP_ERR("sc_deq for %d obj failed\n", MAX_BULK); > goto fail; > } > @@ -144,41 +144,41 @@ static int test_ring_basic(odp_ring_t *r) > printf("Test MP & MC basic functions\n"); > > printf("enqueue 1 obj\n"); > - ret = odp_ring_mp_enqueue_bulk(r, cur_src, 1); > + ret = odph_ring_mp_enqueue_bulk(r, cur_src, 1); > cur_src += 1; > if (ret != 0) { > ODP_ERR("mp_enq for 1 obj failed\n"); > goto fail; > } > printf("enqueue 2 objs\n"); > - ret = odp_ring_mp_enqueue_bulk(r, cur_src, 2); > + ret = odph_ring_mp_enqueue_bulk(r, cur_src, 2); > cur_src += 2; > if (ret != 0) { > ODP_ERR("mp_enq for 2 obj failed\n"); > goto fail; > } > printf("enqueue MAX_BULK objs\n"); > - ret = odp_ring_mp_enqueue_bulk(r, cur_src, MAX_BULK); > + ret = odph_ring_mp_enqueue_bulk(r, cur_src, MAX_BULK); > if (ret != 0) { > ODP_ERR("mp_enq for %d obj failed\n", MAX_BULK); > goto fail; > } > printf("dequeue 1 obj\n"); > - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, 1); > + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, 1); > cur_dst += 1; > if (ret != 0) { > ODP_ERR("mc_deq for 1 obj failed\n"); > goto fail; > } > printf("dequeue 2 objs\n"); > - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, 2); > + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, 2); > cur_dst += 2; > if (ret != 0) { > ODP_ERR("mc_deq for 2 obj failed\n"); > goto fail; > } > printf("dequeue MAX_BULK objs\n"); > - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, MAX_BULK); > + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, MAX_BULK); > cur_dst += MAX_BULK; > if (ret != 0) { > ODP_ERR("mc_deq for %d obj failed\n", MAX_BULK); > @@ -191,30 +191,30 @@ static int test_ring_basic(odp_ring_t *r) > } > > printf("test watermark and default bulk enqueue / dequeue\n"); > - odp_ring_set_water_mark(r, 20); > + odph_ring_set_water_mark(r, 20); > num_elems = 16; > > cur_src = src; > cur_dst = dst; > > - ret = odp_ring_mp_enqueue_bulk(r, cur_src, num_elems); > + ret = odph_ring_mp_enqueue_bulk(r, cur_src, num_elems); > cur_src += num_elems; > if (ret != 0) { > ODP_ERR("Cannot enqueue\n"); > goto fail; > } > - ret = odp_ring_mp_enqueue_bulk(r, cur_src, num_elems); > + ret = odph_ring_mp_enqueue_bulk(r, cur_src, num_elems); > if (ret != -EDQUOT) { > ODP_ERR("Watermark not exceeded\n"); > goto fail; > } > - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, num_elems); > + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, num_elems); > cur_dst += num_elems; > if (ret != 0) { > ODP_ERR("Cannot dequeue\n"); > goto fail; > } > - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, num_elems); > + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, num_elems); > cur_dst += num_elems; > if (ret != 0) { > ODP_ERR("Cannot dequeue2\n"); > @@ -241,7 +241,7 @@ fail: > } > > /* global shared ring used for stress testing */ > -static odp_ring_t *r_stress; > +static odph_ring_t *r_stress; > > /* Stress func for Multi producer only */ > static int producer_fn(void) > @@ -260,7 +260,7 @@ static int producer_fn(void) > src[i] = (void *)(unsigned long)i; > > do { > - i = odp_ring_mp_enqueue_bulk(r_stress, src, MAX_BULK); > + i = odph_ring_mp_enqueue_bulk(r_stress, src, MAX_BULK); > if (i == 0) > return 0; > } while (1); > @@ -280,7 +280,7 @@ static int consumer_fn(void) > } > > do { > - i = odp_ring_mc_dequeue_bulk(r_stress, src, MAX_BULK); > + i = odph_ring_mc_dequeue_bulk(r_stress, src, MAX_BULK); > if (i == 0) { > for (i = 0; i < MAX_BULK; i++) { > if (src[i] != (void *)(unsigned long)i) { > @@ -351,8 +351,8 @@ static void *test_ring(void *arg) > { > ring_arg_t *parg = (ring_arg_t *)arg; > int thr; > - char ring_name[ODP_RING_NAMESIZE]; > - odp_ring_t *r; > + char ring_name[ODPH_RING_NAMESIZE]; > + odph_ring_t *r; > int result = 0; > > thr = odp_thread_id(); > @@ -363,7 +363,7 @@ static void *test_ring(void *arg) > case ODP_RING_TEST_BASIC: > snprintf(ring_name, sizeof(ring_name), "test_ring_%i", thr); > > - r = odp_ring_create(ring_name, RING_SIZE, > + r = odph_ring_create(ring_name, RING_SIZE, > 0 /* not used, alignement > taken care inside func : todo */); > if (r == NULL) { > @@ -372,7 +372,7 @@ static void *test_ring(void *arg) > break; > } > /* lookup ring from its name */ > - if (odp_ring_lookup(ring_name) != r) { > + if (odph_ring_lookup(ring_name) != r) { > ODP_ERR("ring lookup failed\n"); > result = -1; > break; > @@ -385,7 +385,7 @@ static void *test_ring(void *arg) > } > > /* dump ring stats */ > - odp_ring_list_dump(); > + odph_ring_list_dump(); > > break; > > @@ -393,7 +393,7 @@ static void *test_ring(void *arg) > test_ring_stress(parg->stress_type); > > /* dump ring stats */ > - odp_ring_list_dump(); > + odph_ring_list_dump(); > break; > > default: > @@ -423,7 +423,7 @@ int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED) > > odp_print_system_info(); > > - odp_ring_tailq_init(); > + odph_ring_tailq_init(); > > rarg.thrdarg.numthrds = odp_sys_core_count(); > > @@ -433,13 +433,13 @@ int main(int argc ODP_UNUSED, char *argv[] > ODP_UNUSED) > rarg.thrdarg.testcase = ODP_RING_TEST_STRESS; > rarg.stress_type = one_enq_one_deq; > /* rarg.stress_type = multi_enq_multi_deq;*/ > - char ring_name[ODP_RING_NAMESIZE]; > + char ring_name[ODPH_RING_NAMESIZE]; > > printf("starting stess test type : %d..\n", rarg.stress_type); > /* create a ring */ > snprintf(ring_name, sizeof(ring_name), "test_ring_stress"); > > - r_stress = odp_ring_create(ring_name, RING_SIZE, > + r_stress = odph_ring_create(ring_name, RING_SIZE, > 0 /* not used, alignement > taken care inside func : todo */); > if (r_stress == NULL) { > @@ -447,7 +447,7 @@ int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED) > goto fail; > } > /* lookup ring from its name */ > - if (odp_ring_lookup(ring_name) != r_stress) { > + if (odph_ring_lookup(ring_name) != r_stress) { > ODP_ERR("ring lookup failed\n"); > goto fail; > } > diff --git a/test/api_test/odp_timer_ping.c > b/test/api_test/odp_timer_ping.c > index c1cc255..6ba30d3 100644 > --- a/test/api_test/odp_timer_ping.c > +++ b/test/api_test/odp_timer_ping.c > @@ -35,8 +35,8 @@ > #include <odp.h> > #include <odp_common.h> > #include <odp_timer.h> > -#include <helper/odp_linux.h> > -#include <helper/odp_chksum.h> > +#include <odph_linux.h> > +#include <odph_chksum.h> > > #define MSG_POOL_SIZE (4*1024*1024) > #define BUF_SIZE 8 > @@ -309,7 +309,7 @@ static int ping_init(int count, char *name[]) > > int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED) > { > - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; > + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; > ping_arg_t pingarg; > odp_queue_t queue; > odp_buffer_pool_t pool; > @@ -371,12 +371,12 @@ int main(int argc ODP_UNUSED, char *argv[] > ODP_UNUSED) > run_thread = rx_ping; > > /* Create and launch worker threads */ > - odp_linux_pthread_create(&thread_tbl[i], 1, i, > - run_thread, (pthrd_arg *)&pingarg); > + odph_linux_pthread_create(&thread_tbl[i], 1, i, > + run_thread, (pthrd_arg *)&pingarg); > } > > /* Wait for worker threads to exit */ > - odp_linux_pthread_join(thread_tbl, PING_THRD); > + odph_linux_pthread_join(thread_tbl, PING_THRD); > > ODP_DBG("ping timer test %s\n", (pingarg.result == 0) ? "passed" : > "failed"); > > -- > 1.9.1 > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/lng-odp
On Thu, Aug 28, 2014 at 11:02:08PM +0100, Anders Roxell wrote: > Signed-off-by: Anders Roxell <anders.roxell@linaro.org> > --- > .gitignore | 6 +- > configure.ac | 4 +- > doc/doxygen.cfg | 2 +- > example/Makefile.inc | 2 +- > example/generator/odp_generator.c | 142 ++++++++++---------- > example/l2fwd/odp_l2fwd.c | 18 +-- > example/odp_example/odp_example.c | 10 +- > example/packet/odp_pktio.c | 28 ++-- > example/packet_netmap/odp_pktio_netmap.c | 32 ++--- > example/timer/odp_timer_test.c | 10 +- > .../odp_chksum.h => helper/include/odph_chksum.h | 0 > helper/include/odph_eth.h | 87 ++++++++++++ > .../odp_icmp.h => helper/include/odph_icmp.h | 12 +- > .../helper/odp_ip.h => helper/include/odph_ip.h | 70 +++++----- > .../odp_linux.h => helper/include/odph_linux.h | 6 +- > .../include/odph_packet_helper.h | 12 +- > .../odp_ring.h => helper/include/odph_ring.h | 98 +++++++------- > .../helper/odp_udp.h => helper/include/odph_udp.h | 32 ++--- > include/helper/odp_eth.h | 87 ------------ > platform/linux-dpdk/Makefile.am | 16 +-- > platform/linux-dpdk/include/odp_packet_dpdk.h | 4 +- > platform/linux-dpdk/odp_linux.c | 6 +- > platform/linux-dpdk/odp_packet.c | 86 ++++++------ > platform/linux-generic/Makefile.am | 16 +-- > platform/linux-generic/include/api/odp_align.h | 2 +- > platform/linux-generic/odp_crypto.c | 4 +- > platform/linux-generic/odp_linux.c | 8 +- > platform/linux-generic/odp_packet.c | 86 ++++++------ > platform/linux-generic/odp_packet_netmap.c | 20 +-- > platform/linux-generic/odp_packet_socket.c | 42 +++--- > platform/linux-generic/odp_ring.c | 146 +++++++++++---------- odp_ring.c should probably in future move out of here into helpers/, to make it easier to build the helpers into a different library.. but I think it's right for that not do be done in this patch. > platform/linux-keystone2/Makefile.am | 16 +-- > platform/linux-keystone2/odp_packet.c | 86 ++++++------ > test/Makefile.inc | 2 +- > test/api_test/odp_atomic_test.h | 2 +- > test/api_test/odp_common.c | 10 +- > test/api_test/odp_ring_test.c | 76 +++++------ > test/api_test/odp_timer_ping.c | 12 +- > 38 files changed, 653 insertions(+), 645 deletions(-) > rename include/helper/odp_chksum.h => helper/include/odph_chksum.h (100%) > create mode 100644 helper/include/odph_eth.h > rename include/helper/odp_icmp.h => helper/include/odph_icmp.h (93%) > rename include/helper/odp_ip.h => helper/include/odph_ip.h (57%) > rename include/helper/odp_linux.h => helper/include/odph_linux.h (88%) > rename include/helper/odp_packet_helper.h => helper/include/odph_packet_helper.h (83%) You could now lose the _helper suffix as the prefix now makes the filename unique. > rename include/helper/odp_ring.h => helper/include/odph_ring.h (87%) > rename include/helper/odp_udp.h => helper/include/odph_udp.h (74%) > delete mode 100644 include/helper/odp_eth.h > > diff --git a/.gitignore b/.gitignore > index 39c8d77..6a97f17 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -14,15 +14,15 @@ config.guess > config.sub > configure > depcomp > -include/config.h.in > install-sh > ltmain.sh > m4/*.m4 > missing > config.log > config.status > -include/config.h > -include/stamp-h1 > +helper/config.h.in > +helper/config.h > +helper/stamp-h1 > libtool > pkgconfig/libodp.pc > .deps/ > diff --git a/configure.ac b/configure.ac > index c9aac14..5574f82 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -1,8 +1,8 @@ > AC_PREREQ([2.5]) > AC_INIT([OpenDataPlane], [0.2], [lng-odp@lists.linaro.org]) > AM_INIT_AUTOMAKE([subdir-objects]) > -AC_CONFIG_SRCDIR([include/config.h.in]) > -AM_CONFIG_HEADER([include/config.h]) > +AC_CONFIG_SRCDIR([helper/config.h.in]) > +AM_CONFIG_HEADER([helper/config.h]) > > AC_USE_SYSTEM_EXTENSIONS > AC_SYS_LARGEFILE > diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg > index 939b237..5d1e191 100644 > --- a/doc/doxygen.cfg > +++ b/doc/doxygen.cfg > @@ -9,7 +9,7 @@ TYPEDEF_HIDES_STRUCT = YES > EXTRACT_STATIC = YES > SORT_MEMBER_DOCS = NO > WARN_NO_PARAMDOC = YES > -INPUT = $(SRCDIR)/doc $(SRCDIR)/doc/users-guide $(SRCDIR)/doc/api $(SRCDIR)/platform/linux-generic/include/api $(SRCDIR)/include/helper $(SRCDIR)/example > +INPUT = $(SRCDIR)/doc $(SRCDIR)/doc/users-guide $(SRCDIR)/doc/api $(SRCDIR)/platform/linux-generic/include/api $(SRCDIR)/helper/include $(SRCDIR)/example The helpers shouldn't be documented in the API reference manual.
diff --git a/.gitignore b/.gitignore index 39c8d77..6a97f17 100644 --- a/.gitignore +++ b/.gitignore @@ -14,15 +14,15 @@ config.guess config.sub configure depcomp -include/config.h.in install-sh ltmain.sh m4/*.m4 missing config.log config.status -include/config.h -include/stamp-h1 +helper/config.h.in +helper/config.h +helper/stamp-h1 libtool pkgconfig/libodp.pc .deps/ diff --git a/configure.ac b/configure.ac index c9aac14..5574f82 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ AC_PREREQ([2.5]) AC_INIT([OpenDataPlane], [0.2], [lng-odp@lists.linaro.org]) AM_INIT_AUTOMAKE([subdir-objects]) -AC_CONFIG_SRCDIR([include/config.h.in]) -AM_CONFIG_HEADER([include/config.h]) +AC_CONFIG_SRCDIR([helper/config.h.in]) +AM_CONFIG_HEADER([helper/config.h]) AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg index 939b237..5d1e191 100644 --- a/doc/doxygen.cfg +++ b/doc/doxygen.cfg @@ -9,7 +9,7 @@ TYPEDEF_HIDES_STRUCT = YES EXTRACT_STATIC = YES SORT_MEMBER_DOCS = NO WARN_NO_PARAMDOC = YES -INPUT = $(SRCDIR)/doc $(SRCDIR)/doc/users-guide $(SRCDIR)/doc/api $(SRCDIR)/platform/linux-generic/include/api $(SRCDIR)/include/helper $(SRCDIR)/example +INPUT = $(SRCDIR)/doc $(SRCDIR)/doc/users-guide $(SRCDIR)/doc/api $(SRCDIR)/platform/linux-generic/include/api $(SRCDIR)/helper/include $(SRCDIR)/example FILE_PATTERNS = odp*.h odp*.c *.dox RECURSIVE = YES SOURCE_BROWSER = YES diff --git a/example/Makefile.inc b/example/Makefile.inc index b549001..4de2feb 100644 --- a/example/Makefile.inc +++ b/example/Makefile.inc @@ -5,6 +5,6 @@ AM_CFLAGS += \ -I$(srcdir) \ -I$(top_srcdir)/platform/@with_platform@/include/api \ -I$(top_srcdir)/platform/linux-generic/include/api \ - -I$(top_srcdir)/include + -I$(top_srcdir)/helper/include AM_LDFLAGS += -L$(LIB) diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c index 9fa9b37..70c0353 100644 --- a/example/generator/odp_generator.c +++ b/example/generator/odp_generator.c @@ -18,12 +18,12 @@ #include <odp.h> #include <odp_packet_io.h> -#include <helper/odp_linux.h> -#include <helper/odp_packet_helper.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> -#include <helper/odp_udp.h> -#include <helper/odp_icmp.h> +#include <odph_linux.h> +#include <odph_packet_helper.h> +#include <odph_eth.h> +#include <odph_ip.h> +#include <odph_udp.h> +#include <odph_icmp.h> #define MAX_WORKERS 32 /**< max number of works */ #define SHM_PKT_POOL_SIZE (512*2048) /**< pkt pool size */ @@ -47,8 +47,8 @@ typedef struct { int if_count; /**< Number of interfaces to be used */ char **if_names; /**< Array of pointers to interface names */ odp_buffer_pool_t pool; /**< Buffer pool for packet IO */ - odp_ethaddr_t srcmac; /**< src mac addr */ - odp_ethaddr_t dstmac; /**< dest mac addr */ + odph_ethaddr_t srcmac; /**< src mac addr */ + odph_ethaddr_t dstmac; /**< dest mac addr */ unsigned int srcip; /**< src ip addr */ unsigned int dstip; /**< dest ip addr */ int mode; /**< work mode */ @@ -94,7 +94,7 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args); static void print_info(char *progname, appl_args_t *appl_args); static void usage(char *progname); static int scan_ip(char *buf, unsigned int *paddr); -static int scan_mac(char *in, odp_ethaddr_t *des); +static int scan_mac(char *in, odph_ethaddr_t *des); static void tv_sub(struct timeval *recvtime, struct timeval *sendtime); /** @@ -146,7 +146,7 @@ static int scan_ip(char *buf, unsigned int *paddr) * @param des mac for odp_packet * @return 1 success, 0 failed */ -static int scan_mac(char *in, odp_ethaddr_t *des) +static int scan_mac(char *in, odph_ethaddr_t *des) { int field; int i; @@ -173,9 +173,9 @@ static void pack_udp_pkt(odp_buffer_t obuf) char *buf; int max; odp_packet_t pkt; - odp_ethhdr_t *eth; - odp_ipv4hdr_t *ip; - odp_udphdr_t *udp; + odph_ethhdr_t *eth; + odph_ipv4hdr_t *ip; + odph_udphdr_t *udp; unsigned short seq; buf = odp_buffer_addr(obuf); @@ -188,33 +188,33 @@ static void pack_udp_pkt(odp_buffer_t obuf) pkt = odp_packet_from_buffer(obuf); /* ether */ odp_packet_set_l2_offset(pkt, 0); - eth = (odp_ethhdr_t *)buf; - memcpy((char *)eth->src.addr, args->appl.srcmac.addr, ODP_ETHADDR_LEN); - memcpy((char *)eth->dst.addr, args->appl.dstmac.addr, ODP_ETHADDR_LEN); - eth->type = odp_cpu_to_be_16(ODP_ETHTYPE_IPV4); + eth = (odph_ethhdr_t *)buf; + memcpy((char *)eth->src.addr, args->appl.srcmac.addr, ODPH_ETHADDR_LEN); + memcpy((char *)eth->dst.addr, args->appl.dstmac.addr, ODPH_ETHADDR_LEN); + eth->type = odp_cpu_to_be_16(ODPH_ETHTYPE_IPV4); /* ip */ - odp_packet_set_l3_offset(pkt, ODP_ETHHDR_LEN); - ip = (odp_ipv4hdr_t *)(buf + ODP_ETHHDR_LEN); + odp_packet_set_l3_offset(pkt, ODPH_ETHHDR_LEN); + ip = (odph_ipv4hdr_t *)(buf + ODPH_ETHHDR_LEN); ip->dst_addr = odp_cpu_to_be_32(args->appl.dstip); ip->src_addr = odp_cpu_to_be_32(args->appl.srcip); - ip->ver_ihl = ODP_IPV4 << 4 | ODP_IPV4HDR_IHL_MIN; - ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODP_UDPHDR_LEN + - ODP_IPV4HDR_LEN); - ip->proto = ODP_IPPROTO_UDP; + ip->ver_ihl = ODPH_IPV4 << 4 | ODPH_IPV4HDR_IHL_MIN; + ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODPH_UDPHDR_LEN + + ODPH_IPV4HDR_LEN); + ip->proto = ODPH_IPPROTO_UDP; seq = odp_atomic_fetch_add_u64(&counters.seq, 1) % 0xFFFF; ip->id = odp_cpu_to_be_16(seq); ip->chksum = 0; - odp_ipv4_csum_update(pkt); + odph_ipv4_csum_update(pkt); /* udp */ - odp_packet_set_l4_offset(pkt, ODP_ETHHDR_LEN + ODP_IPV4HDR_LEN); - udp = (odp_udphdr_t *)(buf + ODP_ETHHDR_LEN + ODP_IPV4HDR_LEN); + odp_packet_set_l4_offset(pkt, ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); + udp = (odph_udphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); udp->src_port = 0; udp->dst_port = 0; - udp->length = odp_cpu_to_be_16(args->appl.payload + ODP_UDPHDR_LEN); + udp->length = odp_cpu_to_be_16(args->appl.payload + ODPH_UDPHDR_LEN); udp->chksum = 0; - udp->chksum = odp_cpu_to_be_16(odp_ipv4_udp_chksum(pkt)); - odp_packet_set_len(pkt, args->appl.payload + ODP_UDPHDR_LEN + - ODP_IPV4HDR_LEN + ODP_ETHHDR_LEN); + udp->chksum = odp_cpu_to_be_16(odph_ipv4_udp_chksum(pkt)); + odp_packet_set_len(pkt, args->appl.payload + ODPH_UDPHDR_LEN + + ODPH_IPV4HDR_LEN + ODPH_ETHHDR_LEN); } /** @@ -227,9 +227,9 @@ static void pack_icmp_pkt(odp_buffer_t obuf) char *buf; int max; odp_packet_t pkt; - odp_ethhdr_t *eth; - odp_ipv4hdr_t *ip; - odp_icmphdr_t *icmp; + odph_ethhdr_t *eth; + odph_ipv4hdr_t *ip; + odph_icmphdr_t *icmp; struct timeval tval; uint8_t *tval_d; unsigned short seq; @@ -245,41 +245,41 @@ static void pack_icmp_pkt(odp_buffer_t obuf) pkt = odp_packet_from_buffer(obuf); /* ether */ odp_packet_set_l2_offset(pkt, 0); - eth = (odp_ethhdr_t *)buf; - memcpy((char *)eth->src.addr, args->appl.srcmac.addr, ODP_ETHADDR_LEN); - memcpy((char *)eth->dst.addr, args->appl.dstmac.addr, ODP_ETHADDR_LEN); - eth->type = odp_cpu_to_be_16(ODP_ETHTYPE_IPV4); + eth = (odph_ethhdr_t *)buf; + memcpy((char *)eth->src.addr, args->appl.srcmac.addr, ODPH_ETHADDR_LEN); + memcpy((char *)eth->dst.addr, args->appl.dstmac.addr, ODPH_ETHADDR_LEN); + eth->type = odp_cpu_to_be_16(ODPH_ETHTYPE_IPV4); /* ip */ - odp_packet_set_l3_offset(pkt, ODP_ETHHDR_LEN); - ip = (odp_ipv4hdr_t *)(buf + ODP_ETHHDR_LEN); + odp_packet_set_l3_offset(pkt, ODPH_ETHHDR_LEN); + ip = (odph_ipv4hdr_t *)(buf + ODPH_ETHHDR_LEN); ip->dst_addr = odp_cpu_to_be_32(args->appl.dstip); ip->src_addr = odp_cpu_to_be_32(args->appl.srcip); - ip->ver_ihl = ODP_IPV4 << 4 | ODP_IPV4HDR_IHL_MIN; - ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODP_ICMPHDR_LEN + - ODP_IPV4HDR_LEN); - ip->proto = ODP_IPPROTO_ICMP; + ip->ver_ihl = ODPH_IPV4 << 4 | ODPH_IPV4HDR_IHL_MIN; + ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODPH_ICMPHDR_LEN + + ODPH_IPV4HDR_LEN); + ip->proto = ODPH_IPPROTO_ICMP; seq = odp_atomic_fetch_add_u64(&counters.seq, 1) % 0xffff; ip->id = odp_cpu_to_be_16(seq); ip->chksum = 0; - odp_ipv4_csum_update(pkt); + odph_ipv4_csum_update(pkt); /* icmp */ - icmp = (odp_icmphdr_t *)(buf + ODP_ETHHDR_LEN + ODP_IPV4HDR_LEN); + icmp = (odph_icmphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); icmp->type = ICMP_ECHO; icmp->code = 0; icmp->un.echo.id = 0; icmp->un.echo.sequence = ip->id; - tval_d = (uint8_t *)(buf + ODP_ETHHDR_LEN + ODP_IPV4HDR_LEN + - ODP_ICMPHDR_LEN); + tval_d = (uint8_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN + + ODPH_ICMPHDR_LEN); /* TODO This should be changed to use an * ODP timer API once one exists. */ gettimeofday(&tval, NULL); memcpy(tval_d, &tval, sizeof(struct timeval)); icmp->chksum = 0; icmp->chksum = odp_chksum(icmp, args->appl.payload + - ODP_ICMPHDR_LEN); + ODPH_ICMPHDR_LEN); - odp_packet_set_len(pkt, args->appl.payload + ODP_ICMPHDR_LEN + - ODP_IPV4HDR_LEN + ODP_ETHHDR_LEN); + odp_packet_set_len(pkt, args->appl.payload + ODPH_ICMPHDR_LEN + + ODPH_IPV4HDR_LEN + ODPH_ETHHDR_LEN); } /** @@ -380,9 +380,9 @@ static void print_pkts(int thr, odp_packet_t pkt_tbl[], unsigned len) { odp_packet_t pkt; char *buf; - odp_ipv4hdr_t *ip; - odp_udphdr_t *udp; - odp_icmphdr_t *icmp; + odph_ipv4hdr_t *ip; + odph_udphdr_t *udp; + odph_icmphdr_t *icmp; struct timeval tvrecv; struct timeval tvsend; double rtt; @@ -401,27 +401,27 @@ static void print_pkts(int thr, odp_packet_t pkt_tbl[], unsigned len) odp_atomic_inc_u64(&counters.ip); rlen += sprintf(msg, "receive Packet proto:IP "); buf = odp_buffer_addr(odp_buffer_from_packet(pkt)); - ip = (odp_ipv4hdr_t *)(buf + odp_packet_l3_offset(pkt)); + ip = (odph_ipv4hdr_t *)(buf + odp_packet_l3_offset(pkt)); rlen += sprintf(msg + rlen, "id %d ", odp_be_to_cpu_16(ip->id)); offset = odp_packet_l4_offset(pkt); /* udp */ - if (ip->proto == ODP_IPPROTO_UDP) { + if (ip->proto == ODPH_IPPROTO_UDP) { odp_atomic_inc_u64(&counters.udp); - udp = (odp_udphdr_t *)(buf + offset); + udp = (odph_udphdr_t *)(buf + offset); rlen += sprintf(msg + rlen, "UDP payload %d ", odp_be_to_cpu_16(udp->length) - - ODP_UDPHDR_LEN); + ODPH_UDPHDR_LEN); } /* icmp */ - if (ip->proto == ODP_IPPROTO_ICMP) { - icmp = (odp_icmphdr_t *)(buf + offset); + if (ip->proto == ODPH_IPPROTO_ICMP) { + icmp = (odph_icmphdr_t *)(buf + offset); /* echo reply */ if (icmp->type == ICMP_ECHOREPLY) { odp_atomic_inc_u64(&counters.icmp); - memcpy(&tvsend, buf + offset + ODP_ICMPHDR_LEN, + memcpy(&tvsend, buf + offset + ODPH_ICMPHDR_LEN, sizeof(struct timeval)); /* TODO This should be changed to use an * ODP timer API once one exists. */ @@ -499,13 +499,13 @@ static void *gen_recv_thread(void *arg) pkt = odp_packet_from_buffer(buf); /* Drop packets with errors */ if (odp_unlikely(odp_packet_error(pkt))) { - odp_packet_free(pkt); + odph_packet_free(pkt); continue; } print_pkts(thr, &pkt, 1); - odp_packet_free(pkt); + odph_packet_free(pkt); } return arg; @@ -515,7 +515,7 @@ static void *gen_recv_thread(void *arg) */ int main(int argc, char *argv[]) { - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; odp_buffer_pool_t pool; int thr_id; int num_workers; @@ -606,14 +606,14 @@ int main(int argc, char *argv[]) args->thread[1].pktio_dev = args->appl.if_names[0]; args->thread[1].pool = pool; args->thread[1].mode = args->appl.mode; - odp_linux_pthread_create(&thread_tbl[1], 1, 0, - gen_recv_thread, &args->thread[1]); + odph_linux_pthread_create(&thread_tbl[1], 1, 0, + gen_recv_thread, &args->thread[1]); args->thread[0].pktio_dev = args->appl.if_names[0]; args->thread[0].pool = pool; args->thread[0].mode = args->appl.mode; - odp_linux_pthread_create(&thread_tbl[0], 1, 0, - gen_send_thread, &args->thread[0]); + odph_linux_pthread_create(&thread_tbl[0], 1, 0, + gen_send_thread, &args->thread[0]); /* only wait send thread to join */ num_workers = 1; @@ -644,14 +644,14 @@ int main(int argc, char *argv[]) * because each thread might get different arguments. * Calls odp_thread_create(cpu) for each thread */ - odp_linux_pthread_create(&thread_tbl[i], 1, - core, thr_run_func, - &args->thread[i]); + odph_linux_pthread_create(&thread_tbl[i], 1, + core, thr_run_func, + &args->thread[i]); } } /* Master thread waits for other threads to exit */ - odp_linux_pthread_join(thread_tbl, num_workers); + odph_linux_pthread_join(thread_tbl, num_workers); printf("Exit\n\n"); return 0; diff --git a/example/l2fwd/odp_l2fwd.c b/example/l2fwd/odp_l2fwd.c index d74449a..beefdd3 100644 --- a/example/l2fwd/odp_l2fwd.c +++ b/example/l2fwd/odp_l2fwd.c @@ -16,10 +16,10 @@ #include <unistd.h> #include <odp.h> -#include <helper/odp_linux.h> -#include <helper/odp_packet_helper.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> +#include <odph_linux.h> +#include <odph_packet_helper.h> +#include <odph_eth.h> +#include <odph_ip.h> /** @def MAX_WORKERS * @brief Maximum number of worker threads @@ -313,7 +313,7 @@ static void *pktio_ifburst_thread(void *arg) */ int main(int argc, char *argv[]) { - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; odp_buffer_pool_t pool; int thr_id; void *pool_base; @@ -446,12 +446,12 @@ int main(int argc, char *argv[]) thr_run_func = pktio_ifburst_thread; else /* APPL_MODE_PKT_QUEUE */ thr_run_func = pktio_queue_thread; - odp_linux_pthread_create(&thread_tbl[i], 1, core, thr_run_func, - &gbl_args->thread[i]); + odph_linux_pthread_create(&thread_tbl[i], 1, core, thr_run_func, + &gbl_args->thread[i]); } /* Master thread waits for other threads to exit */ - odp_linux_pthread_join(thread_tbl, num_workers); + odph_linux_pthread_join(thread_tbl, num_workers); printf("Exit\n\n"); @@ -479,7 +479,7 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], unsigned len) pkt = pkt_tbl[i]; if (odp_unlikely(odp_packet_error(pkt))) { - odp_packet_free(pkt); /* Drop */ + odph_packet_free(pkt); /* Drop */ pkt_cnt--; } else if (odp_unlikely(i != j++)) { pkt_tbl[j-1] = pkt; diff --git a/example/odp_example/odp_example.c b/example/odp_example/odp_example.c index f0bdf29..40d237b 100644 --- a/example/odp_example/odp_example.c +++ b/example/odp_example/odp_example.c @@ -17,7 +17,7 @@ #include <odp.h> /* ODP helper for Linux apps */ -#include <helper/odp_linux.h> +#include <odph_linux.h> /* Needs librt*/ #include <time.h> @@ -933,7 +933,7 @@ static void parse_args(int argc, char *argv[], test_args_t *args) */ int main(int argc, char *argv[]) { - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; test_args_t args; int thr_id; int num_workers; @@ -1067,11 +1067,11 @@ int main(int argc, char *argv[]) odp_barrier_init_count(&test_barrier, num_workers); /* Create and launch worker threads */ - odp_linux_pthread_create(thread_tbl, num_workers, first_core, - run_thread, NULL); + odph_linux_pthread_create(thread_tbl, num_workers, first_core, + run_thread, NULL); /* Wait for worker threads to exit */ - odp_linux_pthread_join(thread_tbl, num_workers); + odph_linux_pthread_join(thread_tbl, num_workers); printf("ODP example complete\n\n"); diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c index f247bd0..308b115 100644 --- a/example/packet/odp_pktio.c +++ b/example/packet/odp_pktio.c @@ -16,10 +16,10 @@ #include <unistd.h> #include <odp.h> -#include <helper/odp_linux.h> -#include <helper/odp_packet_helper.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> +#include <odph_linux.h> +#include <odph_packet_helper.h> +#include <odph_eth.h> +#include <odph_ip.h> /** @def MAX_WORKERS * @brief Maximum number of worker threads @@ -301,7 +301,7 @@ static void *pktio_ifburst_thread(void *arg) */ int main(int argc, char *argv[]) { - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; odp_buffer_pool_t pool; int thr_id; int num_workers; @@ -401,12 +401,12 @@ int main(int argc, char *argv[]) * because each thread might get different arguments. * Calls odp_thread_create(cpu) for each thread */ - odp_linux_pthread_create(&thread_tbl[i], 1, core, thr_run_func, - &args->thread[i]); + odph_linux_pthread_create(&thread_tbl[i], 1, core, thr_run_func, + &args->thread[i]); } /* Master thread waits for other threads to exit */ - odp_linux_pthread_join(thread_tbl, num_workers); + odph_linux_pthread_join(thread_tbl, num_workers); printf("Exit\n\n"); @@ -434,7 +434,7 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], unsigned len) pkt = pkt_tbl[i]; if (odp_unlikely(odp_packet_error(pkt))) { - odp_packet_free(pkt); /* Drop */ + odph_packet_free(pkt); /* Drop */ pkt_cnt--; } else if (odp_unlikely(i != j++)) { pkt_tbl[j-1] = pkt; @@ -454,16 +454,16 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], unsigned len) static void swap_pkt_addrs(odp_packet_t pkt_tbl[], unsigned len) { odp_packet_t pkt; - odp_ethhdr_t *eth; - odp_ethaddr_t tmp_addr; - odp_ipv4hdr_t *ip; + odph_ethhdr_t *eth; + odph_ethaddr_t tmp_addr; + odph_ipv4hdr_t *ip; uint32be_t ip_tmp_addr; /* tmp ip addr */ unsigned i; for (i = 0; i < len; ++i) { pkt = pkt_tbl[i]; if (odp_packet_inflag_eth(pkt)) { - eth = (odp_ethhdr_t *)odp_packet_l2(pkt); + eth = (odph_ethhdr_t *)odp_packet_l2(pkt); tmp_addr = eth->dst; eth->dst = eth->src; @@ -471,7 +471,7 @@ static void swap_pkt_addrs(odp_packet_t pkt_tbl[], unsigned len) if (odp_packet_inflag_ipv4(pkt)) { /* IPv4 */ - ip = (odp_ipv4hdr_t *)odp_packet_l3(pkt); + ip = (odph_ipv4hdr_t *)odp_packet_l3(pkt); ip_tmp_addr = ip->src_addr; ip->src_addr = ip->dst_addr; diff --git a/example/packet_netmap/odp_pktio_netmap.c b/example/packet_netmap/odp_pktio_netmap.c index c0eb202..d3699f7 100644 --- a/example/packet_netmap/odp_pktio_netmap.c +++ b/example/packet_netmap/odp_pktio_netmap.c @@ -21,11 +21,11 @@ #include <arpa/inet.h> #include <odp.h> -#include <helper/odp_linux.h> -#include <helper/odp_packet_helper.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> -#include <helper/odp_packet_helper.h> +#include <odph_linux.h> +#include <odph_packet_helper.h> +#include <odph_eth.h> +#include <odph_ip.h> +#include <odph_packet_helper.h> #include <odp_pktio_netmap.h> @@ -194,7 +194,7 @@ static void *pktio_queue_thread(void *arg) if (odp_packet_copy(pkt_copy, pkt) != 0) { ODP_ERR("Packet copy failed!\n"); - odp_packet_free(pkt_copy); + odph_packet_free(pkt_copy); } else { swap_pkt_addrs(&pkt_copy, 1); odp_queue_enq(outq_def, @@ -219,7 +219,7 @@ static void *pktio_queue_thread(void *arg) */ int main(int argc, char *argv[]) { - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; odp_buffer_pool_t pool; int thr_id; int num_workers; @@ -360,12 +360,12 @@ int main(int argc, char *argv[]) * Create threads one-by-one instead of all-at-once, * because each thread might get different arguments */ - odp_linux_pthread_create(&thread_tbl[i], 1, i, - pktio_queue_thread, NULL); + odph_linux_pthread_create(&thread_tbl[i], 1, i, + pktio_queue_thread, NULL); } /* Master thread waits for other threads to exit */ - odp_linux_pthread_join(thread_tbl, num_workers); + odph_linux_pthread_join(thread_tbl, num_workers); printf("Exit\n\n"); @@ -393,7 +393,7 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], unsigned len) pkt = pkt_tbl[i]; if (odp_unlikely(odp_packet_error(pkt))) { - odp_packet_free(pkt); /* Drop */ + odph_packet_free(pkt); /* Drop */ pkt_cnt--; } else if (odp_unlikely(i != j++)) { pkt_tbl[j-1] = pkt; @@ -412,16 +412,16 @@ static int drop_err_pkts(odp_packet_t pkt_tbl[], unsigned len) static void swap_pkt_addrs(odp_packet_t pkt_tbl[], unsigned len) { odp_packet_t pkt; - odp_ethhdr_t *eth; - odp_ethaddr_t tmp_addr; - odp_ipv4hdr_t *ip; + odph_ethhdr_t *eth; + odph_ethaddr_t tmp_addr; + odph_ipv4hdr_t *ip; uint32be_t ip_tmp_addr; /* tmp ip addr */ unsigned i; for (i = 0; i < len; ++i) { pkt = pkt_tbl[i]; if (odp_packet_inflag_eth(pkt)) { - eth = (odp_ethhdr_t *)odp_packet_l2(pkt); + eth = (odph_ethhdr_t *)odp_packet_l2(pkt); tmp_addr = eth->dst; eth->dst = eth->src; @@ -429,7 +429,7 @@ static void swap_pkt_addrs(odp_packet_t pkt_tbl[], unsigned len) if (odp_packet_inflag_ipv4(pkt)) { /* IPv4 */ - ip = (odp_ipv4hdr_t *)odp_packet_l3(pkt); + ip = (odph_ipv4hdr_t *)odp_packet_l3(pkt); ip_tmp_addr = ip->src_addr; ip->src_addr = ip->dst_addr; diff --git a/example/timer/odp_timer_test.c b/example/timer/odp_timer_test.c index bf1d7df..4168856 100644 --- a/example/timer/odp_timer_test.c +++ b/example/timer/odp_timer_test.c @@ -17,7 +17,7 @@ #include <odp.h> /* ODP helper for Linux apps */ -#include <helper/odp_linux.h> +#include <odph_linux.h> /* GNU lib C */ #include <getopt.h> @@ -242,7 +242,7 @@ static void parse_args(int argc, char *argv[], test_args_t *args) */ int main(int argc, char *argv[]) { - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; test_args_t args; int thr_id; int num_workers; @@ -373,11 +373,11 @@ int main(int argc, char *argv[]) odp_barrier_init_count(&test_barrier, num_workers); /* Create and launch worker threads */ - odp_linux_pthread_create(thread_tbl, num_workers, first_core, - run_thread, &args); + odph_linux_pthread_create(thread_tbl, num_workers, first_core, + run_thread, &args); /* Wait for worker threads to exit */ - odp_linux_pthread_join(thread_tbl, num_workers); + odph_linux_pthread_join(thread_tbl, num_workers); printf("ODP timer test complete\n\n"); diff --git a/include/helper/odp_chksum.h b/helper/include/odph_chksum.h similarity index 100% rename from include/helper/odp_chksum.h rename to helper/include/odph_chksum.h diff --git a/helper/include/odph_eth.h b/helper/include/odph_eth.h new file mode 100644 index 0000000..55a2b1e --- /dev/null +++ b/helper/include/odph_eth.h @@ -0,0 +1,87 @@ +/* Copyright (c) 2014, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +/** + * @file + * + * ODP ethernet header + */ + +#ifndef ODPH_ETH_H_ +#define ODPH_ETH_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp_std_types.h> +#include <odp_byteorder.h> +#include <odp_align.h> +#include <odp_debug.h> + +#define ODPH_ETHADDR_LEN 6 /**< Ethernet address length */ +#define ODPH_ETHHDR_LEN 14 /**< Ethernet header length */ +#define ODPH_VLANHDR_LEN 4 /**< VLAN header length */ +#define ODPH_ETH_LEN_MIN 60 /**< Min frame length (excl. CRC 4 bytes) */ +#define ODPH_ETH_LEN_MIN_CRC 64 /**< Min frame length (incl. CRC 4 bytes) */ +#define ODPH_ETH_LEN_MAX 1514 /**< Max frame length (excl. CRC 4 bytes) */ +#define ODPH_ETH_LEN_MAX_CRC 1518 /**< Max frame length (incl. CRC 4 bytes) */ + +/** + * Ethernet MAC address + */ +typedef struct ODPH_PACKED { + uint8_t addr[ODPH_ETHADDR_LEN]; /**< @private Address */ +} odph_ethaddr_t; + +/** @internal Compile time assert */ +ODP_STATIC_ASSERT(sizeof(odph_ethaddr_t) == ODPH_ETHADDR_LEN, "ODPH_ETHADDR_T__SIZE_ERROR"); + +/** + * Ethernet header + */ +typedef struct ODPH_PACKED { + odph_ethaddr_t dst; /**< Destination address */ + odph_ethaddr_t src; /**< Source address */ + uint16be_t type; /**< Type */ +} odph_ethhdr_t; + +/** @internal Compile time assert */ +ODP_STATIC_ASSERT(sizeof(odph_ethhdr_t) == ODPH_ETHHDR_LEN, "ODPH_ETHHDR_T__SIZE_ERROR"); + +/** + * VLAN header + * + * @todo Check usage of tpid vs ethertype. Check outer VLAN TPID. + */ +typedef struct ODPH_PACKED { + uint16be_t tpid; /**< Tag protocol ID (located after ethhdr.src) */ + uint16be_t tci; /**< Priority / CFI / VLAN ID */ +} odph_vlanhdr_t; + +/** @internal Compile time assert */ +ODP_STATIC_ASSERT(sizeof(odph_vlanhdr_t) == ODPH_VLANHDR_LEN, "ODPH_VLANHDR_T__SIZE_ERROR"); + + +/* Ethernet header Ether Type ('type') values, a selected few */ +#define ODPH_ETHTYPE_IPV4 0x0800 /**< Internet Protocol version 4 */ +#define ODPH_ETHTYPE_ARP 0x0806 /**< Address Resolution Protocol */ +#define ODPH_ETHTYPE_RARP 0x8035 /**< Reverse Address Resolution Protocol*/ +#define ODPH_ETHTYPE_VLAN 0x8100 /**< VLAN-tagged frame IEEE 802.1Q */ +#define ODPH_ETHTYPE_VLAN_OUTER 0x88A8 /**< Stacked VLANs/QinQ, outer-tag/S-TAG*/ +#define ODPH_ETHTYPE_IPV6 0x86dd /**< Internet Protocol version 6 */ +#define ODPH_ETHTYPE_FLOW_CTRL 0x8808 /**< Ethernet flow control */ +#define ODPH_ETHTYPE_MPLS 0x8847 /**< MPLS unicast */ +#define ODPH_ETHTYPE_MPLS_MCAST 0x8848 /**< MPLS multicast */ +#define ODPH_ETHTYPE_MACSEC 0x88E5 /**< MAC security IEEE 802.1AE */ +#define ODPH_ETHTYPE_1588 0x88F7 /**< Precision Time Protocol IEEE 1588 */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/helper/odp_icmp.h b/helper/include/odph_icmp.h similarity index 93% rename from include/helper/odp_icmp.h rename to helper/include/odph_icmp.h index 5ac88b9..8414d7e 100644 --- a/include/helper/odp_icmp.h +++ b/helper/include/odph_icmp.h @@ -11,8 +11,8 @@ * ODP ICMP header */ -#ifndef ODP_ICMP_H_ -#define ODP_ICMP_H_ +#ifndef ODPH_ICMP_H_ +#define ODPH_ICMP_H_ #ifdef __cplusplus extern "C" { @@ -23,10 +23,10 @@ extern "C" { #include <odp_byteorder.h> /** ICMP header length */ -#define ODP_ICMPHDR_LEN 8 +#define ODPH_ICMPHDR_LEN 8 /** ICMP header */ -typedef struct ODP_PACKED { +typedef struct ODPH_PACKED { uint8_t type; /**< message type */ uint8_t code; /**< type sub-code */ uint16sum_t chksum; /**< checksum of icmp header */ @@ -41,7 +41,7 @@ typedef struct ODP_PACKED { uint16be_t mtu; } frag; /**< path mtu discovery */ } un; /**< icmp sub header */ -} odp_icmphdr_t; +} odph_icmphdr_t; #define ICMP_ECHOREPLY 0 /**< Echo Reply */ #define ICMP_DEST_UNREACH 3 /**< Destination Unreachable */ @@ -90,7 +90,7 @@ typedef struct ODP_PACKED { exceeded*/ /** @internal Compile time assert */ -ODP_STATIC_ASSERT(sizeof(odp_icmphdr_t) == ODP_ICMPHDR_LEN, "ODP_ICMPHDR_T__SIZE_ERROR"); +ODP_STATIC_ASSERT(sizeof(odph_icmphdr_t) == ODPH_ICMPHDR_LEN, "ODPH_ICMPHDR_T__SIZE_ERROR"); #ifdef __cplusplus } diff --git a/include/helper/odp_ip.h b/helper/include/odph_ip.h similarity index 57% rename from include/helper/odp_ip.h rename to helper/include/odph_ip.h index fb04e4d..ca71c44 100644 --- a/include/helper/odp_ip.h +++ b/helper/include/odph_ip.h @@ -11,8 +11,8 @@ * ODP IP header */ -#ifndef ODP_IP_H_ -#define ODP_IP_H_ +#ifndef ODPH_IP_H_ +#define ODPH_IP_H_ #ifdef __cplusplus extern "C" { @@ -21,34 +21,34 @@ extern "C" { #include <odp_align.h> #include <odp_debug.h> #include <odp_byteorder.h> -#include <helper/odp_chksum.h> +#include <odph_chksum.h> #include <string.h> -#define ODP_IPV4 4 /**< IP version 4 */ -#define ODP_IPV4HDR_LEN 20 /**< Min length of IP header (no options) */ -#define ODP_IPV4HDR_IHL_MIN 5 /**< Minimum IHL value*/ +#define ODPH_IPV4 4 /**< IP version 4 */ +#define ODPH_IPV4HDR_LEN 20 /**< Min length of IP header (no options) */ +#define ODPH_IPV4HDR_IHL_MIN 5 /**< Minimum IHL value*/ /** @internal Returns IPv4 version */ -#define ODP_IPV4HDR_VER(ver_ihl) (((ver_ihl) & 0xf0) >> 4) +#define ODPH_IPV4HDR_VER(ver_ihl) (((ver_ihl) & 0xf0) >> 4) /** @internal Returns IPv4 header length */ -#define ODP_IPV4HDR_IHL(ver_ihl) ((ver_ihl) & 0x0f) +#define ODPH_IPV4HDR_IHL(ver_ihl) ((ver_ihl) & 0x0f) /** @internal Returns IPv4 Don't fragment */ -#define ODP_IPV4HDR_FLAGS_DONT_FRAG(frag_offset) ((frag_offset) & 0x4000) +#define ODPH_IPV4HDR_FLAGS_DONT_FRAG(frag_offset) ((frag_offset) & 0x4000) /** @internal Returns IPv4 more fragments */ -#define ODP_IPV4HDR_FLAGS_MORE_FRAGS(frag_offset) ((frag_offset) & 0x2000) +#define ODPH_IPV4HDR_FLAGS_MORE_FRAGS(frag_offset) ((frag_offset) & 0x2000) /** @internal Returns IPv4 fragment offset */ -#define ODP_IPV4HDR_FRAG_OFFSET(frag_offset) ((frag_offset) & 0x1fff) +#define ODPH_IPV4HDR_FRAG_OFFSET(frag_offset) ((frag_offset) & 0x1fff) /** @internal Returns true if IPv4 packet is a fragment */ -#define ODP_IPV4HDR_IS_FRAGMENT(frag_offset) ((frag_offset) & 0x3fff) +#define ODPH_IPV4HDR_IS_FRAGMENT(frag_offset) ((frag_offset) & 0x3fff) /** IPv4 header */ -typedef struct ODP_PACKED { +typedef struct ODPH_PACKED { uint8_t ver_ihl; /**< Version / Header length */ uint8_t tos; /**< Type of service */ uint16be_t tot_len; /**< Total length */ @@ -59,10 +59,10 @@ typedef struct ODP_PACKED { uint16sum_t chksum; /**< Checksum */ uint32be_t src_addr; /**< Source address */ uint32be_t dst_addr; /**< Destination address */ -} odp_ipv4hdr_t; +} odph_ipv4hdr_t; /** @internal Compile time assert */ -ODP_STATIC_ASSERT(sizeof(odp_ipv4hdr_t) == ODP_IPV4HDR_LEN, "ODP_IPV4HDR_T__SIZE_ERROR"); +ODP_STATIC_ASSERT(sizeof(odph_ipv4hdr_t) == ODPH_IPV4HDR_LEN, "ODPH_IPV4HDR_T__SIZE_ERROR"); /** * Check if IPv4 checksum is valid @@ -71,18 +71,18 @@ ODP_STATIC_ASSERT(sizeof(odp_ipv4hdr_t) == ODP_IPV4HDR_LEN, "ODP_IPV4HDR_T__SIZE * * @return 1 if checksum is valid, otherwise 0 */ -static inline int odp_ipv4_csum_valid(odp_packet_t pkt) +static inline int odph_ipv4_csum_valid(odp_packet_t pkt) { uint16be_t res = 0; uint16_t *w; - int nleft = sizeof(odp_ipv4hdr_t); - odp_ipv4hdr_t ip; + int nleft = sizeof(odph_ipv4hdr_t); + odph_ipv4hdr_t ip; uint16be_t chksum; if (!odp_packet_l3_offset(pkt)) return 0; - memcpy(&ip, odp_packet_l3(pkt), sizeof(odp_ipv4hdr_t)); + memcpy(&ip, odp_packet_l3(pkt), sizeof(odph_ipv4hdr_t)); w = (uint16_t *)(void *)&ip; chksum = ip.chksum; ip.chksum = 0x0; @@ -101,52 +101,52 @@ static inline int odp_ipv4_csum_valid(odp_packet_t pkt) * * @return IPv4 checksum in host cpu order, or 0 on failure */ -static inline uint16sum_t odp_ipv4_csum_update(odp_packet_t pkt) +static inline uint16sum_t odph_ipv4_csum_update(odp_packet_t pkt) { uint16_t *w; - odp_ipv4hdr_t *ip; - int nleft = sizeof(odp_ipv4hdr_t); + odph_ipv4hdr_t *ip; + int nleft = sizeof(odph_ipv4hdr_t); if (!odp_packet_l3_offset(pkt)) return 0; - ip = (odp_ipv4hdr_t *)odp_packet_l3(pkt); + ip = (odph_ipv4hdr_t *)odp_packet_l3(pkt); w = (uint16_t *)(void *)ip; ip->chksum = odp_chksum(w, nleft); return ip->chksum; } /** IPv6 version */ -#define ODP_IPV6 6 +#define ODPH_IPV6 6 /** IPv6 header length */ -#define ODP_IPV6HDR_LEN 40 +#define ODPH_IPV6HDR_LEN 40 /** * IPv6 header */ -typedef struct ODP_PACKED { +typedef struct ODPH_PACKED { uint32be_t ver_tc_flow; /**< Version / Traffic class / Flow label */ uint16be_t payload_len; /**< Payload length */ uint8_t next_hdr; /**< Next header */ uint8_t hop_limit; /**< Hop limit */ uint8_t src_addr[16]; /**< Source address */ uint8_t dst_addr[16]; /**< Destination address */ -} odp_ipv6hdr_t; +} odph_ipv6hdr_t; /** @internal Compile time assert */ -ODP_STATIC_ASSERT(sizeof(odp_ipv6hdr_t) == ODP_IPV6HDR_LEN, "ODP_IPV6HDR_T__SIZE_ERROR"); +ODP_STATIC_ASSERT(sizeof(odph_ipv6hdr_t) == ODPH_IPV6HDR_LEN, "ODPH_IPV6HDR_T__SIZE_ERROR"); /** @name * IP protocol values (IPv4:'proto' or IPv6:'next_hdr') * @{*/ -#define ODP_IPPROTO_ICMP 0x01 /**< Internet Control Message Protocol (1) */ -#define ODP_IPPROTO_TCP 0x06 /**< Transmission Control Protocol (6) */ -#define ODP_IPPROTO_UDP 0x11 /**< User Datagram Protocol (17) */ -#define ODP_IPPROTO_SCTP 0x84 /**< Stream Control Transmission Protocol (132) */ -#define ODP_IPPROTO_FRAG 0x2C /**< Fragment (44) */ -#define ODP_IPPROTO_AH 0x33 /**< Authentication Header (51) */ -#define ODP_IPPROTO_ESP 0x32 /**< Encapsulating Security Payload (50) */ +#define ODPH_IPPROTO_ICMP 0x01 /**< Internet Control Message Protocol (1) */ +#define ODPH_IPPROTO_TCP 0x06 /**< Transmission Control Protocol (6) */ +#define ODPH_IPPROTO_UDP 0x11 /**< User Datagram Protocol (17) */ +#define ODPH_IPPROTO_SCTP 0x84 /**< Stream Control Transmission Protocol (132) */ +#define ODPH_IPPROTO_FRAG 0x2C /**< Fragment (44) */ +#define ODPH_IPPROTO_AH 0x33 /**< Authentication Header (51) */ +#define ODPH_IPPROTO_ESP 0x32 /**< Encapsulating Security Payload (50) */ /**@}*/ #ifdef __cplusplus diff --git a/include/helper/odp_linux.h b/helper/include/odph_linux.h similarity index 88% rename from include/helper/odp_linux.h rename to helper/include/odph_linux.h index 3076c22..1ea349a 100644 --- a/include/helper/odp_linux.h +++ b/helper/include/odph_linux.h @@ -29,7 +29,7 @@ typedef struct { pthread_t thread; /**< @private Pthread */ pthread_attr_t attr; /**< @private Pthread attributes */ -} odp_linux_pthread_t; +} odph_linux_pthread_t; /** @@ -44,7 +44,7 @@ typedef struct { * @param start_routine Thread start function * @param arg Thread argument */ -void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, +void odph_linux_pthread_create(odph_linux_pthread_t *thread_tbl, int num, int first_core, void *(*start_routine) (void *), void *arg); @@ -58,7 +58,7 @@ void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, * @param num Number of threads to create * */ -void odp_linux_pthread_join(odp_linux_pthread_t *thread_tbl, int num); +void odph_linux_pthread_join(odph_linux_pthread_t *thread_tbl, int num); #ifdef __cplusplus diff --git a/include/helper/odp_packet_helper.h b/helper/include/odph_packet_helper.h similarity index 83% rename from include/helper/odp_packet_helper.h rename to helper/include/odph_packet_helper.h index db12028..c18f48d 100644 --- a/include/helper/odp_packet_helper.h +++ b/helper/include/odph_packet_helper.h @@ -11,8 +11,8 @@ * Optional ODP packet helper functions */ -#ifndef ODP_PACKET_HELPER_H_ -#define ODP_PACKET_HELPER_H_ +#ifndef ODPH_PACKET_HELPER_H_ +#define ODPH_PACKET_HELPER_H_ #ifdef __cplusplus extern "C" { @@ -29,7 +29,7 @@ extern "C" { * * @return 1 if valid, otherwise 0 */ -static inline int odp_packet_is_valid(odp_packet_t pkt) +static inline int odph_packet_is_valid(odp_packet_t pkt) { odp_buffer_t buf = odp_buffer_from_packet(pkt); @@ -45,7 +45,7 @@ static inline int odp_packet_is_valid(odp_packet_t pkt) * * @return Packet handle or ODP_PACKET_INVALID */ -static inline odp_packet_t odp_packet_alloc(odp_buffer_pool_t pool_id) +static inline odp_packet_t odph_packet_alloc(odp_buffer_pool_t pool_id) { odp_packet_t pkt; odp_buffer_t buf; @@ -65,7 +65,7 @@ static inline odp_packet_t odp_packet_alloc(odp_buffer_pool_t pool_id) * * @param pkt Packet handle */ -static inline void odp_packet_free(odp_packet_t pkt) +static inline void odph_packet_free(odp_packet_t pkt) { odp_buffer_t buf = odp_buffer_from_packet(pkt); @@ -82,7 +82,7 @@ static inline void odp_packet_free(odp_packet_t pkt) * * @return Packet buffer maximum data size */ -static inline size_t odp_packet_buf_size(odp_packet_t pkt) +static inline size_t odph_packet_buf_size(odp_packet_t pkt) { odp_buffer_t buf = odp_buffer_from_packet(pkt); diff --git a/include/helper/odp_ring.h b/helper/include/odph_ring.h similarity index 87% rename from include/helper/odp_ring.h rename to helper/include/odph_ring.h index 0911531..76c1db8 100644 --- a/include/helper/odp_ring.h +++ b/helper/include/odph_ring.h @@ -89,8 +89,8 @@ * */ -#ifndef ODP_RING_H_ -#define ODP_RING_H_ +#ifndef ODPH_RING_H_ +#define ODPH_RING_H_ #ifdef __cplusplus extern "C" { @@ -103,15 +103,15 @@ extern "C" { #include <errno.h> #include <sys/queue.h> -enum odp_ring_queue_behavior { - ODP_RING_QUEUE_FIXED = 0, /**< Enq/Deq a fixed number +enum odph_ring_queue_behavior { + ODPH_RING_QUEUE_FIXED = 0, /**< Enq/Deq a fixed number of items from a ring */ - ODP_RING_QUEUE_VARIABLE /**< Enq/Deq as many items + ODPH_RING_QUEUE_VARIABLE /**< Enq/Deq as many items a possible from ring */ }; -#define ODP_RING_NAMESIZE 32 /**< The maximum length of a ring name. */ +#define ODPH_RING_NAMESIZE 32 /**< The maximum length of a ring name. */ /** * An ODP ring structure. @@ -123,12 +123,12 @@ enum odp_ring_queue_behavior { * values in a modulo-32bit base: that's why the overflow of the indexes is not * a problem. */ -typedef struct odp_ring { +typedef struct odph_ring { /** @private Next in list. */ - TAILQ_ENTRY(odp_ring) next; + TAILQ_ENTRY(odph_ring) next; /** @private Name of the ring. */ - char name[ODP_RING_NAMESIZE]; + char name[ODPH_RING_NAMESIZE]; /** @private Flags supplied at creation. */ int flags; @@ -153,13 +153,13 @@ typedef struct odp_ring { /** @private Memory space of ring starts here. */ void *ring[0] ODP_ALIGNED_CACHE; -} odp_ring_t; +} odph_ring_t; -#define ODP_RING_F_SP_ENQ 0x0001 /* The default enqueue is "single-producer". */ -#define ODP_RING_F_SC_DEQ 0x0002 /* The default dequeue is "single-consumer". */ -#define ODP_RING_QUOT_EXCEED (1 << 31) /* Quota exceed for burst ops */ -#define ODP_RING_SZ_MASK (unsigned)(0x0fffffff) /* Ring size mask */ +#define ODPH_RING_F_SP_ENQ 0x0001 /* The default enqueue is "single-producer".*/ +#define ODPH_RING_F_SC_DEQ 0x0002 /* The default dequeue is "single-consumer".*/ +#define ODPH_RING_QUOT_EXCEED (1 << 31) /* Quota exceed for burst ops */ +#define ODPH_RING_SZ_MASK (unsigned)(0x0fffffff) /* Ring size mask */ /** @@ -191,7 +191,7 @@ typedef struct odp_ring { * - EEXIST - a memzone with the same name already exists * - ENOMEM - no appropriate memory area found in which to create memzone */ -odp_ring_t *odp_ring_create(const char *name, unsigned count, +odph_ring_t *odph_ring_create(const char *name, unsigned count, unsigned flags); @@ -210,14 +210,14 @@ odp_ring_t *odp_ring_create(const char *name, unsigned count, * @return 0: Success; water mark changed. * -EINVAL: Invalid water mark value. */ -int odp_ring_set_water_mark(odp_ring_t *r, unsigned count); +int odph_ring_set_water_mark(odph_ring_t *r, unsigned count); /** * Dump the status of the ring to the console. * * @param r A pointer to the ring structure. */ -void odp_ring_dump(const odp_ring_t *r); +void odph_ring_dump(const odph_ring_t *r); /** * Enqueue several objects on the ring (multi-producers safe). @@ -244,8 +244,9 @@ void odp_ring_dump(const odp_ring_t *r); * if behavior = ODP_RING_QUEUE_VARIABLE * - n: Actual number of objects enqueued. */ -int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * const *obj_table, - unsigned n, enum odp_ring_queue_behavior behavior); +int __odph_ring_mp_do_enqueue(odph_ring_t *r, void * const *obj_table, + unsigned n, + enum odph_ring_queue_behavior behavior); /** * Enqueue several objects on a ring (NOT multi-producers safe). @@ -269,8 +270,9 @@ int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * const *obj_table, * if behavior = ODP_RING_QUEUE_VARIABLE * - n: Actual number of objects enqueued. */ -int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * const *obj_table, - unsigned n, enum odp_ring_queue_behavior behavior); +int __odph_ring_sp_do_enqueue(odph_ring_t *r, void * const *obj_table, + unsigned n, + enum odph_ring_queue_behavior behavior); /** * Dequeue several objects from a ring (multi-consumers safe). When @@ -299,8 +301,9 @@ int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * const *obj_table, * - n: Actual number of objects dequeued. */ -int __odp_ring_mc_do_dequeue(odp_ring_t *r, void **obj_table, - unsigned n, enum odp_ring_queue_behavior behavior); +int __odph_ring_mc_do_dequeue(odph_ring_t *r, void **obj_table, + unsigned n, + enum odph_ring_queue_behavior behavior); /** * Dequeue several objects from a ring (NOT multi-consumers safe). @@ -325,8 +328,9 @@ int __odp_ring_mc_do_dequeue(odp_ring_t *r, void **obj_table, * if behavior = ODP_RING_QUEUE_VARIABLE * - n: Actual number of objects dequeued. */ -int __odp_ring_sc_do_dequeue(odp_ring_t *r, void **obj_table, - unsigned n, enum odp_ring_queue_behavior behavior); +int __odph_ring_sc_do_dequeue(odph_ring_t *r, void **obj_table, + unsigned n, + enum odph_ring_queue_behavior behavior); /** * Enqueue several objects on the ring (multi-producers safe). @@ -346,8 +350,8 @@ int __odp_ring_sc_do_dequeue(odp_ring_t *r, void **obj_table, * high water mark is exceeded. * - -ENOBUFS: Not enough room in the ring to enqueue, no object is enqueued. */ -int odp_ring_mp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, - unsigned n); +int odph_ring_mp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, + unsigned n); /** * Enqueue several objects on a ring (NOT multi-producers safe). @@ -364,8 +368,8 @@ int odp_ring_mp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, * high water mark is exceeded. * - -ENOBUFS: Not enough room in the ring to enqueue; no object is enqueued. */ -int odp_ring_sp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, - unsigned n); +int odph_ring_sp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, + unsigned n); /** * Dequeue several objects from a ring (multi-consumers safe). @@ -384,7 +388,7 @@ int odp_ring_sp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, * - -ENOENT: Not enough entries in the ring to dequeue; no object is * dequeued. */ -int odp_ring_mc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned n); +int odph_ring_mc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n); /** * Dequeue several objects from a ring (NOT multi-consumers safe). @@ -401,7 +405,7 @@ int odp_ring_mc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned n); * - -ENOENT: Not enough entries in the ring to dequeue; no object is * dequeued. */ -int odp_ring_sc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned n); +int odph_ring_sc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n); /** * Test if a ring is full. @@ -412,7 +416,7 @@ int odp_ring_sc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned n); * - 1: The ring is full. * - 0: The ring is not full. */ -int odp_ring_full(const odp_ring_t *r); +int odph_ring_full(const odph_ring_t *r); /** * Test if a ring is empty. @@ -423,7 +427,7 @@ int odp_ring_full(const odp_ring_t *r); * - 1: The ring is empty. * - 0: The ring is not empty. */ -int odp_ring_empty(const odp_ring_t *r); +int odph_ring_empty(const odph_ring_t *r); /** * Return the number of entries in a ring. @@ -433,7 +437,7 @@ int odp_ring_empty(const odp_ring_t *r); * @return * The number of entries in the ring. */ -unsigned odp_ring_count(const odp_ring_t *r); +unsigned odph_ring_count(const odph_ring_t *r); /** * Return the number of free entries in a ring. @@ -443,14 +447,14 @@ unsigned odp_ring_count(const odp_ring_t *r); * @return * The number of free entries in the ring. */ -unsigned odp_ring_free_count(const odp_ring_t *r); +unsigned odph_ring_free_count(const odph_ring_t *r); /** * search ring by name * @param name ring name to search * @return pointer to ring otherwise NULL */ -odp_ring_t *odp_ring_lookup(const char *name); +odph_ring_t *odph_ring_lookup(const char *name); /** * Enqueue several objects on the ring (multi-producers safe). @@ -467,8 +471,8 @@ odp_ring_t *odp_ring_lookup(const char *name); * @return * - n: Actual number of objects enqueued. */ -int odp_ring_mp_enqueue_burst(odp_ring_t *r, void * const *obj_table, - unsigned n); +int odph_ring_mp_enqueue_burst(odph_ring_t *r, void * const *obj_table, + unsigned n); /** * Enqueue several objects on a ring (NOT multi-producers safe). @@ -482,8 +486,8 @@ int odp_ring_mp_enqueue_burst(odp_ring_t *r, void * const *obj_table, * @return * - n: Actual number of objects enqueued. */ -int odp_ring_sp_enqueue_burst(odp_ring_t *r, void * const *obj_table, - unsigned n); +int odph_ring_sp_enqueue_burst(odph_ring_t *r, void * const *obj_table, + unsigned n); /** * Enqueue several objects on a ring. * @@ -500,8 +504,8 @@ int odp_ring_sp_enqueue_burst(odp_ring_t *r, void * const *obj_table, * @return * - n: Actual number of objects enqueued. */ -int odp_ring_enqueue_burst(odp_ring_t *r, void * const *obj_table, - unsigned n); +int odph_ring_enqueue_burst(odph_ring_t *r, void * const *obj_table, + unsigned n); /** * Dequeue several objects from a ring (multi-consumers safe). When the request @@ -520,7 +524,7 @@ int odp_ring_enqueue_burst(odp_ring_t *r, void * const *obj_table, * @return * - n: Actual number of objects dequeued, 0 if ring is empty */ -int odp_ring_mc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n); +int odph_ring_mc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n); /** * Dequeue several objects from a ring (NOT multi-consumers safe).When the @@ -536,7 +540,7 @@ int odp_ring_mc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n); * @return * - n: Actual number of objects dequeued, 0 if ring is empty */ -int odp_ring_sc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n); +int odph_ring_sc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n); /** * Dequeue multiple objects from a ring up to a maximum number. @@ -554,17 +558,17 @@ int odp_ring_sc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n); * @return * - Number of objects dequeued, or a negative error code on error */ -int odp_ring_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n); +int odph_ring_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n); /** * dump the status of all rings on the console */ -void odp_ring_list_dump(void); +void odph_ring_list_dump(void); /** * initialise ring tailq */ -void odp_ring_tailq_init(void); +void odph_ring_tailq_init(void); #ifdef __cplusplus } diff --git a/include/helper/odp_udp.h b/helper/include/odph_udp.h similarity index 74% rename from include/helper/odp_udp.h rename to helper/include/odph_udp.h index 966d7f3..3970f00 100644 --- a/include/helper/odp_udp.h +++ b/helper/include/odph_udp.h @@ -11,8 +11,8 @@ * ODP UDP header */ -#ifndef ODP_UDP_H_ -#define ODP_UDP_H_ +#ifndef ODPH_UDP_H_ +#define ODPH_UDP_H_ #ifdef __cplusplus extern "C" { @@ -23,24 +23,24 @@ extern "C" { #include <odp_byteorder.h> /** UDP header length */ -#define ODP_UDPHDR_LEN 8 +#define ODPH_UDPHDR_LEN 8 /** UDP header */ -typedef struct ODP_PACKED { +typedef struct ODPH_PACKED { uint16be_t src_port; /**< Source port */ uint16be_t dst_port; /**< Destination port */ uint16be_t length; /**< UDP datagram length in bytes (header+data) */ uint16be_t chksum; /**< UDP header and data checksum (0 if not used)*/ -} odp_udphdr_t; +} odph_udphdr_t; /** UDP pseudo header */ -typedef struct ODP_PACKET { +typedef struct ODPH_PACKET { uint32be_t src_addr; /**< Source addr */ uint32be_t dst_addr; /**< Destination addr */ uint8_t pad; /**< pad byte */ uint8_t proto; /**< UDP protocol */ uint16be_t length; /**< data length */ -} odp_udpphdr_t; +} odph_udpphdr_t; /** * UDP checksum @@ -50,12 +50,12 @@ typedef struct ODP_PACKET { * @param pkt calculate chksum for pkt * @return checksum value */ -static inline uint16_t odp_ipv4_udp_chksum(odp_packet_t pkt) +static inline uint16_t odph_ipv4_udp_chksum(odp_packet_t pkt) { uint32_t sum = 0; - odp_udpphdr_t phdr; - odp_udphdr_t *udph; - odp_ipv4hdr_t *iph; + odph_udpphdr_t phdr; + odph_udphdr_t *udph; + odph_ipv4hdr_t *iph; uint16_t udplen; if (!odp_packet_l3_offset(pkt)) @@ -64,8 +64,8 @@ static inline uint16_t odp_ipv4_udp_chksum(odp_packet_t pkt) if (!odp_packet_l4_offset(pkt)) return 0; - iph = (odp_ipv4hdr_t *)odp_packet_l3(pkt); - udph = (odp_udphdr_t *)odp_packet_l4(pkt); + iph = (odph_ipv4hdr_t *)odp_packet_l3(pkt); + udph = (odph_udphdr_t *)odp_packet_l4(pkt); udplen = odp_be_to_cpu_16(udph->length); /* the source ip */ @@ -74,12 +74,12 @@ static inline uint16_t odp_ipv4_udp_chksum(odp_packet_t pkt) phdr.dst_addr = iph->dst_addr; /* proto */ phdr.pad = 0; - phdr.proto = ODP_IPPROTO_UDP; + phdr.proto = ODPH_IPPROTO_UDP; /* the length */ phdr.length = udph->length; /* calc UDP pseudo header chksum */ - sum = (__odp_force uint32_t) odp_chksum(&phdr, sizeof(odp_udpphdr_t)); + sum = (__odp_force uint32_t) odp_chksum(&phdr, sizeof(odph_udpphdr_t)); /* calc udp header and data chksum */ sum += (__odp_force uint32_t) odp_chksum(udph, udplen); @@ -93,7 +93,7 @@ static inline uint16_t odp_ipv4_udp_chksum(odp_packet_t pkt) } /** @internal Compile time assert */ -ODP_STATIC_ASSERT(sizeof(odp_udphdr_t) == ODP_UDPHDR_LEN, "ODP_UDPHDR_T__SIZE_ERROR"); +ODP_STATIC_ASSERT(sizeof(odph_udphdr_t) == ODPH_UDPHDR_LEN, "ODPH_UDPHDR_T__SIZE_ERROR"); #ifdef __cplusplus } diff --git a/include/helper/odp_eth.h b/include/helper/odp_eth.h deleted file mode 100644 index 542594b..0000000 --- a/include/helper/odp_eth.h +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (c) 2014, Linaro Limited - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - - -/** - * @file - * - * ODP ethernet header - */ - -#ifndef ODP_ETH_H_ -#define ODP_ETH_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <odp_std_types.h> -#include <odp_byteorder.h> -#include <odp_align.h> -#include <odp_debug.h> - -#define ODP_ETHADDR_LEN 6 /**< Ethernet address length */ -#define ODP_ETHHDR_LEN 14 /**< Ethernet header length */ -#define ODP_VLANHDR_LEN 4 /**< VLAN header length */ -#define ODP_ETH_LEN_MIN 60 /**< Min frame length (excl. CRC 4 bytes) */ -#define ODP_ETH_LEN_MIN_CRC 64 /**< Min frame length (incl. CRC 4 bytes) */ -#define ODP_ETH_LEN_MAX 1514 /**< Max frame length (excl. CRC 4 bytes) */ -#define ODP_ETH_LEN_MAX_CRC 1518 /**< Max frame length (incl. CRC 4 bytes) */ - -/** - * Ethernet MAC address - */ -typedef struct ODP_PACKED { - uint8_t addr[ODP_ETHADDR_LEN]; /**< @private Address */ -} odp_ethaddr_t; - -/** @internal Compile time assert */ -ODP_STATIC_ASSERT(sizeof(odp_ethaddr_t) == ODP_ETHADDR_LEN, "ODP_ETHADDR_T__SIZE_ERROR"); - -/** - * Ethernet header - */ -typedef struct ODP_PACKED { - odp_ethaddr_t dst; /**< Destination address */ - odp_ethaddr_t src; /**< Source address */ - uint16be_t type; /**< Type */ -} odp_ethhdr_t; - -/** @internal Compile time assert */ -ODP_STATIC_ASSERT(sizeof(odp_ethhdr_t) == ODP_ETHHDR_LEN, "ODP_ETHHDR_T__SIZE_ERROR"); - -/** - * VLAN header - * - * @todo Check usage of tpid vs ethertype. Check outer VLAN TPID. - */ -typedef struct ODP_PACKED { - uint16be_t tpid; /**< Tag protocol ID (located after ethhdr.src) */ - uint16be_t tci; /**< Priority / CFI / VLAN ID */ -} odp_vlanhdr_t; - -/** @internal Compile time assert */ -ODP_STATIC_ASSERT(sizeof(odp_vlanhdr_t) == ODP_VLANHDR_LEN, "ODP_VLANHDR_T__SIZE_ERROR"); - - -/* Ethernet header Ether Type ('type') values, a selected few */ -#define ODP_ETHTYPE_IPV4 0x0800 /**< Internet Protocol version 4 */ -#define ODP_ETHTYPE_ARP 0x0806 /**< Address Resolution Protocol */ -#define ODP_ETHTYPE_RARP 0x8035 /**< Reverse Address Resolution Protocol*/ -#define ODP_ETHTYPE_VLAN 0x8100 /**< VLAN-tagged frame IEEE 802.1Q */ -#define ODP_ETHTYPE_VLAN_OUTER 0x88A8 /**< Stacked VLANs/QinQ, outer-tag/S-TAG*/ -#define ODP_ETHTYPE_IPV6 0x86dd /**< Internet Protocol version 6 */ -#define ODP_ETHTYPE_FLOW_CTRL 0x8808 /**< Ethernet flow control */ -#define ODP_ETHTYPE_MPLS 0x8847 /**< MPLS unicast */ -#define ODP_ETHTYPE_MPLS_MCAST 0x8848 /**< MPLS multicast */ -#define ODP_ETHTYPE_MACSEC 0x88E5 /**< MAC security IEEE 802.1AE */ -#define ODP_ETHTYPE_1588 0x88F7 /**< Precision Time Protocol IEEE 1588 */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/platform/linux-dpdk/Makefile.am b/platform/linux-dpdk/Makefile.am index ff49b7d..a03ef41 100644 --- a/platform/linux-dpdk/Makefile.am +++ b/platform/linux-dpdk/Makefile.am @@ -16,7 +16,7 @@ AM_CFLAGS += -I$(srcdir)/include AM_CFLAGS += -I$(srcdir)/include/api AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include/api -AM_CFLAGS += -I$(top_srcdir)/include +AM_CFLAGS += -I$(top_srcdir)/helper/include DPDK_LIBS="-lintel_dpdk -ldl" LIBS += $(DPDK_LIBS) @@ -54,13 +54,13 @@ include_HEADERS = \ subdirheadersdir = $(includedir)/helper subdirheaders_HEADERS = \ - $(top_srcdir)/include/helper/odp_chksum.h \ - $(top_srcdir)/include/helper/odp_eth.h \ - $(top_srcdir)/include/helper/odp_ip.h \ - $(top_srcdir)/include/helper/odp_linux.h \ - $(top_srcdir)/include/helper/odp_packet_helper.h \ - $(top_srcdir)/include/helper/odp_ring.h \ - $(top_srcdir)/include/helper/odp_udp.h + $(top_srcdir)/helper/include/odph_chksum.h \ + $(top_srcdir)/helper/include/odph_eth.h \ + $(top_srcdir)/helper/include/odph_ip.h \ + $(top_srcdir)/helper/include/odph_linux.h \ + $(top_srcdir)/helper/include/odph_packet_helper.h \ + $(top_srcdir)/helper/include/odph_ring.h \ + $(top_srcdir)/helper/include/odph_udp.h __LIB__libodp_la_SOURCES = \ ../linux-generic/odp_barrier.c \ diff --git a/platform/linux-dpdk/include/odp_packet_dpdk.h b/platform/linux-dpdk/include/odp_packet_dpdk.h index bcf9aa5..f901184 100644 --- a/platform/linux-dpdk/include/odp_packet_dpdk.h +++ b/platform/linux-dpdk/include/odp_packet_dpdk.h @@ -10,8 +10,8 @@ #include <stdint.h> #include <net/if.h> -#include <helper/odp_eth.h> -#include <helper/odp_packet_helper.h> +#include <odph_eth.h> +#include <odph_packet_helper.h> #include <odp_align.h> #include <odp_debug.h> #include <odp_packet.h> diff --git a/platform/linux-dpdk/odp_linux.c b/platform/linux-dpdk/odp_linux.c index 067bd99..96c91a5 100644 --- a/platform/linux-dpdk/odp_linux.c +++ b/platform/linux-dpdk/odp_linux.c @@ -14,7 +14,7 @@ #include <stdio.h> #include <assert.h> -#include <helper/odp_linux.h> +#include <odph_linux.h> #include <odp_internal.h> #include <odp_thread.h> #include <odp_init.h> @@ -41,7 +41,7 @@ static void *odp_run_start_routine(void *arg) } -void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, int num, +void odph_linux_pthread_create(odph_linux_pthread_t *thread_tbl, int num, int first_core, void *(*start_routine) (void *), void *arg) { int i; @@ -82,7 +82,7 @@ void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, int num, } -void odp_linux_pthread_join(odp_linux_pthread_t *thread_tbl, int num) +void odph_linux_pthread_join(odph_linux_pthread_t *thread_tbl, int num) { uint32_t lcore_id; diff --git a/platform/linux-dpdk/odp_packet.c b/platform/linux-dpdk/odp_packet.c index c34e626..edfd06d 100644 --- a/platform/linux-dpdk/odp_packet.c +++ b/platform/linux-dpdk/odp_packet.c @@ -9,16 +9,16 @@ #include <odp_hints.h> #include <odp_byteorder.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> +#include <odph_eth.h> +#include <odph_ip.h> #include <string.h> #include <stdio.h> -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, - size_t *offset_out); -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t *ipv6, - size_t *offset_out); +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, + odph_ipv4hdr_t *ipv4, size_t *offset_out); +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, + odph_ipv6hdr_t *ipv6, size_t *offset_out); void odp_packet_init(odp_packet_t pkt) { @@ -144,10 +144,10 @@ void odp_packet_set_l4_offset(odp_packet_t pkt, size_t offset) void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) { odp_packet_hdr_t *const pkt_hdr = odp_packet_hdr(pkt); - odp_ethhdr_t *eth; - odp_vlanhdr_t *vlan; - odp_ipv4hdr_t *ipv4; - odp_ipv6hdr_t *ipv6; + odph_ethhdr_t *eth; + odph_vlanhdr_t *vlan; + odph_ipv4hdr_t *ipv4; + odph_ipv6hdr_t *ipv6; uint16_t ethtype; size_t offset = 0; uint8_t ip_proto = 0; @@ -156,10 +156,10 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) pkt_hdr->frame_offset = frame_offset; pkt_hdr->frame_len = len; - if (odp_unlikely(len < ODP_ETH_LEN_MIN)) { + if (odp_unlikely(len < ODPH_ETH_LEN_MIN)) { pkt_hdr->error_flags.frame_len = 1; return; - } else if (len > ODP_ETH_LEN_MAX) { + } else if (len > ODPH_ETH_LEN_MAX) { pkt_hdr->input_flags.jumbo = 1; } @@ -167,40 +167,40 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) pkt_hdr->input_flags.l2 = 1; pkt_hdr->l2_offset = frame_offset; - eth = (odp_ethhdr_t *)odp_packet_start(pkt); + eth = (odph_ethhdr_t *)odp_packet_start(pkt); ethtype = odp_be_to_cpu_16(eth->type); - vlan = (odp_vlanhdr_t *)ð->type; + vlan = (odph_vlanhdr_t *)ð->type; - if (ethtype == ODP_ETHTYPE_VLAN_OUTER) { + if (ethtype == ODPH_ETHTYPE_VLAN_OUTER) { pkt_hdr->input_flags.vlan_qinq = 1; ethtype = odp_be_to_cpu_16(vlan->tpid); - offset += sizeof(odp_vlanhdr_t); + offset += sizeof(odph_vlanhdr_t); vlan = &vlan[1]; } - if (ethtype == ODP_ETHTYPE_VLAN) { + if (ethtype == ODPH_ETHTYPE_VLAN) { pkt_hdr->input_flags.vlan = 1; ethtype = odp_be_to_cpu_16(vlan->tpid); - offset += sizeof(odp_vlanhdr_t); + offset += sizeof(odph_vlanhdr_t); } /* Set l3_offset+flag only for known ethtypes */ switch (ethtype) { - case ODP_ETHTYPE_IPV4: + case ODPH_ETHTYPE_IPV4: pkt_hdr->input_flags.ipv4 = 1; pkt_hdr->input_flags.l3 = 1; - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; - ipv4 = (odp_ipv4hdr_t *)odp_packet_l3(pkt); + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; + ipv4 = (odph_ipv4hdr_t *)odp_packet_l3(pkt); ip_proto = parse_ipv4(pkt_hdr, ipv4, &offset); break; - case ODP_ETHTYPE_IPV6: + case ODPH_ETHTYPE_IPV6: pkt_hdr->input_flags.ipv6 = 1; pkt_hdr->input_flags.l3 = 1; - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; - ipv6 = (odp_ipv6hdr_t *)odp_packet_l3(pkt); + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; + ipv6 = (odph_ipv6hdr_t *)odp_packet_l3(pkt); ip_proto = parse_ipv6(pkt_hdr, ipv6, &offset); break; - case ODP_ETHTYPE_ARP: + case ODPH_ETHTYPE_ARP: pkt_hdr->input_flags.arp = 1; /* fall through */ default: @@ -209,22 +209,22 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) } switch (ip_proto) { - case ODP_IPPROTO_UDP: + case ODPH_IPPROTO_UDP: pkt_hdr->input_flags.udp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_TCP: + case ODPH_IPPROTO_TCP: pkt_hdr->input_flags.tcp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_SCTP: + case ODPH_IPPROTO_SCTP: pkt_hdr->input_flags.sctp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_ICMP: + case ODPH_IPPROTO_ICMP: pkt_hdr->input_flags.icmp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; @@ -239,19 +239,19 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) } } -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, - size_t *offset_out) +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, + odph_ipv4hdr_t *ipv4, size_t *offset_out) { uint8_t ihl; uint16_t frag_offset; - ihl = ODP_IPV4HDR_IHL(ipv4->ver_ihl); - if (odp_unlikely(ihl < ODP_IPV4HDR_IHL_MIN)) { + ihl = ODPH_IPV4HDR_IHL(ipv4->ver_ihl); + if (odp_unlikely(ihl < ODPH_IPV4HDR_IHL_MIN)) { pkt_hdr->error_flags.ip_err = 1; return 0; } - if (odp_unlikely(ihl > ODP_IPV4HDR_IHL_MIN)) { + if (odp_unlikely(ihl > ODPH_IPV4HDR_IHL_MIN)) { pkt_hdr->input_flags.ipopt = 1; return 0; } @@ -262,13 +262,13 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, * "fragment offset" field is nonzero (all fragments except the first) */ frag_offset = odp_be_to_cpu_16(ipv4->frag_offset); - if (odp_unlikely(ODP_IPV4HDR_IS_FRAGMENT(frag_offset))) { + if (odp_unlikely(ODPH_IPV4HDR_IS_FRAGMENT(frag_offset))) { pkt_hdr->input_flags.ipfrag = 1; return 0; } - if (ipv4->proto == ODP_IPPROTO_ESP || - ipv4->proto == ODP_IPPROTO_AH) { + if (ipv4->proto == ODPH_IPPROTO_ESP || + ipv4->proto == ODPH_IPPROTO_AH) { pkt_hdr->input_flags.ipsec = 1; return 0; } @@ -279,24 +279,24 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, return ipv4->proto; } -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t *ipv6, - size_t *offset_out) +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, + odph_ipv6hdr_t *ipv6, size_t *offset_out) { - if (ipv6->next_hdr == ODP_IPPROTO_ESP || - ipv6->next_hdr == ODP_IPPROTO_AH) { + if (ipv6->next_hdr == ODPH_IPPROTO_ESP || + ipv6->next_hdr == ODPH_IPPROTO_AH) { pkt_hdr->input_flags.ipopt = 1; pkt_hdr->input_flags.ipsec = 1; return 0; } - if (odp_unlikely(ipv6->next_hdr == ODP_IPPROTO_FRAG)) { + if (odp_unlikely(ipv6->next_hdr == ODPH_IPPROTO_FRAG)) { pkt_hdr->input_flags.ipopt = 1; pkt_hdr->input_flags.ipfrag = 1; return 0; } /* Don't step through more extensions */ - *offset_out = ODP_IPV6HDR_LEN; + *offset_out = ODPH_IPV6HDR_LEN; return ipv6->next_hdr; } diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index f4dfdc1..b996ced 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -3,7 +3,7 @@ include $(top_srcdir)/platform/Makefile.inc AM_CFLAGS += -I$(srcdir)/include AM_CFLAGS += -I$(srcdir)/include/api -AM_CFLAGS += -I$(top_srcdir)/include +AM_CFLAGS += -I$(top_srcdir)/helper/include include_HEADERS = \ $(top_srcdir)/platform/linux-generic/include/api/odp.h \ @@ -42,13 +42,13 @@ include_HEADERS = \ subdirheadersdir = $(includedir)/helper subdirheaders_HEADERS = \ - $(top_srcdir)/include/helper/odp_chksum.h \ - $(top_srcdir)/include/helper/odp_eth.h \ - $(top_srcdir)/include/helper/odp_ip.h \ - $(top_srcdir)/include/helper/odp_linux.h \ - $(top_srcdir)/include/helper/odp_packet_helper.h \ - $(top_srcdir)/include/helper/odp_ring.h \ - $(top_srcdir)/include/helper/odp_udp.h + $(top_srcdir)/helper/include/odph_chksum.h \ + $(top_srcdir)/helper/include/odph_eth.h \ + $(top_srcdir)/helper/include/odph_ip.h \ + $(top_srcdir)/helper/include/odph_linux.h \ + $(top_srcdir)/helper/include/odph_packet_helper.h \ + $(top_srcdir)/helper/include/odph_ring.h \ + $(top_srcdir)/helper/include/odph_udp.h __LIB__libodp_la_SOURCES = \ odp_barrier.c \ diff --git a/platform/linux-generic/include/api/odp_align.h b/platform/linux-generic/include/api/odp_align.h index 5ee61be..a93dd24 100644 --- a/platform/linux-generic/include/api/odp_align.h +++ b/platform/linux-generic/include/api/odp_align.h @@ -31,7 +31,7 @@ extern "C" { /** * Defines type/struct to be packed */ -#define ODP_PACKED __attribute__((__packed__)) +#define ODPH_PACKED __attribute__((__packed__)) /** * Returns offset of member in type diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c index bdd4694..03a3770 100644 --- a/platform/linux-generic/odp_crypto.c +++ b/platform/linux-generic/odp_crypto.c @@ -14,7 +14,7 @@ #include <odp_shared_memory.h> #include <odp_crypto_internal.h> #include <odp_hints.h> -#include <helper/odp_packet_helper.h> +#include <odph_packet_helper.h> #include <string.h> @@ -370,7 +370,7 @@ odp_crypto_operation(odp_crypto_op_params_t *params, if (completion_event == odp_buffer_from_packet(params->pkt)) completion_event = odp_buffer_from_packet(params->out_pkt); - odp_packet_free(params->pkt); + odph_packet_free(params->pkt); params->pkt = ODP_PACKET_INVALID; } diff --git a/platform/linux-generic/odp_linux.c b/platform/linux-generic/odp_linux.c index 6e2b448..e21e467 100644 --- a/platform/linux-generic/odp_linux.c +++ b/platform/linux-generic/odp_linux.c @@ -14,7 +14,7 @@ #include <stdio.h> #include <assert.h> -#include <helper/odp_linux.h> +#include <odph_linux.h> #include <odp_internal.h> #include <odp_thread.h> #include <odp_init.h> @@ -45,7 +45,7 @@ static void *odp_run_start_routine(void *arg) } -void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, int num, +void odph_linux_pthread_create(odph_linux_pthread_t *thread_tbl, int num, int first_core, void *(*start_routine) (void *), void *arg) { int i; @@ -59,7 +59,7 @@ void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, int num, assert((first_core >= 0) && (first_core < core_count)); assert((num >= 0) && (num <= core_count)); - memset(thread_tbl, 0, num * sizeof(odp_linux_pthread_t)); + memset(thread_tbl, 0, num * sizeof(odph_linux_pthread_t)); for (i = 0; i < num; i++) { pthread_attr_init(&thread_tbl[i].attr); @@ -85,7 +85,7 @@ void odp_linux_pthread_create(odp_linux_pthread_t *thread_tbl, int num, } -void odp_linux_pthread_join(odp_linux_pthread_t *thread_tbl, int num) +void odph_linux_pthread_join(odph_linux_pthread_t *thread_tbl, int num) { int i; diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c index 13e2471..20137d0 100644 --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@ -9,16 +9,16 @@ #include <odp_hints.h> #include <odp_byteorder.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> +#include <odph_eth.h> +#include <odph_ip.h> #include <string.h> #include <stdio.h> -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, - size_t *offset_out); -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t *ipv6, - size_t *offset_out); +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, + odph_ipv4hdr_t *ipv4, size_t *offset_out); +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, + odph_ipv6hdr_t *ipv6, size_t *offset_out); void odp_packet_init(odp_packet_t pkt) { @@ -160,10 +160,10 @@ int odp_packet_seg_count(odp_packet_t pkt) void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) { odp_packet_hdr_t *const pkt_hdr = odp_packet_hdr(pkt); - odp_ethhdr_t *eth; - odp_vlanhdr_t *vlan; - odp_ipv4hdr_t *ipv4; - odp_ipv6hdr_t *ipv6; + odph_ethhdr_t *eth; + odph_vlanhdr_t *vlan; + odph_ipv4hdr_t *ipv4; + odph_ipv6hdr_t *ipv6; uint16_t ethtype; size_t offset = 0; uint8_t ip_proto = 0; @@ -172,10 +172,10 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) pkt_hdr->frame_offset = frame_offset; pkt_hdr->frame_len = len; - if (odp_unlikely(len < ODP_ETH_LEN_MIN)) { + if (odp_unlikely(len < ODPH_ETH_LEN_MIN)) { pkt_hdr->error_flags.frame_len = 1; return; - } else if (len > ODP_ETH_LEN_MAX) { + } else if (len > ODPH_ETH_LEN_MAX) { pkt_hdr->input_flags.jumbo = 1; } @@ -183,40 +183,40 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) pkt_hdr->input_flags.l2 = 1; pkt_hdr->l2_offset = frame_offset; - eth = (odp_ethhdr_t *)odp_packet_start(pkt); + eth = (odph_ethhdr_t *)odp_packet_start(pkt); ethtype = odp_be_to_cpu_16(eth->type); - vlan = (odp_vlanhdr_t *)ð->type; + vlan = (odph_vlanhdr_t *)ð->type; - if (ethtype == ODP_ETHTYPE_VLAN_OUTER) { + if (ethtype == ODPH_ETHTYPE_VLAN_OUTER) { pkt_hdr->input_flags.vlan_qinq = 1; ethtype = odp_be_to_cpu_16(vlan->tpid); - offset += sizeof(odp_vlanhdr_t); + offset += sizeof(odph_vlanhdr_t); vlan = &vlan[1]; } - if (ethtype == ODP_ETHTYPE_VLAN) { + if (ethtype == ODPH_ETHTYPE_VLAN) { pkt_hdr->input_flags.vlan = 1; ethtype = odp_be_to_cpu_16(vlan->tpid); - offset += sizeof(odp_vlanhdr_t); + offset += sizeof(odph_vlanhdr_t); } /* Set l3_offset+flag only for known ethtypes */ switch (ethtype) { - case ODP_ETHTYPE_IPV4: + case ODPH_ETHTYPE_IPV4: pkt_hdr->input_flags.ipv4 = 1; pkt_hdr->input_flags.l3 = 1; - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; - ipv4 = (odp_ipv4hdr_t *)odp_packet_l3(pkt); + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; + ipv4 = (odph_ipv4hdr_t *)odp_packet_l3(pkt); ip_proto = parse_ipv4(pkt_hdr, ipv4, &offset); break; - case ODP_ETHTYPE_IPV6: + case ODPH_ETHTYPE_IPV6: pkt_hdr->input_flags.ipv6 = 1; pkt_hdr->input_flags.l3 = 1; - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; - ipv6 = (odp_ipv6hdr_t *)odp_packet_l3(pkt); + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; + ipv6 = (odph_ipv6hdr_t *)odp_packet_l3(pkt); ip_proto = parse_ipv6(pkt_hdr, ipv6, &offset); break; - case ODP_ETHTYPE_ARP: + case ODPH_ETHTYPE_ARP: pkt_hdr->input_flags.arp = 1; /* fall through */ default: @@ -225,22 +225,22 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) } switch (ip_proto) { - case ODP_IPPROTO_UDP: + case ODPH_IPPROTO_UDP: pkt_hdr->input_flags.udp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_TCP: + case ODPH_IPPROTO_TCP: pkt_hdr->input_flags.tcp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_SCTP: + case ODPH_IPPROTO_SCTP: pkt_hdr->input_flags.sctp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_ICMP: + case ODPH_IPPROTO_ICMP: pkt_hdr->input_flags.icmp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; @@ -255,19 +255,19 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) } } -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, - size_t *offset_out) +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, + odph_ipv4hdr_t *ipv4, size_t *offset_out) { uint8_t ihl; uint16_t frag_offset; - ihl = ODP_IPV4HDR_IHL(ipv4->ver_ihl); - if (odp_unlikely(ihl < ODP_IPV4HDR_IHL_MIN)) { + ihl = ODPH_IPV4HDR_IHL(ipv4->ver_ihl); + if (odp_unlikely(ihl < ODPH_IPV4HDR_IHL_MIN)) { pkt_hdr->error_flags.ip_err = 1; return 0; } - if (odp_unlikely(ihl > ODP_IPV4HDR_IHL_MIN)) { + if (odp_unlikely(ihl > ODPH_IPV4HDR_IHL_MIN)) { pkt_hdr->input_flags.ipopt = 1; return 0; } @@ -278,13 +278,13 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, * "fragment offset" field is nonzero (all fragments except the first) */ frag_offset = odp_be_to_cpu_16(ipv4->frag_offset); - if (odp_unlikely(ODP_IPV4HDR_IS_FRAGMENT(frag_offset))) { + if (odp_unlikely(ODPH_IPV4HDR_IS_FRAGMENT(frag_offset))) { pkt_hdr->input_flags.ipfrag = 1; return 0; } - if (ipv4->proto == ODP_IPPROTO_ESP || - ipv4->proto == ODP_IPPROTO_AH) { + if (ipv4->proto == ODPH_IPPROTO_ESP || + ipv4->proto == ODPH_IPPROTO_AH) { pkt_hdr->input_flags.ipsec = 1; return 0; } @@ -295,24 +295,24 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, return ipv4->proto; } -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t *ipv6, - size_t *offset_out) +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, + odph_ipv6hdr_t *ipv6, size_t *offset_out) { - if (ipv6->next_hdr == ODP_IPPROTO_ESP || - ipv6->next_hdr == ODP_IPPROTO_AH) { + if (ipv6->next_hdr == ODPH_IPPROTO_ESP || + ipv6->next_hdr == ODPH_IPPROTO_AH) { pkt_hdr->input_flags.ipopt = 1; pkt_hdr->input_flags.ipsec = 1; return 0; } - if (odp_unlikely(ipv6->next_hdr == ODP_IPPROTO_FRAG)) { + if (odp_unlikely(ipv6->next_hdr == ODPH_IPPROTO_FRAG)) { pkt_hdr->input_flags.ipopt = 1; pkt_hdr->input_flags.ipfrag = 1; return 0; } /* Don't step through more extensions */ - *offset_out = ODP_IPV6HDR_LEN; + *offset_out = ODPH_IPV6HDR_LEN; return ipv6->next_hdr; } diff --git a/platform/linux-generic/odp_packet_netmap.c b/platform/linux-generic/odp_packet_netmap.c index e2215ab..1614b56 100644 --- a/platform/linux-generic/odp_packet_netmap.c +++ b/platform/linux-generic/odp_packet_netmap.c @@ -31,9 +31,9 @@ #include <odp_hints.h> #include <odp_thread.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> -#include <helper/odp_packet_helper.h> +#include <odph_eth.h> +#include <odph_ip.h> +#include <odph_packet_helper.h> #define NETMAP_WITH_LIBS #include <odp_packet_netmap.h> @@ -41,8 +41,8 @@ /** Eth buffer start offset from u32-aligned address to make sure the following * header (e.g. IP) starts at a 32-bit aligned address. */ -#define ETHBUF_OFFSET (ODP_ALIGN_ROUNDUP(ODP_ETHHDR_LEN, sizeof(uint32_t)) \ - - ODP_ETHHDR_LEN) +#define ETHBUF_OFFSET (ODP_ALIGN_ROUNDUP(ODPH_ETHHDR_LEN, sizeof(uint32_t)) \ + - ODPH_ETHHDR_LEN) /** Round up buffer address to get a properly aliged eth buffer, i.e. aligned * so that the next header always starts at a 32bit aligned address. @@ -135,7 +135,7 @@ int setup_pkt_netmap(pkt_netmap_t * const pkt_nm, const char *netdev, /* save netmap_mode for later use */ pkt_nm->netmap_mode = nm_params->netmap_mode; - odp_packet_free(pkt); + odph_packet_free(pkt); if (nm_params->netmap_mode == ODP_NETMAP_MODE_SW) ringid = NETMAP_SW_RING; @@ -322,7 +322,7 @@ int recv_pkt_netmap(pkt_netmap_t * const pkt_nm, odp_packet_t pkt_table[], /* drop the frame, reuse pkt next interation */ continue; } - if (odp_unlikely(frame_len < ODP_ETH_LEN_MIN)) { + if (odp_unlikely(frame_len < ODPH_ETH_LEN_MIN)) { if (odp_unlikely(pkt_nm->netmap_mode != ODP_NETMAP_MODE_SW)) { ODP_ERR("RX: Frame truncated: %u\n", @@ -330,8 +330,8 @@ int recv_pkt_netmap(pkt_netmap_t * const pkt_nm, odp_packet_t pkt_table[], continue; } memset(l2_hdr + frame_len, 0, - ODP_ETH_LEN_MIN - frame_len); - frame_len = ODP_ETH_LEN_MIN; + ODPH_ETH_LEN_MIN - frame_len); + frame_len = ODPH_ETH_LEN_MIN; } /* For now copy the data in the mbuf, @@ -447,7 +447,7 @@ int send_pkt_netmap(pkt_netmap_t * const pkt_nm, odp_packet_t pkt_table[], ODP_DBG("===> sent %03u frames to netmap adapter\n", nb_tx); for (tx = 0; tx < len; tx++) - odp_packet_free(pkt_table[tx]); + odph_packet_free(pkt_table[tx]); return nb_tx; } diff --git a/platform/linux-generic/odp_packet_socket.c b/platform/linux-generic/odp_packet_socket.c index 352d517..857929d 100644 --- a/platform/linux-generic/odp_packet_socket.c +++ b/platform/linux-generic/odp_packet_socket.c @@ -38,9 +38,9 @@ #include <odp_packet_internal.h> #include <odp_hints.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> -#include <helper/odp_packet_helper.h> +#include <odph_eth.h> +#include <odph_ip.h> +#include <odph_packet_helper.h> /** Provide a sendmmsg wrapper for systems with no libc or kernel support. * As it is implemented as a weak symbol, it has zero effect on systems @@ -93,8 +93,8 @@ static odp_spinlock_t raw_sockets_lock; /** Eth buffer start offset from u32-aligned address to make sure the following * header (e.g. IP) starts at a 32-bit aligned address. */ -#define ETHBUF_OFFSET (ODP_ALIGN_ROUNDUP(ODP_ETHHDR_LEN, sizeof(uint32_t)) \ - - ODP_ETHHDR_LEN) +#define ETHBUF_OFFSET (ODP_ALIGN_ROUNDUP(ODPH_ETHHDR_LEN, sizeof(uint32_t)) \ + - ODPH_ETHHDR_LEN) /** Round up buffer address to get a properly aliged eth buffer, i.e. aligned * so that the next header always starts at a 32bit aligned address. @@ -186,8 +186,8 @@ int setup_pkt_sock(pkt_sock_t *const pkt_sock, const char *netdev, return -1; pkt_sock->pool = pool; - pkt = odp_packet_alloc(pool); - if (!odp_packet_is_valid(pkt)) + pkt = odph_packet_alloc(pool); + if (!odph_packet_is_valid(pkt)) return -1; pkt_buf = odp_packet_buf_addr(pkt); @@ -195,11 +195,11 @@ int setup_pkt_sock(pkt_sock_t *const pkt_sock, const char *netdev, /* Store eth buffer offset for pkt buffers from this pool */ pkt_sock->frame_offset = (uintptr_t)l2_hdr - (uintptr_t)pkt_buf; /* pkt buffer size */ - pkt_sock->buf_size = odp_packet_buf_size(pkt); + pkt_sock->buf_size = odph_packet_buf_size(pkt); /* max frame len taking into account the l2-offset */ pkt_sock->max_frame_len = pkt_sock->buf_size - pkt_sock->frame_offset; - odp_packet_free(pkt); + odph_packet_free(pkt); odp_spinlock_lock(&raw_sockets_lock); @@ -297,7 +297,7 @@ int recv_pkt_sock_basic(pkt_sock_t *const pkt_sock, for (i = 0; i < len; i++) { if (odp_likely(pkt == ODP_PACKET_INVALID)) { - pkt = odp_packet_alloc(pkt_sock->pool); + pkt = odph_packet_alloc(pkt_sock->pool); if (odp_unlikely(pkt == ODP_PACKET_INVALID)) break; } @@ -324,7 +324,7 @@ int recv_pkt_sock_basic(pkt_sock_t *const pkt_sock, } /* end for() */ if (odp_unlikely(pkt != ODP_PACKET_INVALID)) - odp_packet_free(pkt); + odph_packet_free(pkt); return nb_rx; } @@ -368,7 +368,7 @@ int send_pkt_sock_basic(pkt_sock_t *const pkt_sock, nb_tx = i; for (i = 0; i < len; i++) - odp_packet_free(pkt_table[i]); + odph_packet_free(pkt_table[i]); return nb_tx; } @@ -395,7 +395,7 @@ int recv_pkt_sock_mmsg(pkt_sock_t *const pkt_sock, memset(msgvec, 0, sizeof(msgvec)); for (i = 0; i < (int)len; i++) { - pkt_table[i] = odp_packet_alloc(pkt_sock->pool); + pkt_table[i] = odph_packet_alloc(pkt_sock->pool); if (odp_unlikely(pkt_table[i] == ODP_PACKET_INVALID)) break; @@ -417,7 +417,7 @@ int recv_pkt_sock_mmsg(pkt_sock_t *const pkt_sock, /* Don't receive packets sent by ourselves */ if (odp_unlikely(ethaddrs_equal(pkt_sock->if_mac, eth_hdr->h_source))) { - odp_packet_free(pkt_table[i]); + odph_packet_free(pkt_table[i]); continue; } @@ -431,7 +431,7 @@ int recv_pkt_sock_mmsg(pkt_sock_t *const pkt_sock, /* Free unused pkt buffers */ for (; i < msgvec_len; i++) - odp_packet_free(pkt_table[i]); + odph_packet_free(pkt_table[i]); return nb_rx; } @@ -473,7 +473,7 @@ int send_pkt_sock_mmsg(pkt_sock_t *const pkt_sock, } for (i = 0; i < len; i++) - odp_packet_free(pkt_table[i]); + odph_packet_free(pkt_table[i]); return len; } @@ -569,7 +569,7 @@ static inline unsigned pkt_mmap_v2_rx(int sock, struct ring *ring, continue; } - pkt_table[i] = odp_packet_alloc(pool); + pkt_table[i] = odph_packet_alloc(pool); if (odp_unlikely(pkt_table[i] == ODP_PACKET_INVALID)) break; @@ -623,7 +623,7 @@ static inline unsigned pkt_mmap_v2_tx(int sock, struct ring *ring, mmap_tx_user_ready(ppd.raw); - odp_packet_free(pkt_table[i]); + odph_packet_free(pkt_table[i]); frame_num = next_frame_num; i++; } else { @@ -815,8 +815,8 @@ int setup_pkt_sock_mmap(pkt_sock_mmap_t *const pkt_sock, const char *netdev, if (pool == ODP_BUFFER_POOL_INVALID) return -1; - pkt = odp_packet_alloc(pool); - if (!odp_packet_is_valid(pkt)) + pkt = odph_packet_alloc(pool); + if (!odph_packet_is_valid(pkt)) return -1; pkt_buf = odp_packet_buf_addr(pkt); @@ -824,7 +824,7 @@ int setup_pkt_sock_mmap(pkt_sock_mmap_t *const pkt_sock, const char *netdev, /* Store eth buffer offset for pkt buffers from this pool */ pkt_sock->frame_offset = (uintptr_t)l2_hdr - (uintptr_t)pkt_buf; - odp_packet_free(pkt); + odph_packet_free(pkt); pkt_sock->pool = pool; pkt_sock->sockfd = mmap_pkt_socket(); diff --git a/platform/linux-generic/odp_ring.c b/platform/linux-generic/odp_ring.c index 25ff66a..c739632 100644 --- a/platform/linux-generic/odp_ring.c +++ b/platform/linux-generic/odp_ring.c @@ -80,7 +80,7 @@ #include <string.h> #include <odp_debug.h> #include <odp_rwlock.h> -#include <helper/odp_ring.h> +#include <odph_ring.h> static TAILQ_HEAD(, odp_ring) odp_ring_list; @@ -145,29 +145,29 @@ static TAILQ_HEAD(, odp_ring) odp_ring_list; static odp_rwlock_t qlock; /* rings tailq lock */ /* init tailq_ring */ -void odp_ring_tailq_init(void) +void odph_ring_tailq_init(void) { TAILQ_INIT(&odp_ring_list); odp_rwlock_init(&qlock); } /* create the ring */ -odp_ring_t * -odp_ring_create(const char *name, unsigned count, unsigned flags) +odph_ring_t * +odph_ring_create(const char *name, unsigned count, unsigned flags) { - char ring_name[ODP_RING_NAMESIZE]; - odp_ring_t *r; + char ring_name[ODPH_RING_NAMESIZE]; + odph_ring_t *r; size_t ring_size; /* count must be a power of 2 */ - if (!ODP_VAL_IS_POWER_2(count) || (count > ODP_RING_SZ_MASK)) { + if (!ODP_VAL_IS_POWER_2(count) || (count > ODPH_RING_SZ_MASK)) { ODP_ERR("Requested size is invalid, must be power of 2, and do not exceed the size limit %u\n", - ODP_RING_SZ_MASK); + ODPH_RING_SZ_MASK); return NULL; } snprintf(ring_name, sizeof(ring_name), "%s", name); - ring_size = count*sizeof(void *)+sizeof(odp_ring_t); + ring_size = count*sizeof(void *)+sizeof(odph_ring_t); odp_rwlock_write_lock(&qlock); /* reserve a memory zone for this ring.*/ @@ -178,8 +178,8 @@ odp_ring_create(const char *name, unsigned count, unsigned flags) snprintf(r->name, sizeof(r->name), "%s", name); r->flags = flags; r->prod.watermark = count; - r->prod.sp_enqueue = !!(flags & ODP_RING_F_SP_ENQ); - r->cons.sc_dequeue = !!(flags & ODP_RING_F_SC_DEQ); + r->prod.sp_enqueue = !!(flags & ODPH_RING_F_SP_ENQ); + r->cons.sc_dequeue = !!(flags & ODPH_RING_F_SC_DEQ); r->prod.size = count; r->cons.size = count; r->prod.mask = count-1; @@ -202,7 +202,7 @@ odp_ring_create(const char *name, unsigned count, unsigned flags) * change the high water mark. If *count* is 0, water marking is * disabled */ -int odp_ring_set_water_mark(odp_ring_t *r, unsigned count) +int odph_ring_set_water_mark(odph_ring_t *r, unsigned count) { if (count >= r->prod.size) return -EINVAL; @@ -218,8 +218,8 @@ int odp_ring_set_water_mark(odp_ring_t *r, unsigned count) /** * Enqueue several objects on the ring (multi-producers safe). */ -int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * const *obj_table, - unsigned n, enum odp_ring_queue_behavior behavior) +int __odph_ring_mp_do_enqueue(odph_ring_t *r, void * const *obj_table, + unsigned n, enum odph_ring_queue_behavior behavior) { uint32_t prod_head, prod_next; uint32_t cons_tail, free_entries; @@ -244,7 +244,7 @@ int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * const *obj_table, /* check that we have enough room in ring */ if (odp_unlikely(n > free_entries)) { - if (behavior == ODP_RING_QUEUE_FIXED) { + if (behavior == ODPH_RING_QUEUE_FIXED) { return -ENOBUFS; } else { /* No free entry available */ @@ -266,10 +266,10 @@ int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * const *obj_table, /* if we exceed the watermark */ if (odp_unlikely(((mask + 1) - free_entries + n) > r->prod.watermark)) { - ret = (behavior == ODP_RING_QUEUE_FIXED) ? -EDQUOT : - (int)(n | ODP_RING_QUOT_EXCEED); + ret = (behavior == ODPH_RING_QUEUE_FIXED) ? -EDQUOT : + (int)(n | ODPH_RING_QUOT_EXCEED); } else { - ret = (behavior == ODP_RING_QUEUE_FIXED) ? 0 : n; + ret = (behavior == ODPH_RING_QUEUE_FIXED) ? 0 : n; } /* @@ -286,8 +286,8 @@ int __odp_ring_mp_do_enqueue(odp_ring_t *r, void * const *obj_table, /** * Enqueue several objects on a ring (NOT multi-producers safe). */ -int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * const *obj_table, - unsigned n, enum odp_ring_queue_behavior behavior) +int __odph_ring_sp_do_enqueue(odph_ring_t *r, void * const *obj_table, + unsigned n, enum odph_ring_queue_behavior behavior) { uint32_t prod_head, cons_tail; uint32_t prod_next, free_entries; @@ -305,7 +305,7 @@ int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * const *obj_table, /* check that we have enough room in ring */ if (odp_unlikely(n > free_entries)) { - if (behavior == ODP_RING_QUEUE_FIXED) { + if (behavior == ODPH_RING_QUEUE_FIXED) { return -ENOBUFS; } else { /* No free entry available */ @@ -325,10 +325,10 @@ int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * const *obj_table, /* if we exceed the watermark */ if (odp_unlikely(((mask + 1) - free_entries + n) > r->prod.watermark)) { - ret = (behavior == ODP_RING_QUEUE_FIXED) ? -EDQUOT : - (int)(n | ODP_RING_QUOT_EXCEED); + ret = (behavior == ODPH_RING_QUEUE_FIXED) ? -EDQUOT : + (int)(n | ODPH_RING_QUOT_EXCEED); } else { - ret = (behavior == ODP_RING_QUEUE_FIXED) ? 0 : n; + ret = (behavior == ODPH_RING_QUEUE_FIXED) ? 0 : n; } r->prod.tail = prod_next; @@ -339,8 +339,8 @@ int __odp_ring_sp_do_enqueue(odp_ring_t *r, void * const *obj_table, * Dequeue several objects from a ring (multi-consumers safe). */ -int __odp_ring_mc_do_dequeue(odp_ring_t *r, void **obj_table, - unsigned n, enum odp_ring_queue_behavior behavior) +int __odph_ring_mc_do_dequeue(odph_ring_t *r, void **obj_table, + unsigned n, enum odph_ring_queue_behavior behavior) { uint32_t cons_head, prod_tail; uint32_t cons_next, entries; @@ -364,7 +364,7 @@ int __odp_ring_mc_do_dequeue(odp_ring_t *r, void **obj_table, /* Set the actual entries for dequeue */ if (n > entries) { - if (behavior == ODP_RING_QUEUE_FIXED) { + if (behavior == ODPH_RING_QUEUE_FIXED) { return -ENOENT; } else { if (odp_unlikely(entries == 0)) @@ -392,14 +392,14 @@ int __odp_ring_mc_do_dequeue(odp_ring_t *r, void **obj_table, r->cons.tail = cons_next; - return behavior == ODP_RING_QUEUE_FIXED ? 0 : n; + return behavior == ODPH_RING_QUEUE_FIXED ? 0 : n; } /** * Dequeue several objects from a ring (NOT multi-consumers safe). */ -int __odp_ring_sc_do_dequeue(odp_ring_t *r, void **obj_table, - unsigned n, enum odp_ring_queue_behavior behavior) +int __odph_ring_sc_do_dequeue(odph_ring_t *r, void **obj_table, + unsigned n, enum odph_ring_queue_behavior behavior) { uint32_t cons_head, prod_tail; uint32_t cons_next, entries; @@ -415,7 +415,7 @@ int __odp_ring_sc_do_dequeue(odp_ring_t *r, void **obj_table, entries = prod_tail - cons_head; if (n > entries) { - if (behavior == ODP_RING_QUEUE_FIXED) { + if (behavior == ODPH_RING_QUEUE_FIXED) { return -ENOENT; } else { if (odp_unlikely(entries == 0)) @@ -433,47 +433,51 @@ int __odp_ring_sc_do_dequeue(odp_ring_t *r, void **obj_table, odp_mem_barrier(); r->cons.tail = cons_next; - return behavior == ODP_RING_QUEUE_FIXED ? 0 : n; + return behavior == ODPH_RING_QUEUE_FIXED ? 0 : n; } /** * Enqueue several objects on the ring (multi-producers safe). */ -int odp_ring_mp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, +int odph_ring_mp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, unsigned n) { - return __odp_ring_mp_do_enqueue(r, obj_table, n, ODP_RING_QUEUE_FIXED); + return __odph_ring_mp_do_enqueue(r, obj_table, n, + ODPH_RING_QUEUE_FIXED); } /** * Enqueue several objects on a ring (NOT multi-producers safe). */ -int odp_ring_sp_enqueue_bulk(odp_ring_t *r, void * const *obj_table, +int odph_ring_sp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, unsigned n) { - return __odp_ring_sp_do_enqueue(r, obj_table, n, ODP_RING_QUEUE_FIXED); + return __odph_ring_sp_do_enqueue(r, obj_table, n, + ODPH_RING_QUEUE_FIXED); } /** * Dequeue several objects from a ring (multi-consumers safe). */ -int odp_ring_mc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned n) +int odph_ring_mc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n) { - return __odp_ring_mc_do_dequeue(r, obj_table, n, ODP_RING_QUEUE_FIXED); + return __odph_ring_mc_do_dequeue(r, obj_table, n, + ODPH_RING_QUEUE_FIXED); } /** * Dequeue several objects from a ring (NOT multi-consumers safe). */ -int odp_ring_sc_dequeue_bulk(odp_ring_t *r, void **obj_table, unsigned n) +int odph_ring_sc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n) { - return __odp_ring_sc_do_dequeue(r, obj_table, n, ODP_RING_QUEUE_FIXED); + return __odph_ring_sc_do_dequeue(r, obj_table, n, + ODPH_RING_QUEUE_FIXED); } /** * Test if a ring is full. */ -int odp_ring_full(const odp_ring_t *r) +int odph_ring_full(const odph_ring_t *r) { uint32_t prod_tail = r->prod.tail; uint32_t cons_tail = r->cons.tail; @@ -483,7 +487,7 @@ int odp_ring_full(const odp_ring_t *r) /** * Test if a ring is empty. */ -int odp_ring_empty(const odp_ring_t *r) +int odph_ring_empty(const odph_ring_t *r) { uint32_t prod_tail = r->prod.tail; uint32_t cons_tail = r->cons.tail; @@ -493,7 +497,7 @@ int odp_ring_empty(const odp_ring_t *r) /** * Return the number of entries in a ring. */ -unsigned odp_ring_count(const odp_ring_t *r) +unsigned odph_ring_count(const odph_ring_t *r) { uint32_t prod_tail = r->prod.tail; uint32_t cons_tail = r->cons.tail; @@ -503,7 +507,7 @@ unsigned odp_ring_count(const odp_ring_t *r) /** * Return the number of free entries in a ring. */ -unsigned odp_ring_free_count(const odp_ring_t *r) +unsigned odph_ring_free_count(const odph_ring_t *r) { uint32_t prod_tail = r->prod.tail; uint32_t cons_tail = r->cons.tail; @@ -511,7 +515,7 @@ unsigned odp_ring_free_count(const odp_ring_t *r) } /* dump the status of the ring on the console */ -void odp_ring_dump(const odp_ring_t *r) +void odph_ring_dump(const odph_ring_t *r) { ODP_DBG("ring <%s>@%p\n", r->name, r); ODP_DBG(" flags=%x\n", r->flags); @@ -520,8 +524,8 @@ void odp_ring_dump(const odp_ring_t *r) ODP_DBG(" ch=%"PRIu32"\n", r->cons.head); ODP_DBG(" pt=%"PRIu32"\n", r->prod.tail); ODP_DBG(" ph=%"PRIu32"\n", r->prod.head); - ODP_DBG(" used=%u\n", odp_ring_count(r)); - ODP_DBG(" avail=%u\n", odp_ring_free_count(r)); + ODP_DBG(" used=%u\n", odph_ring_count(r)); + ODP_DBG(" avail=%u\n", odph_ring_free_count(r)); if (r->prod.watermark == r->prod.size) ODP_DBG(" watermark=0\n"); else @@ -529,27 +533,27 @@ void odp_ring_dump(const odp_ring_t *r) } /* dump the status of all rings on the console */ -void odp_ring_list_dump(void) +void odph_ring_list_dump(void) { - const odp_ring_t *mp = NULL; + const odph_ring_t *mp = NULL; odp_rwlock_read_lock(&qlock); TAILQ_FOREACH(mp, &odp_ring_list, next) { - odp_ring_dump(mp); + odph_ring_dump(mp); } odp_rwlock_read_unlock(&qlock); } /* search a ring from its name */ -odp_ring_t *odp_ring_lookup(const char *name) +odph_ring_t *odph_ring_lookup(const char *name) { - odp_ring_t *r = odp_shm_lookup(name); + odph_ring_t *r = odp_shm_lookup(name); odp_rwlock_read_lock(&qlock); TAILQ_FOREACH(r, &odp_ring_list, next) { - if (strncmp(name, r->name, ODP_RING_NAMESIZE) == 0) + if (strncmp(name, r->name, ODPH_RING_NAMESIZE) == 0) break; } odp_rwlock_read_unlock(&qlock); @@ -560,60 +564,60 @@ odp_ring_t *odp_ring_lookup(const char *name) /** * Enqueue several objects on the ring (multi-producers safe). */ -int odp_ring_mp_enqueue_burst(odp_ring_t *r, void * const *obj_table, +int odph_ring_mp_enqueue_burst(odph_ring_t *r, void * const *obj_table, unsigned n) { - return __odp_ring_mp_do_enqueue(r, obj_table, n, - ODP_RING_QUEUE_VARIABLE); + return __odph_ring_mp_do_enqueue(r, obj_table, n, + ODPH_RING_QUEUE_VARIABLE); } /** * Enqueue several objects on a ring (NOT multi-producers safe). */ -int odp_ring_sp_enqueue_burst(odp_ring_t *r, void * const *obj_table, +int odph_ring_sp_enqueue_burst(odph_ring_t *r, void * const *obj_table, unsigned n) { - return __odp_ring_sp_do_enqueue(r, obj_table, n, - ODP_RING_QUEUE_VARIABLE); + return __odph_ring_sp_do_enqueue(r, obj_table, n, + ODPH_RING_QUEUE_VARIABLE); } /** * Enqueue several objects on a ring. */ -int odp_ring_enqueue_burst(odp_ring_t *r, void * const *obj_table, +int odph_ring_enqueue_burst(odph_ring_t *r, void * const *obj_table, unsigned n) { if (r->prod.sp_enqueue) - return odp_ring_sp_enqueue_burst(r, obj_table, n); + return odph_ring_sp_enqueue_burst(r, obj_table, n); else - return odp_ring_mp_enqueue_burst(r, obj_table, n); + return odph_ring_mp_enqueue_burst(r, obj_table, n); } /** * Dequeue several objects from a ring (multi-consumers safe). */ -int odp_ring_mc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n) +int odph_ring_mc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n) { - return __odp_ring_mc_do_dequeue(r, obj_table, n, - ODP_RING_QUEUE_VARIABLE); + return __odph_ring_mc_do_dequeue(r, obj_table, n, + ODPH_RING_QUEUE_VARIABLE); } /** * Dequeue several objects from a ring (NOT multi-consumers safe). */ -int odp_ring_sc_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n) +int odph_ring_sc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n) { - return __odp_ring_sc_do_dequeue(r, obj_table, n, - ODP_RING_QUEUE_VARIABLE); + return __odph_ring_sc_do_dequeue(r, obj_table, n, + ODPH_RING_QUEUE_VARIABLE); } /** * Dequeue multiple objects from a ring up to a maximum number. */ -int odp_ring_dequeue_burst(odp_ring_t *r, void **obj_table, unsigned n) +int odph_ring_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n) { if (r->cons.sc_dequeue) - return odp_ring_sc_dequeue_burst(r, obj_table, n); + return odph_ring_sc_dequeue_burst(r, obj_table, n); else - return odp_ring_mc_dequeue_burst(r, obj_table, n); + return odph_ring_mc_dequeue_burst(r, obj_table, n); } diff --git a/platform/linux-keystone2/Makefile.am b/platform/linux-keystone2/Makefile.am index 8e5fbb3..1005da9 100644 --- a/platform/linux-keystone2/Makefile.am +++ b/platform/linux-keystone2/Makefile.am @@ -20,7 +20,7 @@ AM_CFLAGS += -I$(srcdir)/include AM_CFLAGS += -I$(srcdir)/include/api AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include/api -AM_CFLAGS += -I$(top_srcdir)/include +AM_CFLAGS += -I$(top_srcdir)/helper/include KS2_LIBS="-lopenem_rh -lopenem_osal" LIBS += $(KS2_LIBS) @@ -57,13 +57,13 @@ include_HEADERS = \ subdirheadersdir = $(includedir)/helper subdirheaders_HEADERS = \ - $(top_srcdir)/include/helper/odp_chksum.h \ - $(top_srcdir)/include/helper/odp_eth.h \ - $(top_srcdir)/include/helper/odp_ip.h \ - $(top_srcdir)/include/helper/odp_linux.h \ - $(top_srcdir)/include/helper/odp_packet_helper.h \ - $(top_srcdir)/include/helper/odp_ring.h \ - $(top_srcdir)/include/helper/odp_udp.h + $(top_srcdir)/helper/include/odph_chksum.h \ + $(top_srcdir)/helper/include/odph_eth.h \ + $(top_srcdir)/helper/include/odph_ip.h \ + $(top_srcdir)/helper/include/odph_linux.h \ + $(top_srcdir)/helper/include/odph_packet_helper.h \ + $(top_srcdir)/helper/include/odph_ring.h \ + $(top_srcdir)/helper/include/odph_udp.h __LIB__libodp_la_SOURCES = \ ../linux-generic/odp_barrier.c \ diff --git a/platform/linux-keystone2/odp_packet.c b/platform/linux-keystone2/odp_packet.c index 271d66b..fac0d22 100644 --- a/platform/linux-keystone2/odp_packet.c +++ b/platform/linux-keystone2/odp_packet.c @@ -10,16 +10,16 @@ #include <odp_byteorder.h> #include <ti_em_rh.h> -#include <helper/odp_eth.h> -#include <helper/odp_ip.h> +#include <odph_eth.h> +#include <odph_ip.h> #include <string.h> #include <stdio.h> -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, - size_t *offset_out); -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t *ipv6, - size_t *offset_out); +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, + odph_ipv4hdr_t *ipv4, size_t *offset_out); +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, + odph_ipv6hdr_t *ipv6, size_t *offset_out); void odp_packet_init(odp_packet_t pkt) { @@ -135,10 +135,10 @@ void odp_packet_set_l4_offset(odp_packet_t pkt, size_t offset) void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) { odp_packet_hdr_t *const pkt_hdr = odp_packet_hdr(pkt); - odp_ethhdr_t *eth; - odp_vlanhdr_t *vlan; - odp_ipv4hdr_t *ipv4; - odp_ipv6hdr_t *ipv6; + odph_ethhdr_t *eth; + odph_vlanhdr_t *vlan; + odph_ipv4hdr_t *ipv4; + odph_ipv6hdr_t *ipv6; uint16_t ethtype; size_t offset = 0; uint8_t ip_proto = 0; @@ -146,10 +146,10 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) pkt_hdr->input_flags.eth = 1; pkt_hdr->frame_offset = frame_offset; - if (odp_unlikely(len < ODP_ETH_LEN_MIN)) { + if (odp_unlikely(len < ODPH_ETH_LEN_MIN)) { pkt_hdr->error_flags.frame_len = 1; return; - } else if (len > ODP_ETH_LEN_MAX) { + } else if (len > ODPH_ETH_LEN_MAX) { pkt_hdr->input_flags.jumbo = 1; } @@ -160,40 +160,40 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) pkt_hdr->input_flags.l2 = 1; pkt_hdr->l2_offset = frame_offset; - eth = (odp_ethhdr_t *)odp_packet_start(pkt); + eth = (odph_ethhdr_t *)odp_packet_start(pkt); ethtype = odp_be_to_cpu_16(eth->type); - vlan = (odp_vlanhdr_t *)ð->type; + vlan = (odph_vlanhdr_t *)ð->type; - if (ethtype == ODP_ETHTYPE_VLAN_OUTER) { + if (ethtype == ODPH_ETHTYPE_VLAN_OUTER) { pkt_hdr->input_flags.vlan_qinq = 1; ethtype = odp_be_to_cpu_16(vlan->tpid); - offset += sizeof(odp_vlanhdr_t); + offset += sizeof(odph_vlanhdr_t); vlan = &vlan[1]; } - if (ethtype == ODP_ETHTYPE_VLAN) { + if (ethtype == ODPH_ETHTYPE_VLAN) { pkt_hdr->input_flags.vlan = 1; ethtype = odp_be_to_cpu_16(vlan->tpid); - offset += sizeof(odp_vlanhdr_t); + offset += sizeof(odph_vlanhdr_t); } /* Set l3_offset+flag only for known ethtypes */ switch (ethtype) { - case ODP_ETHTYPE_IPV4: + case ODPH_ETHTYPE_IPV4: pkt_hdr->input_flags.ipv4 = 1; pkt_hdr->input_flags.l3 = 1; - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; - ipv4 = (odp_ipv4hdr_t *)odp_packet_l3(pkt); + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; + ipv4 = (odph_ipv4hdr_t *)odp_packet_l3(pkt); ip_proto = parse_ipv4(pkt_hdr, ipv4, &offset); break; - case ODP_ETHTYPE_IPV6: + case ODPH_ETHTYPE_IPV6: pkt_hdr->input_flags.ipv6 = 1; pkt_hdr->input_flags.l3 = 1; - pkt_hdr->l3_offset = frame_offset + ODP_ETHHDR_LEN + offset; - ipv6 = (odp_ipv6hdr_t *)odp_packet_l3(pkt); + pkt_hdr->l3_offset = frame_offset + ODPH_ETHHDR_LEN + offset; + ipv6 = (odph_ipv6hdr_t *)odp_packet_l3(pkt); ip_proto = parse_ipv6(pkt_hdr, ipv6, &offset); break; - case ODP_ETHTYPE_ARP: + case ODPH_ETHTYPE_ARP: pkt_hdr->input_flags.arp = 1; /* fall through */ default: @@ -202,22 +202,22 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) } switch (ip_proto) { - case ODP_IPPROTO_UDP: + case ODPH_IPPROTO_UDP: pkt_hdr->input_flags.udp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_TCP: + case ODPH_IPPROTO_TCP: pkt_hdr->input_flags.tcp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_SCTP: + case ODPH_IPPROTO_SCTP: pkt_hdr->input_flags.sctp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; break; - case ODP_IPPROTO_ICMP: + case ODPH_IPPROTO_ICMP: pkt_hdr->input_flags.icmp = 1; pkt_hdr->input_flags.l4 = 1; pkt_hdr->l4_offset = pkt_hdr->l3_offset + offset; @@ -232,19 +232,19 @@ void odp_packet_parse(odp_packet_t pkt, size_t len, size_t frame_offset) } } -static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, - size_t *offset_out) +static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, + odph_ipv4hdr_t *ipv4, size_t *offset_out) { uint8_t ihl; uint16_t frag_offset; - ihl = ODP_IPV4HDR_IHL(ipv4->ver_ihl); - if (odp_unlikely(ihl < ODP_IPV4HDR_IHL_MIN)) { + ihl = ODPH_IPV4HDR_IHL(ipv4->ver_ihl); + if (odp_unlikely(ihl < ODPH_IPV4HDR_IHL_MIN)) { pkt_hdr->error_flags.ip_err = 1; return 0; } - if (odp_unlikely(ihl > ODP_IPV4HDR_IHL_MIN)) { + if (odp_unlikely(ihl > ODPH_IPV4HDR_IHL_MIN)) { pkt_hdr->input_flags.ipopt = 1; return 0; } @@ -255,13 +255,13 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, * "fragment offset" field is nonzero (all fragments except the first) */ frag_offset = odp_be_to_cpu_16(ipv4->frag_offset); - if (odp_unlikely(ODP_IPV4HDR_IS_FRAGMENT(frag_offset))) { + if (odp_unlikely(ODPH_IPV4HDR_IS_FRAGMENT(frag_offset))) { pkt_hdr->input_flags.ipfrag = 1; return 0; } - if (ipv4->proto == ODP_IPPROTO_ESP || - ipv4->proto == ODP_IPPROTO_AH) { + if (ipv4->proto == ODPH_IPPROTO_ESP || + ipv4->proto == ODPH_IPPROTO_AH) { pkt_hdr->input_flags.ipsec = 1; return 0; } @@ -272,24 +272,24 @@ static inline uint8_t parse_ipv4(odp_packet_hdr_t *pkt_hdr, odp_ipv4hdr_t *ipv4, return ipv4->proto; } -static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, odp_ipv6hdr_t *ipv6, - size_t *offset_out) +static inline uint8_t parse_ipv6(odp_packet_hdr_t *pkt_hdr, + odph_ipv6hdr_t *ipv6, size_t *offset_out) { - if (ipv6->next_hdr == ODP_IPPROTO_ESP || - ipv6->next_hdr == ODP_IPPROTO_AH) { + if (ipv6->next_hdr == ODPH_IPPROTO_ESP || + ipv6->next_hdr == ODPH_IPPROTO_AH) { pkt_hdr->input_flags.ipopt = 1; pkt_hdr->input_flags.ipsec = 1; return 0; } - if (odp_unlikely(ipv6->next_hdr == ODP_IPPROTO_FRAG)) { + if (odp_unlikely(ipv6->next_hdr == ODPH_IPPROTO_FRAG)) { pkt_hdr->input_flags.ipopt = 1; pkt_hdr->input_flags.ipfrag = 1; return 0; } /* Don't step through more extensions */ - *offset_out = ODP_IPV6HDR_LEN; + *offset_out = ODPH_IPV6HDR_LEN; return ipv6->next_hdr; } diff --git a/test/Makefile.inc b/test/Makefile.inc index b549001..4de2feb 100644 --- a/test/Makefile.inc +++ b/test/Makefile.inc @@ -5,6 +5,6 @@ AM_CFLAGS += \ -I$(srcdir) \ -I$(top_srcdir)/platform/@with_platform@/include/api \ -I$(top_srcdir)/platform/linux-generic/include/api \ - -I$(top_srcdir)/include + -I$(top_srcdir)/helper/include AM_LDFLAGS += -L$(LIB) diff --git a/test/api_test/odp_atomic_test.h b/test/api_test/odp_atomic_test.h index d6eec04..7814da5 100644 --- a/test/api_test/odp_atomic_test.h +++ b/test/api_test/odp_atomic_test.h @@ -8,7 +8,7 @@ #define ODP_ATOMIC_TEST_H_ #include <odp.h> -#include <helper/odp_linux.h> +#include <odph_linux.h> /** * add_sub_cnt could be any valid value diff --git a/test/api_test/odp_common.c b/test/api_test/odp_common.c index 89ebd2d..b0a6fbc 100644 --- a/test/api_test/odp_common.c +++ b/test/api_test/odp_common.c @@ -12,14 +12,14 @@ #include <string.h> #include <odp.h> -#include <helper/odp_linux.h> +#include <odph_linux.h> #include <odp_common.h> #include <odp_atomic_test.h> #include <odp_shm_test.h> /* Globals */ -static odp_linux_pthread_t thread_tbl[MAX_WORKERS]; /**< worker threads table */ +static odph_linux_pthread_t thread_tbl[MAX_WORKERS]; /**< worker threads table*/ static int num_workers; /**< number of workers */ __thread test_shared_data_t *test_shared_data; /**< pointer to shared data */ @@ -73,8 +73,8 @@ int odp_test_global_init(void) int odp_test_thread_create(void *func_ptr(void *), pthrd_arg *arg) { /* Create and init additional threads */ - odp_linux_pthread_create(thread_tbl, arg->numthrds, 0, func_ptr, - (void *)arg); + odph_linux_pthread_create(thread_tbl, arg->numthrds, 0, func_ptr, + (void *)arg); return 0; } @@ -83,7 +83,7 @@ int odp_test_thread_create(void *func_ptr(void *), pthrd_arg *arg) int odp_test_thread_exit(pthrd_arg *arg) { /* Wait for other threads to exit */ - odp_linux_pthread_join(thread_tbl, arg->numthrds); + odph_linux_pthread_join(thread_tbl, arg->numthrds); return 0; } diff --git a/test/api_test/odp_ring_test.c b/test/api_test/odp_ring_test.c index 93bd869..d75c30b 100644 --- a/test/api_test/odp_ring_test.c +++ b/test/api_test/odp_ring_test.c @@ -50,14 +50,14 @@ #include <odp.h> #include <odp_debug.h> #include <odp_common.h> -#include <helper/odp_ring.h> +#include <odph_ring.h> #define RING_SIZE 4096 #define MAX_BULK 32 #define RING_TEST_BASIC -static int test_ring_basic(odp_ring_t *r) +static int test_ring_basic(odph_ring_t *r) { void **src = NULL, **cur_src = NULL, **dst = NULL, **cur_dst = NULL; int ret; @@ -86,48 +86,48 @@ static int test_ring_basic(odp_ring_t *r) printf("Test SP & SC basic functions\n"); printf("enqueue 1 obj\n"); - ret = odp_ring_sp_enqueue_burst(r, cur_src, 1); + ret = odph_ring_sp_enqueue_burst(r, cur_src, 1); cur_src += 1; - if ((ret & ODP_RING_SZ_MASK) != 1) { + if ((ret & ODPH_RING_SZ_MASK) != 1) { ODP_ERR("sp_enq for 1 obj failed\n"); goto fail; } printf("enqueue 2 objs\n"); - ret = odp_ring_sp_enqueue_burst(r, cur_src, 2); + ret = odph_ring_sp_enqueue_burst(r, cur_src, 2); cur_src += 2; - if ((ret & ODP_RING_SZ_MASK) != 2) { + if ((ret & ODPH_RING_SZ_MASK) != 2) { ODP_ERR("sp_enq for 2 obj failed\n"); goto fail; } printf("enqueue MAX_BULK objs\n"); - ret = odp_ring_sp_enqueue_burst(r, cur_src, MAX_BULK); - if ((ret & ODP_RING_SZ_MASK) != MAX_BULK) { + ret = odph_ring_sp_enqueue_burst(r, cur_src, MAX_BULK); + if ((ret & ODPH_RING_SZ_MASK) != MAX_BULK) { ODP_ERR("sp_enq for %d obj failed\n", MAX_BULK); goto fail; } printf("dequeue 1 obj\n"); - ret = odp_ring_sc_dequeue_burst(r, cur_dst, 1); + ret = odph_ring_sc_dequeue_burst(r, cur_dst, 1); cur_dst += 1; - if ((ret & ODP_RING_SZ_MASK) != 1) { + if ((ret & ODPH_RING_SZ_MASK) != 1) { ODP_ERR("sc_deq for 1 obj failed\n"); goto fail; } printf("dequeue 2 objs\n"); - ret = odp_ring_sc_dequeue_burst(r, cur_dst, 2); + ret = odph_ring_sc_dequeue_burst(r, cur_dst, 2); cur_dst += 2; - if ((ret & ODP_RING_SZ_MASK) != 2) { + if ((ret & ODPH_RING_SZ_MASK) != 2) { ODP_ERR("sc_deq for 2 obj failed\n"); goto fail; } printf("dequeue MAX_BULK objs\n"); - ret = odp_ring_sc_dequeue_burst(r, cur_dst, MAX_BULK); + ret = odph_ring_sc_dequeue_burst(r, cur_dst, MAX_BULK); cur_dst += MAX_BULK; - if ((ret & ODP_RING_SZ_MASK) != MAX_BULK) { + if ((ret & ODPH_RING_SZ_MASK) != MAX_BULK) { ODP_ERR("sc_deq for %d obj failed\n", MAX_BULK); goto fail; } @@ -144,41 +144,41 @@ static int test_ring_basic(odp_ring_t *r) printf("Test MP & MC basic functions\n"); printf("enqueue 1 obj\n"); - ret = odp_ring_mp_enqueue_bulk(r, cur_src, 1); + ret = odph_ring_mp_enqueue_bulk(r, cur_src, 1); cur_src += 1; if (ret != 0) { ODP_ERR("mp_enq for 1 obj failed\n"); goto fail; } printf("enqueue 2 objs\n"); - ret = odp_ring_mp_enqueue_bulk(r, cur_src, 2); + ret = odph_ring_mp_enqueue_bulk(r, cur_src, 2); cur_src += 2; if (ret != 0) { ODP_ERR("mp_enq for 2 obj failed\n"); goto fail; } printf("enqueue MAX_BULK objs\n"); - ret = odp_ring_mp_enqueue_bulk(r, cur_src, MAX_BULK); + ret = odph_ring_mp_enqueue_bulk(r, cur_src, MAX_BULK); if (ret != 0) { ODP_ERR("mp_enq for %d obj failed\n", MAX_BULK); goto fail; } printf("dequeue 1 obj\n"); - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, 1); + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, 1); cur_dst += 1; if (ret != 0) { ODP_ERR("mc_deq for 1 obj failed\n"); goto fail; } printf("dequeue 2 objs\n"); - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, 2); + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, 2); cur_dst += 2; if (ret != 0) { ODP_ERR("mc_deq for 2 obj failed\n"); goto fail; } printf("dequeue MAX_BULK objs\n"); - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, MAX_BULK); + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, MAX_BULK); cur_dst += MAX_BULK; if (ret != 0) { ODP_ERR("mc_deq for %d obj failed\n", MAX_BULK); @@ -191,30 +191,30 @@ static int test_ring_basic(odp_ring_t *r) } printf("test watermark and default bulk enqueue / dequeue\n"); - odp_ring_set_water_mark(r, 20); + odph_ring_set_water_mark(r, 20); num_elems = 16; cur_src = src; cur_dst = dst; - ret = odp_ring_mp_enqueue_bulk(r, cur_src, num_elems); + ret = odph_ring_mp_enqueue_bulk(r, cur_src, num_elems); cur_src += num_elems; if (ret != 0) { ODP_ERR("Cannot enqueue\n"); goto fail; } - ret = odp_ring_mp_enqueue_bulk(r, cur_src, num_elems); + ret = odph_ring_mp_enqueue_bulk(r, cur_src, num_elems); if (ret != -EDQUOT) { ODP_ERR("Watermark not exceeded\n"); goto fail; } - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, num_elems); + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, num_elems); cur_dst += num_elems; if (ret != 0) { ODP_ERR("Cannot dequeue\n"); goto fail; } - ret = odp_ring_mc_dequeue_bulk(r, cur_dst, num_elems); + ret = odph_ring_mc_dequeue_bulk(r, cur_dst, num_elems); cur_dst += num_elems; if (ret != 0) { ODP_ERR("Cannot dequeue2\n"); @@ -241,7 +241,7 @@ fail: } /* global shared ring used for stress testing */ -static odp_ring_t *r_stress; +static odph_ring_t *r_stress; /* Stress func for Multi producer only */ static int producer_fn(void) @@ -260,7 +260,7 @@ static int producer_fn(void) src[i] = (void *)(unsigned long)i; do { - i = odp_ring_mp_enqueue_bulk(r_stress, src, MAX_BULK); + i = odph_ring_mp_enqueue_bulk(r_stress, src, MAX_BULK); if (i == 0) return 0; } while (1); @@ -280,7 +280,7 @@ static int consumer_fn(void) } do { - i = odp_ring_mc_dequeue_bulk(r_stress, src, MAX_BULK); + i = odph_ring_mc_dequeue_bulk(r_stress, src, MAX_BULK); if (i == 0) { for (i = 0; i < MAX_BULK; i++) { if (src[i] != (void *)(unsigned long)i) { @@ -351,8 +351,8 @@ static void *test_ring(void *arg) { ring_arg_t *parg = (ring_arg_t *)arg; int thr; - char ring_name[ODP_RING_NAMESIZE]; - odp_ring_t *r; + char ring_name[ODPH_RING_NAMESIZE]; + odph_ring_t *r; int result = 0; thr = odp_thread_id(); @@ -363,7 +363,7 @@ static void *test_ring(void *arg) case ODP_RING_TEST_BASIC: snprintf(ring_name, sizeof(ring_name), "test_ring_%i", thr); - r = odp_ring_create(ring_name, RING_SIZE, + r = odph_ring_create(ring_name, RING_SIZE, 0 /* not used, alignement taken care inside func : todo */); if (r == NULL) { @@ -372,7 +372,7 @@ static void *test_ring(void *arg) break; } /* lookup ring from its name */ - if (odp_ring_lookup(ring_name) != r) { + if (odph_ring_lookup(ring_name) != r) { ODP_ERR("ring lookup failed\n"); result = -1; break; @@ -385,7 +385,7 @@ static void *test_ring(void *arg) } /* dump ring stats */ - odp_ring_list_dump(); + odph_ring_list_dump(); break; @@ -393,7 +393,7 @@ static void *test_ring(void *arg) test_ring_stress(parg->stress_type); /* dump ring stats */ - odp_ring_list_dump(); + odph_ring_list_dump(); break; default: @@ -423,7 +423,7 @@ int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED) odp_print_system_info(); - odp_ring_tailq_init(); + odph_ring_tailq_init(); rarg.thrdarg.numthrds = odp_sys_core_count(); @@ -433,13 +433,13 @@ int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED) rarg.thrdarg.testcase = ODP_RING_TEST_STRESS; rarg.stress_type = one_enq_one_deq; /* rarg.stress_type = multi_enq_multi_deq;*/ - char ring_name[ODP_RING_NAMESIZE]; + char ring_name[ODPH_RING_NAMESIZE]; printf("starting stess test type : %d..\n", rarg.stress_type); /* create a ring */ snprintf(ring_name, sizeof(ring_name), "test_ring_stress"); - r_stress = odp_ring_create(ring_name, RING_SIZE, + r_stress = odph_ring_create(ring_name, RING_SIZE, 0 /* not used, alignement taken care inside func : todo */); if (r_stress == NULL) { @@ -447,7 +447,7 @@ int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED) goto fail; } /* lookup ring from its name */ - if (odp_ring_lookup(ring_name) != r_stress) { + if (odph_ring_lookup(ring_name) != r_stress) { ODP_ERR("ring lookup failed\n"); goto fail; } diff --git a/test/api_test/odp_timer_ping.c b/test/api_test/odp_timer_ping.c index c1cc255..6ba30d3 100644 --- a/test/api_test/odp_timer_ping.c +++ b/test/api_test/odp_timer_ping.c @@ -35,8 +35,8 @@ #include <odp.h> #include <odp_common.h> #include <odp_timer.h> -#include <helper/odp_linux.h> -#include <helper/odp_chksum.h> +#include <odph_linux.h> +#include <odph_chksum.h> #define MSG_POOL_SIZE (4*1024*1024) #define BUF_SIZE 8 @@ -309,7 +309,7 @@ static int ping_init(int count, char *name[]) int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED) { - odp_linux_pthread_t thread_tbl[MAX_WORKERS]; + odph_linux_pthread_t thread_tbl[MAX_WORKERS]; ping_arg_t pingarg; odp_queue_t queue; odp_buffer_pool_t pool; @@ -371,12 +371,12 @@ int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED) run_thread = rx_ping; /* Create and launch worker threads */ - odp_linux_pthread_create(&thread_tbl[i], 1, i, - run_thread, (pthrd_arg *)&pingarg); + odph_linux_pthread_create(&thread_tbl[i], 1, i, + run_thread, (pthrd_arg *)&pingarg); } /* Wait for worker threads to exit */ - odp_linux_pthread_join(thread_tbl, PING_THRD); + odph_linux_pthread_join(thread_tbl, PING_THRD); ODP_DBG("ping timer test %s\n", (pingarg.result == 0) ? "passed" : "failed");
Signed-off-by: Anders Roxell <anders.roxell@linaro.org> --- .gitignore | 6 +- configure.ac | 4 +- doc/doxygen.cfg | 2 +- example/Makefile.inc | 2 +- example/generator/odp_generator.c | 142 ++++++++++---------- example/l2fwd/odp_l2fwd.c | 18 +-- example/odp_example/odp_example.c | 10 +- example/packet/odp_pktio.c | 28 ++-- example/packet_netmap/odp_pktio_netmap.c | 32 ++--- example/timer/odp_timer_test.c | 10 +- .../odp_chksum.h => helper/include/odph_chksum.h | 0 helper/include/odph_eth.h | 87 ++++++++++++ .../odp_icmp.h => helper/include/odph_icmp.h | 12 +- .../helper/odp_ip.h => helper/include/odph_ip.h | 70 +++++----- .../odp_linux.h => helper/include/odph_linux.h | 6 +- .../include/odph_packet_helper.h | 12 +- .../odp_ring.h => helper/include/odph_ring.h | 98 +++++++------- .../helper/odp_udp.h => helper/include/odph_udp.h | 32 ++--- include/helper/odp_eth.h | 87 ------------ platform/linux-dpdk/Makefile.am | 16 +-- platform/linux-dpdk/include/odp_packet_dpdk.h | 4 +- platform/linux-dpdk/odp_linux.c | 6 +- platform/linux-dpdk/odp_packet.c | 86 ++++++------ platform/linux-generic/Makefile.am | 16 +-- platform/linux-generic/include/api/odp_align.h | 2 +- platform/linux-generic/odp_crypto.c | 4 +- platform/linux-generic/odp_linux.c | 8 +- platform/linux-generic/odp_packet.c | 86 ++++++------ platform/linux-generic/odp_packet_netmap.c | 20 +-- platform/linux-generic/odp_packet_socket.c | 42 +++--- platform/linux-generic/odp_ring.c | 146 +++++++++++---------- platform/linux-keystone2/Makefile.am | 16 +-- platform/linux-keystone2/odp_packet.c | 86 ++++++------ test/Makefile.inc | 2 +- test/api_test/odp_atomic_test.h | 2 +- test/api_test/odp_common.c | 10 +- test/api_test/odp_ring_test.c | 76 +++++------ test/api_test/odp_timer_ping.c | 12 +- 38 files changed, 653 insertions(+), 645 deletions(-) rename include/helper/odp_chksum.h => helper/include/odph_chksum.h (100%) create mode 100644 helper/include/odph_eth.h rename include/helper/odp_icmp.h => helper/include/odph_icmp.h (93%) rename include/helper/odp_ip.h => helper/include/odph_ip.h (57%) rename include/helper/odp_linux.h => helper/include/odph_linux.h (88%) rename include/helper/odp_packet_helper.h => helper/include/odph_packet_helper.h (83%) rename include/helper/odp_ring.h => helper/include/odph_ring.h (87%) rename include/helper/odp_udp.h => helper/include/odph_udp.h (74%) delete mode 100644 include/helper/odp_eth.h