@@ -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/
@@ -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
@@ -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
@@ -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)
@@ -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.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;
@@ -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.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;
@@ -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");
@@ -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.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;
@@ -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.h>
+#include <odph_eth.h>
+#include <odph_ip.h>
+#include <odph_packet.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;
@@ -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");
similarity index 100%
rename from include/helper/odp_chksum.h
rename to helper/include/odph_chksum.h
new file mode 100644
@@ -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
similarity index 93%
rename from include/helper/odp_icmp.h
rename to 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
}
similarity index 57%
rename from include/helper/odp_ip.h
rename to 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
similarity index 88%
rename from include/helper/odp_linux.h
rename to 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
similarity index 83%
rename from include/helper/odp_packet_helper.h
rename to helper/include/odph_packet.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);
similarity index 87%
rename from include/helper/odp_ring.h
rename to 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
}
similarity index 74%
rename from include/helper/odp_udp.h
rename to 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
}
deleted file mode 100644
@@ -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
@@ -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.h \
+ $(top_srcdir)/helper/include/odph_ring.h \
+ $(top_srcdir)/helper/include/odph_udp.h
__LIB__libodp_la_SOURCES = \
../linux-generic/odp_barrier.c \
@@ -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.h>
#include <odp_align.h>
#include <odp_debug.h>
#include <odp_packet.h>
@@ -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;
@@ -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;
}
@@ -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.h \
+ $(top_srcdir)/helper/include/odph_ring.h \
+ $(top_srcdir)/helper/include/odph_udp.h
__LIB__libodp_la_SOURCES = \
odp_barrier.c \
@@ -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
@@ -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.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;
}
@@ -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;
@@ -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;
}
@@ -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.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;
}
@@ -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.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();
@@ -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);
}
@@ -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.h \
+ $(top_srcdir)/helper/include/odph_ring.h \
+ $(top_srcdir)/helper/include/odph_udp.h
__LIB__libodp_la_SOURCES = \
../linux-generic/odp_barrier.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;
}
@@ -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)
@@ -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
@@ -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;
}
@@ -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;
}
@@ -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");