提交 56724aa4 编写于 作者: G Gerrit Renker 提交者: David S. Miller

[DCCP]: Add CCID3 debug support to Kconfig

This adds a CCID3 debug option to the configuration menu
which is missing in Kconfig, but already used by the code.

CCID 2 already provides such an entry.

To enable debugging, set CONFIG_IP_DCCP_CCID3_DEBUG=y

NOTE: The use of ccid3_{t,r}x_state_name is safe, since
      now only enum values can appear.
Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
上级 84116716
...@@ -78,4 +78,15 @@ config IP_DCCP_TFRC_LIB ...@@ -78,4 +78,15 @@ config IP_DCCP_TFRC_LIB
depends on IP_DCCP_CCID3 depends on IP_DCCP_CCID3
def_tristate IP_DCCP_CCID3 def_tristate IP_DCCP_CCID3
config IP_DCCP_CCID3_DEBUG
bool "CCID3 debugging messages"
depends on IP_DCCP_CCID3
---help---
Enable CCID3-specific debugging messages.
When compiling CCID3 as a module, this debugging output can
additionally be toggled by setting the ccid3_debug module
parameter to 0 or 1.
If in doubt, say N.
endmenu endmenu
...@@ -60,13 +60,11 @@ static u32 usecs_div(const u32 a, const u32 b) ...@@ -60,13 +60,11 @@ static u32 usecs_div(const u32 a, const u32 b)
return (b >= 2 * div) ? tmp / (b / div) : tmp; return (b >= 2 * div) ? tmp / (b / div) : tmp;
} }
static int ccid3_debug;
#ifdef CCID3_DEBUG
#define ccid3_pr_debug(format, a...) \ #ifdef CONFIG_IP_DCCP_CCID3_DEBUG
do { if (ccid3_debug) \ static int ccid3_debug;
printk(KERN_DEBUG "%s: " format, __FUNCTION__, ##a); \ #define ccid3_pr_debug(format, a...) DCCP_PR_DEBUG(ccid3_debug, format, ##a)
} while (0)
#else #else
#define ccid3_pr_debug(format, a...) #define ccid3_pr_debug(format, a...)
#endif #endif
...@@ -75,7 +73,7 @@ static struct dccp_tx_hist *ccid3_tx_hist; ...@@ -75,7 +73,7 @@ static struct dccp_tx_hist *ccid3_tx_hist;
static struct dccp_rx_hist *ccid3_rx_hist; static struct dccp_rx_hist *ccid3_rx_hist;
static struct dccp_li_hist *ccid3_li_hist; static struct dccp_li_hist *ccid3_li_hist;
#ifdef CCID3_DEBUG #ifdef CONFIG_IP_DCCP_CCID3_DEBUG
static const char *ccid3_tx_state_name(enum ccid3_hc_tx_states state) static const char *ccid3_tx_state_name(enum ccid3_hc_tx_states state)
{ {
static char *ccid3_state_names[] = { static char *ccid3_state_names[] = {
...@@ -676,7 +674,7 @@ static void ccid3_hc_tx_exit(struct sock *sk) ...@@ -676,7 +674,7 @@ static void ccid3_hc_tx_exit(struct sock *sk)
* RX Half Connection methods * RX Half Connection methods
*/ */
#ifdef CCID3_DEBUG #ifdef CONFIG_IP_DCCP_CCID3_DEBUG
static const char *ccid3_rx_state_name(enum ccid3_hc_rx_states state) static const char *ccid3_rx_state_name(enum ccid3_hc_rx_states state)
{ {
static char *ccid3_rx_state_names[] = { static char *ccid3_rx_state_names[] = {
...@@ -1240,8 +1238,10 @@ static struct ccid_operations ccid3 = { ...@@ -1240,8 +1238,10 @@ static struct ccid_operations ccid3 = {
.ccid_hc_tx_getsockopt = ccid3_hc_tx_getsockopt, .ccid_hc_tx_getsockopt = ccid3_hc_tx_getsockopt,
}; };
#ifdef CONFIG_IP_DCCP_CCID3_DEBUG
module_param(ccid3_debug, int, 0444); module_param(ccid3_debug, int, 0444);
MODULE_PARM_DESC(ccid3_debug, "Enable debug messages"); MODULE_PARM_DESC(ccid3_debug, "Enable debug messages");
#endif
static __init int ccid3_module_init(void) static __init int ccid3_module_init(void)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册