blob: 707ebab2dddb324882f7ea7124bc8535fe31a7a3 [file] [log] [blame]
Klement Sekera0e3c0de2016-09-29 14:43:44 +02001/*
2 * Copyright (c) 2011-2016 Cisco and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15/**
16 * @file
17 * @brief BFD global declarations
18 */
19#ifndef __included_bfd_debug_h__
20#define __included_bfd_debug_h__
21
22/* controls debug prints */
23#define BFD_DEBUG (0)
24
25#if BFD_DEBUG
Klement Sekera637b9c42016-12-08 05:19:14 +010026#define BFD_DEBUG_FILE_DEF \
27 static const char *__file = NULL; \
28 { \
29 __file = strrchr (__FILE__, '/'); \
30 if (__file) \
31 { \
32 ++__file; \
33 } \
34 else \
35 { \
36 __file = __FILE__; \
37 } \
38 }
Klement Sekera0e3c0de2016-09-29 14:43:44 +020039
40#define BFD_DBG(fmt, ...) \
41 do \
42 { \
43 BFD_DEBUG_FILE_DEF \
Klement Sekera637b9c42016-12-08 05:19:14 +010044 static u8 *_s = NULL; \
Klement Sekera0e3c0de2016-09-29 14:43:44 +020045 vlib_main_t *vm = vlib_get_main (); \
46 _s = format (_s, "%6.02f:DBG:%s:%d:%s():" fmt, vlib_time_now (vm), \
47 __file, __LINE__, __func__, ##__VA_ARGS__); \
Klement Sekera637b9c42016-12-08 05:19:14 +010048 printf ("%.*s\n", vec_len (_s), _s); \
49 vec_reset_length (_s); \
Klement Sekera0e3c0de2016-09-29 14:43:44 +020050 } \
51 while (0);
52
53#define BFD_ERR(fmt, ...) \
54 do \
55 { \
56 BFD_DEBUG_FILE_DEF \
Klement Sekera637b9c42016-12-08 05:19:14 +010057 static u8 *_s = NULL; \
Klement Sekera0e3c0de2016-09-29 14:43:44 +020058 vlib_main_t *vm = vlib_get_main (); \
59 _s = format (_s, "%6.02f:ERR:%s:%d:%s():" fmt, vlib_time_now (vm), \
60 __file, __LINE__, __func__, ##__VA_ARGS__); \
Klement Sekera637b9c42016-12-08 05:19:14 +010061 printf ("%.*s\n", vec_len (_s), _s); \
62 vec_reset_length (_s); \
Klement Sekera0e3c0de2016-09-29 14:43:44 +020063 } \
64 while (0);
65
66#else
67#define BFD_DBG(...)
68#define BFD_ERR(...)
69#endif
70
71#endif /* __included_bfd_debug_h__ */
72
73/*
74 * fd.io coding-style-patch-verification: ON
75 *
76 * Local Variables:
77 * eval: (c-set-style "gnu")
78 * End:
79 */