2007-12-06 14:26:38 +00:00
|
|
|
/*
|
2009-01-05 05:45:33 +00:00
|
|
|
* TFRC library initialisation
|
2007-12-06 14:26:38 +00:00
|
|
|
*
|
|
|
|
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
|
|
|
|
* Copyright (c) 2007 Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
|
|
*/
|
2011-09-18 17:21:27 +00:00
|
|
|
#include <linux/moduleparam.h>
|
2007-12-06 14:26:38 +00:00
|
|
|
#include "tfrc.h"
|
|
|
|
|
|
|
|
#ifdef CONFIG_IP_DCCP_TFRC_DEBUG
|
2014-02-14 02:02:33 +00:00
|
|
|
bool tfrc_debug;
|
2008-08-23 11:28:27 +00:00
|
|
|
module_param(tfrc_debug, bool, 0644);
|
2009-01-05 05:45:33 +00:00
|
|
|
MODULE_PARM_DESC(tfrc_debug, "Enable TFRC debug messages");
|
2007-12-06 14:26:38 +00:00
|
|
|
#endif
|
|
|
|
|
2009-01-05 05:45:33 +00:00
|
|
|
int __init tfrc_lib_init(void)
|
2007-12-06 14:26:38 +00:00
|
|
|
{
|
2007-12-12 16:06:14 +00:00
|
|
|
int rc = tfrc_li_init();
|
2007-12-06 14:26:38 +00:00
|
|
|
|
2007-12-12 14:24:49 +00:00
|
|
|
if (rc)
|
|
|
|
goto out;
|
|
|
|
|
|
|
|
rc = tfrc_tx_packet_history_init();
|
|
|
|
if (rc)
|
|
|
|
goto out_free_loss_intervals;
|
2007-12-06 14:26:38 +00:00
|
|
|
|
2007-12-12 14:24:49 +00: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 16:06:14 +00:00
|
|
|
tfrc_li_exit();
|
2007-12-12 14:24:49 +00:00
|
|
|
out:
|
2007-12-06 14:26:38 +00:00
|
|
|
return rc;
|
|
|
|
}
|
|
|
|
|
2009-01-10 07:06:28 +00:00
|
|
|
void tfrc_lib_exit(void)
|
2007-12-06 14:26:38 +00:00
|
|
|
{
|
2007-12-12 14:24:49 +00:00
|
|
|
tfrc_rx_packet_history_exit();
|
|
|
|
tfrc_tx_packet_history_exit();
|
2007-12-12 16:06:14 +00:00
|
|
|
tfrc_li_exit();
|
2007-12-06 14:26:38 +00:00
|
|
|
}
|