1/* 2 * TFRC library initialisation 3 * 4 * Copyright (c) 2007 The University of Aberdeen, Scotland, UK 5 * Copyright (c) 2007 Arnaldo Carvalho de Melo <acme@redhat.com> 6 */ 7#include <linux/moduleparam.h> 8#include "tfrc.h" 9 10#ifdef CONFIG_IP_DCCP_TFRC_DEBUG 11bool tfrc_debug; 12module_param(tfrc_debug, bool, 0644); 13MODULE_PARM_DESC(tfrc_debug, "Enable TFRC debug messages"); 14#endif 15 16int __init tfrc_lib_init(void) 17{ 18 int rc = tfrc_li_init(); 19 20 if (rc) 21 goto out; 22 23 rc = tfrc_tx_packet_history_init(); 24 if (rc) 25 goto out_free_loss_intervals; 26 27 rc = tfrc_rx_packet_history_init(); 28 if (rc) 29 goto out_free_tx_history; 30 return 0; 31 32out_free_tx_history: 33 tfrc_tx_packet_history_exit(); 34out_free_loss_intervals: 35 tfrc_li_exit(); 36out: 37 return rc; 38} 39 40void tfrc_lib_exit(void) 41{ 42 tfrc_rx_packet_history_exit(); 43 tfrc_tx_packet_history_exit(); 44 tfrc_li_exit(); 45} 46