From 233e4681830bc2a9cd40deb4b5909b4e310d1a2a Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Thu, 16 May 2019 15:01:34 +0200 Subject: stats: support multiple works for error counters The current code only allowed access to the main thread error counters. That is not so useful for a multi worker instance. No return a vector indexed by thread of counter_t values. Type: fix Change-Id: Ie322c8889c0c8175e1116e71de04a2cf453b9ed7 Signed-off-by: Ole Troan --- src/vlib/stat_weak_inlines.h | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/vlib/stat_weak_inlines.h (limited to 'src/vlib/stat_weak_inlines.h') diff --git a/src/vlib/stat_weak_inlines.h b/src/vlib/stat_weak_inlines.h new file mode 100644 index 00000000000..5c04610ef13 --- /dev/null +++ b/src/vlib/stat_weak_inlines.h @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2019 Cisco and/or its affiliates. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * NOTE: Only include this file from external components that require + * a loose coupling to the stats component. + */ + +#ifndef included_stat_weak_inlines_h +#define included_stat_weak_inlines_h +void *vlib_stats_push_heap (void *) __attribute__ ((weak)); +void * +vlib_stats_push_heap (void *unused) +{ + return 0; +}; + +void vlib_stats_pop_heap (void *, void *, u32, int) __attribute__ ((weak)); +void +vlib_stats_pop_heap (void *notused, void *notused2, u32 i, int type) +{ +}; +void vlib_stats_register_error_index (u8 *, u64 *, u64) + __attribute__ ((weak)); +void +vlib_stats_register_error_index (u8 * notused, u64 * notused2, u64 notused3) +{ +}; + +void vlib_stats_pop_heap2 (void *, u32, void *, int) __attribute__ ((weak)); +void +vlib_stats_pop_heap2 (void *notused, u32 notused2, void *notused3, + int notused4) +{ +}; + +void vlib_stat_segment_lock (void) __attribute__ ((weak)); +void +vlib_stat_segment_lock (void) +{ +} + +void vlib_stat_segment_unlock (void) __attribute__ ((weak)); +void +vlib_stat_segment_unlock (void) +{ +} + +#endif -- cgit 1.2.3-korg