2007-12-06 22:26:38 +08:00
|
|
|
/*
|
2009-01-05 13:45:33 +08:00
|
|
|
* TFRC library initialisation
|
2007-12-06 22:26:38 +08:00
|
|
|
*
|
|
|
|
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
|
|
|
|
* Copyright (c) 2007 Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
|
|
*/
|
|
|
|
#include "tfrc.h"
|
|
|
|
|
|
|
|
#ifdef CONFIG_IP_DCCP_TFRC_DEBUG
|
|
|
|
int tfrc_debug;
|
2008-08-23 19:28:27 +08:00
|
|
|
module_param(tfrc_debug, bool, 0644);
|
2009-01-05 13:45:33 +08:00
|
|
|
MODULE_PARM_DESC(tfrc_debug, "Enable TFRC debug messages");
|
2007-12-06 22:26:38 +08:00
|
|
|
#endif
|
|
|
|
|
2009-01-05 13:45:33 +08:00
|
|
|
int __init tfrc_lib_init(void)
|
2007-12-06 22:26:38 +08:00
|
|
|
{
|
2007-12-13 00:06:14 +08:00
|
|
|
int rc = tfrc_li_init();
|
2007-12-06 22:26:38 +08:00
|
|
|
|
2007-12-12 22:24:49 +08:00
|
|
|
if (rc)
|
|
|
|
goto out;
|
|
|
|
|
|
|
|
rc = tfrc_tx_packet_history_init();
|
|
|
|
if (rc)
|
|
|
|
goto out_free_loss_intervals;
|
2007-12-06 22:26:38 +08:00
|
|
|
|
2007-12-12 22:24:49 +08:00
|
|
|
rc = tfrc_rx_packet_history_init();
|
|
|
|
if (rc)
|
|
|
|
goto out_free_tx_history;
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
out_free_tx_history:
|
|
|
|
tfrc_tx_packet_history_exit();
|
|
|
|
out_free_loss_intervals:
|
2007-12-13 00:06:14 +08:00
|
|
|
tfrc_li_exit();
|
2007-12-12 22:24:49 +08:00
|
|
|
out:
|
2007-12-06 22:26:38 +08:00
|
|
|
return rc;
|
|
|
|
}
|
|
|
|
|
2009-01-10 15:06:28 +08:00
|
|
|
void tfrc_lib_exit(void)
|
2007-12-06 22:26:38 +08:00
|
|
|
{
|
2007-12-12 22:24:49 +08:00
|
|
|
tfrc_rx_packet_history_exit();
|
|
|
|
tfrc_tx_packet_history_exit();
|
2007-12-13 00:06:14 +08:00
|
|
|
tfrc_li_exit();
|
2007-12-06 22:26:38 +08:00
|
|
|
}
|