From: Barry Spinney <spin...@ezchip.com> This commit causes the traffic_mgr to become part of the ODP linux-generic build.
Signed-off-by: Barry Spinney <spin...@ezchip.com> Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org> --- platform/linux-generic/Makefile.am | 13 ++++++++ platform/linux-generic/include/odp_internal.h | 2 ++ platform/linux-generic/odp_init.c | 5 +++ platform/linux-generic/odp_packet_flags.c | 45 +++++++++++++++++++++++++++ 4 files changed, 65 insertions(+) diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 85c976d..71b85d2 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -49,6 +49,7 @@ odpinclude_HEADERS = \ $(srcdir)/include/odp/ticketlock.h \ $(srcdir)/include/odp/time.h \ $(srcdir)/include/odp/timer.h \ + $(srcdir)/include/odp/traffic_mngr.h \ $(srcdir)/include/odp/version.h odpplatincludedir= $(includedir)/odp/plat @@ -75,6 +76,7 @@ odpplatinclude_HEADERS = \ $(srcdir)/include/odp/plat/thrmask_types.h \ $(srcdir)/include/odp/plat/ticketlock_types.h \ $(srcdir)/include/odp/plat/timer_types.h \ + $(srcdir)/include/odp/plat/traffic_mngr_types.h \ $(srcdir)/include/odp/plat/version_types.h odpapiincludedir= $(includedir)/odp/api @@ -116,6 +118,7 @@ odpapiinclude_HEADERS = \ $(top_srcdir)/include/odp/api/ticketlock.h \ $(top_srcdir)/include/odp/api/time.h \ $(top_srcdir)/include/odp/api/timer.h \ + $(top_srcdir)/include/odp/api/traffic_mngr.h \ $(top_srcdir)/include/odp/api/version.h noinst_HEADERS = \ @@ -131,16 +134,21 @@ noinst_HEADERS = \ ${srcdir}/include/odp_debug_internal.h \ ${srcdir}/include/odp_forward_typedefs_internal.h \ ${srcdir}/include/odp_internal.h \ + ${srcdir}/include/odp_name_table_internal.h \ ${srcdir}/include/odp_packet_internal.h \ ${srcdir}/include/odp_packet_io_internal.h \ ${srcdir}/include/odp_packet_io_queue.h \ ${srcdir}/include/odp_packet_netmap.h \ ${srcdir}/include/odp_packet_socket.h \ + ${srcdir}/include/odp_pkt_queue_internal.h \ ${srcdir}/include/odp_pool_internal.h \ ${srcdir}/include/odp_queue_internal.h \ ${srcdir}/include/odp_schedule_internal.h \ + ${srcdir}/include/odp_sorted_list_internal.h \ ${srcdir}/include/odp_spin_internal.h \ ${srcdir}/include/odp_timer_internal.h \ + ${srcdir}/include/odp_timer_wheel_internal.h \ + ${srcdir}/include/odp_traffic_mngr_internal.h \ ${srcdir}/include/odp_cpu_internal.h \ ${srcdir}/Makefile.inc @@ -156,6 +164,7 @@ __LIB__libodp_la_SOURCES = \ odp_event.c \ odp_init.c \ odp_impl.c \ + odp_name_table.c \ odp_packet.c \ odp_packet_flags.c \ odp_packet_io.c \ @@ -164,12 +173,14 @@ __LIB__libodp_la_SOURCES = \ pktio/netmap.c \ pktio/socket.c \ pktio/socket_mmap.c \ + odp_pkt_queue.c \ odp_pool.c \ odp_queue.c \ odp_rwlock.c \ odp_rwlock_recursive.c \ odp_schedule.c \ odp_shared_memory.c \ + odp_sorted_list.c \ odp_spinlock.c \ odp_spinlock_recursive.c \ odp_system_info.c \ @@ -178,6 +189,8 @@ __LIB__libodp_la_SOURCES = \ odp_ticketlock.c \ odp_time.c \ odp_timer.c \ + odp_timer_wheel.c \ + odp_traffic_mngr.c \ odp_version.c \ odp_weak.c \ arch/@ARCH@/odp_cpu_cycles.c diff --git a/platform/linux-generic/include/odp_internal.h b/platform/linux-generic/include/odp_internal.h index 8a1a219..a852c5b 100644 --- a/platform/linux-generic/include/odp_internal.h +++ b/platform/linux-generic/include/odp_internal.h @@ -78,6 +78,8 @@ int odp_schedule_term_local(void); int odp_timer_init_global(void); int odp_timer_disarm_all(void); +int odp_tm_init_global(void); + void _odp_flush_caches(void); #ifdef __cplusplus diff --git a/platform/linux-generic/odp_init.c b/platform/linux-generic/odp_init.c index 48d9b20..c4de602 100644 --- a/platform/linux-generic/odp_init.c +++ b/platform/linux-generic/odp_init.c @@ -71,6 +71,11 @@ int odp_init_global(const odp_init_t *params, return -1; } + if (odp_tm_init_global()) { + ODP_ERR("ODP traffic manager init failed\n"); + return -1; + } + return 0; } diff --git a/platform/linux-generic/odp_packet_flags.c b/platform/linux-generic/odp_packet_flags.c index ea308f7..67318a5 100644 --- a/platform/linux-generic/odp_packet_flags.c +++ b/platform/linux-generic/odp_packet_flags.c @@ -123,6 +123,51 @@ int odp_packet_has_flow_hash(odp_packet_t pkt) return pkt_hdr->has_hash; } +odp_packet_color_t odp_packet_color(odp_packet_t pkt) +{ + retflag(pkt, input_flags.color); +} + +void odp_packet_color_set(odp_packet_t pkt, odp_packet_color_t color) +{ + odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt); + + if (pkt_hdr->input_flags.unparsed) + _odp_packet_parse(pkt_hdr); + + pkt_hdr->input_flags.color = color; +} + +odp_bool_t odp_packet_drop_eligible(odp_packet_t pkt) +{ + odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt); + + if (pkt_hdr->input_flags.unparsed) + _odp_packet_parse(pkt_hdr); + + return !pkt_hdr->input_flags.nodrop; +} + +void odp_packet_drop_eligible_set(odp_packet_t pkt, odp_bool_t drop) +{ + setflag(pkt, input_flags.nodrop, !drop); +} + +int8_t odp_packet_shaper_len_adjust(odp_packet_t pkt) +{ + retflag(pkt, output_flags.shaper_len_adj); +} + +void odp_packet_shaper_len_adjust_set(odp_packet_t pkt, int8_t adj) +{ + odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt); + + if (pkt_hdr->input_flags.unparsed) + _odp_packet_parse(pkt_hdr); + + pkt_hdr->output_flags.shaper_len_adj = adj; +} + /* Set Input Flags */ void odp_packet_has_l2_set(odp_packet_t pkt, int val) -- 2.1.4 _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp