2007-12-06 07:26:38 -07:00
|
|
|
/*
|
2009-01-04 22:45:33 -07:00
|
|
|
* TFRC library initialisation
|
2007-12-06 07:26:38 -07: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 05:28:27 -06:00
|
|
|
module_param(tfrc_debug, bool, 0644);
|
2009-01-04 22:45:33 -07:00
|
|
|
MODULE_PARM_DESC(tfrc_debug, "Enable TFRC debug messages");
|
2007-12-06 07:26:38 -07:00
|
|
|
#endif
|
|
|
|
|
2009-01-04 22:45:33 -07:00
|
|
|
int __init tfrc_lib_init(void)
|
2007-12-06 07:26:38 -07:00
|
|
|
{
|
2007-12-12 09:06:14 -07:00
|
|
|
int rc = tfrc_li_init();
|
2007-12-06 07:26:38 -07:00
|
|
|
|
2007-12-12 07:24:49 -07:00
|
|
|
if (rc)
|
|
|
|
goto out;
|
|
|
|
|
|
|
|
rc = tfrc_tx_packet_history_init();
|
|
|
|
if (rc)
|
|
|
|
goto out_free_loss_intervals;
|
2007-12-06 07:26:38 -07:00
|
|
|
|
2007-12-12 07:24:49 -07: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-12 09:06:14 -07:00
|
|
|
tfrc_li_exit();
|
2007-12-12 07:24:49 -07:00
|
|
|
out:
|
2007-12-06 07:26:38 -07:00
|
|
|
return rc;
|
|
|
|
}
|
|
|
|
|
2009-01-10 00:06:28 -07:00
|
|
|
void tfrc_lib_exit(void)
|
2007-12-06 07:26:38 -07:00
|
|
|
{
|
2007-12-12 07:24:49 -07:00
|
|
|
tfrc_rx_packet_history_exit();
|
|
|
|
tfrc_tx_packet_history_exit();
|
2007-12-12 09:06:14 -07:00
|
|
|
tfrc_li_exit();
|
2007-12-06 07:26:38 -07:00
|
|
|
}
|