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