dpdk: Add support for Mellanox ConnectX-4 devices
[vpp.git] / src / vnet / bfd / bfd_debug.h
1 /*
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
26 #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   }
39
40 #define BFD_DBG(fmt, ...)                                                \
41   do                                                                     \
42     {                                                                    \
43       BFD_DEBUG_FILE_DEF                                                 \
44       static u8 *_s = NULL;                                              \
45       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__);           \
48       printf ("%.*s\n", vec_len (_s), _s);                               \
49       vec_reset_length (_s);                                             \
50     }                                                                    \
51   while (0);
52
53 #define BFD_ERR(fmt, ...)                                                \
54   do                                                                     \
55     {                                                                    \
56       BFD_DEBUG_FILE_DEF                                                 \
57       static u8 *_s = NULL;                                              \
58       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__);           \
61       printf ("%.*s\n", vec_len (_s), _s);                               \
62       vec_reset_length (_s);                                             \
63     }                                                                    \
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  */