Ejemplo n.º 1
0
static void end(void)
{
	sessiondb_destroy();
	bibdb_destroy();
	pool6_destroy();
	pool4_destroy();
	pktqueue_destroy();
	config_destroy();
}
Ejemplo n.º 2
0
/**
 * Prepares the environment for the tests.
 *
 * @return whether the initialization was successful or not.
 */
static bool init(void)
{
	if (is_error(sessiondb_init()))
		return false;

	if (!session_inject_str(remote6, 1234, local6, 80, local4, 5678, remote4, 80,
			L4PROTO_UDP, SESSIONTIMER_UDP))
		goto fail;
	if (!session_inject_str(remote6, 1234, local6, 80, local4, 5678, remote4, 80,
			L4PROTO_TCP, SESSIONTIMER_EST))
		goto fail;
	if (!session_inject_str(remote6, 1234, local6, 1234, local4, 80, remote4, 80,
			L4PROTO_ICMP, SESSIONTIMER_ICMP))
		goto fail;

	return true;

fail:
	sessiondb_destroy();
	return false;
}
Ejemplo n.º 3
0
Archivo: nf_hook.c Proyecto: magg/NAT64
static void __exit nat64_exit(void)
{
	/* Release the hook. */
	nf_unregister_hooks(nfho, ARRAY_SIZE(nfho));

	/* Deinitialize the submodules. */
#ifdef BENCHMARK
	logtime_destroy();
#endif
	sendpkt_destroy();
	translate_packet_destroy();
	filtering_destroy();
	fragdb_destroy();
	sessiondb_destroy();
	bibdb_destroy();
	pktqueue_destroy();
	pool4_destroy();
	pool6_destroy();
	config_destroy();

	log_info(MODULE_NAME " module removed.");
}
Ejemplo n.º 4
0
/**
 * Frees from memory the stuff we created during init().
 */
static void cleanup(void)
{
	sessiondb_destroy();
}
Ejemplo n.º 5
0
static void end(void)
{
	sessiondb_destroy();
	pktqueue_destroy();
}
Ejemplo n.º 6
0
Archivo: nf_hook.c Proyecto: magg/NAT64
static int __init nat64_init(void)
{
	int error;

	log_debug("%s", banner);
	log_debug("Inserting the module...");

	/* Init Jool's submodules. */
	error = config_init();
	if (error)
		goto config_failure;
	error = pool6_init(pool6, pool6_size);
	if (error)
		goto pool6_failure;
	error = pool4_init(pool4, pool4_size);
	if (error)
		goto pool4_failure;
	error = pktqueue_init();
	if (error)
		goto pktqueue_failure;
	error = bibdb_init();
	if (error)
		goto bib_failure;
	error = sessiondb_init();
	if (error)
		goto session_failure;
	error = fragdb_init();
	if (error)
		goto fragdb_failure;
	error = filtering_init();
	if (error)
		goto filtering_failure;
	error = translate_packet_init();
	if (error)
		goto translate_packet_failure;
	error = sendpkt_init();
	if (error)
		goto sendpkt_failure;
#ifdef BENCHMARK
	error = logtime_init();
	if (error)
		goto log_time_failure;
#endif

	/* Hook Jool to Netfilter. */
	error = nf_register_hooks(nfho, ARRAY_SIZE(nfho));
	if (error)
		goto nf_register_hooks_failure;

	/* Yay */
	log_info(MODULE_NAME " module inserted.");
	return error;

nf_register_hooks_failure:
#ifdef BENCHMARK
	logtime_destroy();

log_time_failure:
#endif
	sendpkt_destroy();

sendpkt_failure:
	translate_packet_destroy();

translate_packet_failure:
	filtering_destroy();

filtering_failure:
	fragdb_destroy();

fragdb_failure:
	sessiondb_destroy();

session_failure:
	bibdb_destroy();

bib_failure:
	pktqueue_destroy();

pktqueue_failure:
	pool4_destroy();

pool4_failure:
	pool6_destroy();

pool6_failure:
	config_destroy();

config_failure:
	return error;
}