5050#include <linux/hashtable.h>
5151#include <linux/rbtree.h>
5252#include <net/net_trackers.h>
53+ #include <net/net_debug.h>
5354
5455struct netpoll_info ;
5556struct device ;
@@ -5071,81 +5072,9 @@ static inline const char *netdev_reg_state(const struct net_device *dev)
50715072 return " (unknown)" ;
50725073}
50735074
5074- __printf (3 , 4 ) __cold
5075- void netdev_printk (const char * level , const struct net_device * dev ,
5076- const char * format , ...);
5077- __printf (2 , 3 ) __cold
5078- void netdev_emerg (const struct net_device * dev , const char * format , ...);
5079- __printf (2 , 3 ) __cold
5080- void netdev_alert (const struct net_device * dev , const char * format , ...);
5081- __printf (2 , 3 ) __cold
5082- void netdev_crit (const struct net_device * dev , const char * format , ...);
5083- __printf (2 , 3 ) __cold
5084- void netdev_err (const struct net_device * dev , const char * format , ...);
5085- __printf (2 , 3 ) __cold
5086- void netdev_warn (const struct net_device * dev , const char * format , ...);
5087- __printf (2 , 3 ) __cold
5088- void netdev_notice (const struct net_device * dev , const char * format , ...);
5089- __printf (2 , 3 ) __cold
5090- void netdev_info (const struct net_device * dev , const char * format , ...);
5091-
5092- #define netdev_level_once (level , dev , fmt , ...) \
5093- do { \
5094- static bool __section(".data.once") __print_once; \
5095- \
5096- if (!__print_once) { \
5097- __print_once = true; \
5098- netdev_printk(level, dev, fmt, ##__VA_ARGS__); \
5099- } \
5100- } while (0)
5101-
5102- #define netdev_emerg_once (dev , fmt , ...) \
5103- netdev_level_once(KERN_EMERG, dev, fmt, ##__VA_ARGS__)
5104- #define netdev_alert_once (dev , fmt , ...) \
5105- netdev_level_once(KERN_ALERT, dev, fmt, ##__VA_ARGS__)
5106- #define netdev_crit_once (dev , fmt , ...) \
5107- netdev_level_once(KERN_CRIT, dev, fmt, ##__VA_ARGS__)
5108- #define netdev_err_once (dev , fmt , ...) \
5109- netdev_level_once(KERN_ERR, dev, fmt, ##__VA_ARGS__)
5110- #define netdev_warn_once (dev , fmt , ...) \
5111- netdev_level_once(KERN_WARNING, dev, fmt, ##__VA_ARGS__)
5112- #define netdev_notice_once (dev , fmt , ...) \
5113- netdev_level_once(KERN_NOTICE, dev, fmt, ##__VA_ARGS__)
5114- #define netdev_info_once (dev , fmt , ...) \
5115- netdev_level_once(KERN_INFO, dev, fmt, ##__VA_ARGS__)
5116-
51175075#define MODULE_ALIAS_NETDEV (device ) \
51185076 MODULE_ALIAS("netdev-" device)
51195077
5120- #if defined(CONFIG_DYNAMIC_DEBUG ) || \
5121- (defined(CONFIG_DYNAMIC_DEBUG_CORE ) && defined(DYNAMIC_DEBUG_MODULE ))
5122- #define netdev_dbg (__dev , format , args ...) \
5123- do { \
5124- dynamic_netdev_dbg(__dev, format, ##args); \
5125- } while (0)
5126- #elif defined(DEBUG )
5127- #define netdev_dbg (__dev , format , args ...) \
5128- netdev_printk(KERN_DEBUG, __dev, format, ##args)
5129- #else
5130- #define netdev_dbg (__dev , format , args ...) \
5131- ({ \
5132- if (0) \
5133- netdev_printk(KERN_DEBUG, __dev, format, ##args); \
5134- })
5135- #endif
5136-
5137- #if defined(VERBOSE_DEBUG )
5138- #define netdev_vdbg netdev_dbg
5139- #else
5140-
5141- #define netdev_vdbg (dev , format , args ...) \
5142- ({ \
5143- if (0) \
5144- netdev_printk(KERN_DEBUG, dev, format, ##args); \
5145- 0; \
5146- })
5147- #endif
5148-
51495078/*
51505079 * netdev_WARN() acts like dev_printk(), but with the key difference
51515080 * of using a WARN/WARN_ON to get the message out, including the
@@ -5159,74 +5088,6 @@ do { \
51595088 WARN_ONCE(1, "netdevice: %s%s: " format, netdev_name(dev), \
51605089 netdev_reg_state(dev), ##args)
51615090
5162- /* netif printk helpers, similar to netdev_printk */
5163-
5164- #define netif_printk (priv , type , level , dev , fmt , args ...) \
5165- do { \
5166- if (netif_msg_##type(priv)) \
5167- netdev_printk(level, (dev), fmt, ##args); \
5168- } while (0)
5169-
5170- #define netif_level (level , priv , type , dev , fmt , args ...) \
5171- do { \
5172- if (netif_msg_##type(priv)) \
5173- netdev_##level(dev, fmt, ##args); \
5174- } while (0)
5175-
5176- #define netif_emerg (priv , type , dev , fmt , args ...) \
5177- netif_level(emerg, priv, type, dev, fmt, ##args)
5178- #define netif_alert (priv , type , dev , fmt , args ...) \
5179- netif_level(alert, priv, type, dev, fmt, ##args)
5180- #define netif_crit (priv , type , dev , fmt , args ...) \
5181- netif_level(crit, priv, type, dev, fmt, ##args)
5182- #define netif_err (priv , type , dev , fmt , args ...) \
5183- netif_level(err, priv, type, dev, fmt, ##args)
5184- #define netif_warn (priv , type , dev , fmt , args ...) \
5185- netif_level(warn, priv, type, dev, fmt, ##args)
5186- #define netif_notice (priv , type , dev , fmt , args ...) \
5187- netif_level(notice, priv, type, dev, fmt, ##args)
5188- #define netif_info (priv , type , dev , fmt , args ...) \
5189- netif_level(info, priv, type, dev, fmt, ##args)
5190-
5191- #if defined(CONFIG_DYNAMIC_DEBUG ) || \
5192- (defined(CONFIG_DYNAMIC_DEBUG_CORE ) && defined(DYNAMIC_DEBUG_MODULE ))
5193- #define netif_dbg (priv , type , netdev , format , args ...) \
5194- do { \
5195- if (netif_msg_##type(priv)) \
5196- dynamic_netdev_dbg(netdev, format, ##args); \
5197- } while (0)
5198- #elif defined(DEBUG )
5199- #define netif_dbg (priv , type , dev , format , args ...) \
5200- netif_printk(priv, type, KERN_DEBUG, dev, format, ##args)
5201- #else
5202- #define netif_dbg (priv , type , dev , format , args ...) \
5203- ({ \
5204- if (0) \
5205- netif_printk(priv, type, KERN_DEBUG, dev, format, ##args); \
5206- 0; \
5207- })
5208- #endif
5209-
5210- /* if @cond then downgrade to debug, else print at @level */
5211- #define netif_cond_dbg (priv , type , netdev , cond , level , fmt , args ...) \
5212- do { \
5213- if (cond) \
5214- netif_dbg(priv, type, netdev, fmt, ##args); \
5215- else \
5216- netif_ ## level(priv, type, netdev, fmt, ##args); \
5217- } while (0)
5218-
5219- #if defined(VERBOSE_DEBUG )
5220- #define netif_vdbg netif_dbg
5221- #else
5222- #define netif_vdbg (priv , type , dev , format , args ...) \
5223- ({ \
5224- if (0) \
5225- netif_printk(priv, type, KERN_DEBUG, dev, format, ##args); \
5226- 0; \
5227- })
5228- #endif
5229-
52305091/*
52315092 * The list of packet types we will receive (as opposed to discard)
52325093 * and the routines to invoke.
0 commit comments