Exemplo n.º 1
0
static bool assert_session(unsigned int la, unsigned int lp,
		unsigned int ra, unsigned int rp)
{
	struct session_entry session;
	int expected;

	init_src6(&session.src6, la, lp);
	init_dst6(&session.dst6, ra, rp);
	init_src4(&session.src4, la, lp);
	init_dst4(&session.dst4, ra, rp);
	session.proto = PROTO;

	expected = !!sessions[la][lp][ra][rp];
	return ASSERT_INT(expected, session_exists(&session),
			"session %u %u %u %u lookup", la, lp, ra, rp);
}
Exemplo n.º 2
0
static bool assert_session_exists(char *src6_addr, u16 src6_port,
		char *dst6_addr, u16 dst6_port,
		char *src4_addr, u16 src4_port,
		char *dst4_addr, u16 dst4_port,
		l4_protocol proto, u_int8_t state,
		session_timer_type timer_type, unsigned long timeout)
{
	struct session_entry expected;
	int result;

	if (str_to_addr6(src6_addr, &expected.src6.l3))
		return false;
	if (str_to_addr6(dst6_addr, &expected.dst6.l3))
		return false;
	if (str_to_addr4(src4_addr, &expected.src4.l3))
		return false;
	if (str_to_addr4(dst4_addr, &expected.dst4.l3))
		return false;
	expected.src6.l4 = src6_port;
	expected.dst6.l4 = dst6_port;
	expected.src4.l4 = src4_port;
	expected.dst4.l4 = dst4_port;
	expected.proto = proto;
	expected.state = state;
	expected.timer_type = timer_type;
	expected.update_time = 0;
	expected.timeout = msecs_to_jiffies(timeout * 1000);
	expected.has_stored = false;

	result = session_exists(&expected);
	if (result > 0)
		return true;
	else if (result < 0)
		return false;
	return ASSERT_BOOL(1, 0, "session search");
}