defrag: make tests more readable

Make tests more readable for comparing to the paper "Target-Based
Fragmentation Reassembly".
pull/10934/head
Jason Ish 3 years ago committed by Victor Julien
parent 276d3d6541
commit 6339deadce

@ -1457,59 +1457,59 @@ static int DefragDoSturgesNovakTest(int policy, u_char *expected,
* Original fragments. * Original fragments.
*/ */
/* A*24 at 0. */ /* <1> A*24 at 0. */
packets[0] = BuildTestPacket(IPPROTO_ICMP, id, 0, 1, 'A', 24); packets[0] = BuildTestPacket(IPPROTO_ICMP, id, 0, 1, 'A', 24);
/* B*15 at 32. */ /* <2> B*16 at 32. */
packets[1] = BuildTestPacket(IPPROTO_ICMP, id, 32 >> 3, 1, 'B', 16); packets[1] = BuildTestPacket(IPPROTO_ICMP, id, 32 >> 3, 1, 'B', 16);
/* C*24 at 48. */ /* <3> C*24 at 48. */
packets[2] = BuildTestPacket(IPPROTO_ICMP, id, 48 >> 3, 1, 'C', 24); packets[2] = BuildTestPacket(IPPROTO_ICMP, id, 48 >> 3, 1, 'C', 24);
/* D*8 at 80. */ /* <3_1> D*8 at 80. */
packets[3] = BuildTestPacket(IPPROTO_ICMP, id, 80 >> 3, 1, 'D', 8); packets[3] = BuildTestPacket(IPPROTO_ICMP, id, 80 >> 3, 1, 'D', 8);
/* E*16 at 104. */ /* <3_2> E*16 at 104. */
packets[4] = BuildTestPacket(IPPROTO_ICMP, id, 104 >> 3, 1, 'E', 16); packets[4] = BuildTestPacket(IPPROTO_ICMP, id, 104 >> 3, 1, 'E', 16);
/* F*24 at 120. */ /* <3_3> F*24 at 120. */
packets[5] = BuildTestPacket(IPPROTO_ICMP, id, 120 >> 3, 1, 'F', 24); packets[5] = BuildTestPacket(IPPROTO_ICMP, id, 120 >> 3, 1, 'F', 24);
/* G*16 at 144. */ /* <3_4> G*16 at 144. */
packets[6] = BuildTestPacket(IPPROTO_ICMP, id, 144 >> 3, 1, 'G', 16); packets[6] = BuildTestPacket(IPPROTO_ICMP, id, 144 >> 3, 1, 'G', 16);
/* H*16 at 160. */ /* <3_5> H*16 at 160. */
packets[7] = BuildTestPacket(IPPROTO_ICMP, id, 160 >> 3, 1, 'H', 16); packets[7] = BuildTestPacket(IPPROTO_ICMP, id, 160 >> 3, 1, 'H', 16);
/* I*8 at 176. */ /* <3_6> I*8 at 176. */
packets[8] = BuildTestPacket(IPPROTO_ICMP, id, 176 >> 3, 1, 'I', 8); packets[8] = BuildTestPacket(IPPROTO_ICMP, id, 176 >> 3, 1, 'I', 8);
/* /*
* Overlapping subsequent fragments. * Overlapping subsequent fragments.
*/ */
/* J*32 at 8. */ /* <4> J*32 at 8. */
packets[9] = BuildTestPacket(IPPROTO_ICMP, id, 8 >> 3, 1, 'J', 32); packets[9] = BuildTestPacket(IPPROTO_ICMP, id, 8 >> 3, 1, 'J', 32);
/* K*24 at 48. */ /* <5> K*24 at 48. */
packets[10] = BuildTestPacket(IPPROTO_ICMP, id, 48 >> 3, 1, 'K', 24); packets[10] = BuildTestPacket(IPPROTO_ICMP, id, 48 >> 3, 1, 'K', 24);
/* L*24 at 72. */ /* <6> L*24 at 72. */
packets[11] = BuildTestPacket(IPPROTO_ICMP, id, 72 >> 3, 1, 'L', 24); packets[11] = BuildTestPacket(IPPROTO_ICMP, id, 72 >> 3, 1, 'L', 24);
/* M*24 at 96. */ /* <7> M*24 at 96. */
packets[12] = BuildTestPacket(IPPROTO_ICMP, id, 96 >> 3, 1, 'M', 24); packets[12] = BuildTestPacket(IPPROTO_ICMP, id, 96 >> 3, 1, 'M', 24);
/* N*8 at 128. */ /* <8> N*8 at 128. */
packets[13] = BuildTestPacket(IPPROTO_ICMP, id, 128 >> 3, 1, 'N', 8); packets[13] = BuildTestPacket(IPPROTO_ICMP, id, 128 >> 3, 1, 'N', 8);
/* O*8 at 152. */ /* <9> O*8 at 152. */
packets[14] = BuildTestPacket(IPPROTO_ICMP, id, 152 >> 3, 1, 'O', 8); packets[14] = BuildTestPacket(IPPROTO_ICMP, id, 152 >> 3, 1, 'O', 8);
/* P*8 at 160. */ /* <10> P*8 at 160. */
packets[15] = BuildTestPacket(IPPROTO_ICMP, id, 160 >> 3, 1, 'P', 8); packets[15] = BuildTestPacket(IPPROTO_ICMP, id, 160 >> 3, 1, 'P', 8);
/* Q*16 at 176. */ /* <11> Q*16 at 176. */
packets[16] = BuildTestPacket(IPPROTO_ICMP, id, 176 >> 3, 0, 'Q', 16); packets[16] = BuildTestPacket(IPPROTO_ICMP, id, 176 >> 3, 0, 'Q', 16);
default_policy = policy; default_policy = policy;
@ -1536,6 +1536,7 @@ static int DefragDoSturgesNovakTest(int policy, u_char *expected,
FAIL_IF(IPV4_GET_HLEN(reassembled) != 20); FAIL_IF(IPV4_GET_HLEN(reassembled) != 20);
FAIL_IF(IPV4_GET_IPLEN(reassembled) != 20 + 192); FAIL_IF(IPV4_GET_IPLEN(reassembled) != 20 + 192);
FAIL_IF(expected_len != 192);
FAIL_IF(memcmp(GET_PKT_DATA(reassembled) + 20, expected, expected_len) != 0); FAIL_IF(memcmp(GET_PKT_DATA(reassembled) + 20, expected, expected_len) != 0);
SCFree(reassembled); SCFree(reassembled);
@ -1573,59 +1574,59 @@ static int IPV6DefragDoSturgesNovakTest(int policy, u_char *expected,
* Original fragments. * Original fragments.
*/ */
/* A*24 at 0. */ /* <1> A*24 at 0. */
packets[0] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 0, 1, 'A', 24); packets[0] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 0, 1, 'A', 24);
/* B*15 at 32. */ /* <2> B*16 at 32. */
packets[1] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 32 >> 3, 1, 'B', 16); packets[1] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 32 >> 3, 1, 'B', 16);
/* C*24 at 48. */ /* <3> C*24 at 48. */
packets[2] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 48 >> 3, 1, 'C', 24); packets[2] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 48 >> 3, 1, 'C', 24);
/* D*8 at 80. */ /* <3_1> D*8 at 80. */
packets[3] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 80 >> 3, 1, 'D', 8); packets[3] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 80 >> 3, 1, 'D', 8);
/* E*16 at 104. */ /* <3_2> E*16 at 104. */
packets[4] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 104 >> 3, 1, 'E', 16); packets[4] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 104 >> 3, 1, 'E', 16);
/* F*24 at 120. */ /* <3_3> F*24 at 120. */
packets[5] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 120 >> 3, 1, 'F', 24); packets[5] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 120 >> 3, 1, 'F', 24);
/* G*16 at 144. */ /* <3_4> G*16 at 144. */
packets[6] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 144 >> 3, 1, 'G', 16); packets[6] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 144 >> 3, 1, 'G', 16);
/* H*16 at 160. */ /* <3_5> H*16 at 160. */
packets[7] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 160 >> 3, 1, 'H', 16); packets[7] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 160 >> 3, 1, 'H', 16);
/* I*8 at 176. */ /* <3_6> I*8 at 176. */
packets[8] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 176 >> 3, 1, 'I', 8); packets[8] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 176 >> 3, 1, 'I', 8);
/* /*
* Overlapping subsequent fragments. * Overlapping subsequent fragments.
*/ */
/* J*32 at 8. */ /* <4> J*32 at 8. */
packets[9] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 8 >> 3, 1, 'J', 32); packets[9] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 8 >> 3, 1, 'J', 32);
/* K*24 at 48. */ /* <5> K*24 at 48. */
packets[10] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 48 >> 3, 1, 'K', 24); packets[10] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 48 >> 3, 1, 'K', 24);
/* L*24 at 72. */ /* <6> L*24 at 72. */
packets[11] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 72 >> 3, 1, 'L', 24); packets[11] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 72 >> 3, 1, 'L', 24);
/* M*24 at 96. */ /* <7> M*24 at 96. */
packets[12] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 96 >> 3, 1, 'M', 24); packets[12] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 96 >> 3, 1, 'M', 24);
/* N*8 at 128. */ /* <8> N*8 at 128. */
packets[13] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 128 >> 3, 1, 'N', 8); packets[13] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 128 >> 3, 1, 'N', 8);
/* O*8 at 152. */ /* <9> O*8 at 152. */
packets[14] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 152 >> 3, 1, 'O', 8); packets[14] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 152 >> 3, 1, 'O', 8);
/* P*8 at 160. */ /* <10> P*8 at 160. */
packets[15] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 160 >> 3, 1, 'P', 8); packets[15] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 160 >> 3, 1, 'P', 8);
/* Q*16 at 176. */ /* <11> Q*16 at 176. */
packets[16] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 176 >> 3, 0, 'Q', 16); packets[16] = IPV6BuildTestPacket(IPPROTO_ICMPV6, id, 176 >> 3, 0, 'Q', 16);
default_policy = policy; default_policy = policy;
@ -1665,35 +1666,61 @@ static int IPV6DefragDoSturgesNovakTest(int policy, u_char *expected,
PASS; PASS;
} }
/* Define data that matches the naming "Target-Based Fragmentation
* Reassembly".
*
* For example, the data refers to a fragment of data as <1>, or <3_6>
* and uses these to diagram the input fragments and the resulting
* policies. We build test cases for the papers scenario but assign
* specific values to each segment.
*/
#define D_1 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'
#define D_2 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'
#define D_3 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C'
#define D_3_1 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D'
#define D_3_2 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E'
#define D_3_3 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F'
#define D_3_4 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G'
#define D_3_5 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H'
#define D_3_6 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I'
#define D_4 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J'
#define D_5 'K', 'K', 'K', 'K', 'K', 'K', 'K', 'K'
#define D_6 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L'
#define D_7 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M'
#define D_8 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N'
#define D_9 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'
#define D_10 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P'
#define D_11 'Q', 'Q', 'Q', 'Q', 'Q', 'Q', 'Q', 'Q'
static int static int
DefragSturgesNovakBsdTest(void) DefragSturgesNovakBsdTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"HHHHHHHH" D_3_5,
"HHHHHHHH" D_3_5,
"IIIIIIII" D_3_6,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_BSD, expected, FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_BSD, expected,
@ -1705,30 +1732,30 @@ static int IPV6DefragSturgesNovakBsdTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"HHHHHHHH" D_3_5,
"HHHHHHHH" D_3_5,
"IIIIIIII" D_3_6,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_BSD, expected, FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_BSD, expected,
@ -1740,30 +1767,30 @@ static int DefragSturgesNovakLinuxIpv4Test(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"KKKKKKKK" D_5,
"KKKKKKKK" D_5,
"KKKKKKKK" D_5,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"PPPPPPPP" D_10,
"HHHHHHHH" D_3_5,
"QQQQQQQQ" D_11,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_LINUX, expected, FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_LINUX, expected,
@ -1775,30 +1802,30 @@ static int IPV6DefragSturgesNovakLinuxTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"KKKKKKKK" D_5,
"KKKKKKKK" D_5,
"KKKKKKKK" D_5,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"PPPPPPPP" D_10,
"HHHHHHHH" D_3_5,
"QQQQQQQQ" D_11,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_LINUX, expected, FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_LINUX, expected,
@ -1810,30 +1837,30 @@ static int DefragSturgesNovakWindowsIpv4Test(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"BBBBBBBB" D_2,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"EEEEEEEE" D_3_2,
"EEEEEEEE" D_3_2,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"HHHHHHHH" D_3_5,
"HHHHHHHH" D_3_5,
"IIIIIIII" D_3_6,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_WINDOWS, expected, FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_WINDOWS, expected,
@ -1845,30 +1872,30 @@ static int IPV6DefragSturgesNovakWindowsTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"BBBBBBBB" D_2,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"EEEEEEEE" D_3_2,
"EEEEEEEE" D_3_2,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"HHHHHHHH" D_3_5,
"HHHHHHHH" D_3_5,
"IIIIIIII" D_3_6,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_WINDOWS, expected, FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_WINDOWS, expected,
@ -1880,30 +1907,30 @@ static int DefragSturgesNovakSolarisTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"BBBBBBBB" D_2,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"HHHHHHHH" D_3_5,
"HHHHHHHH" D_3_5,
"IIIIIIII" D_3_6,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_SOLARIS, expected, FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_SOLARIS, expected,
@ -1915,30 +1942,30 @@ static int IPV6DefragSturgesNovakSolarisTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"BBBBBBBB" D_2,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"HHHHHHHH" D_3_5,
"HHHHHHHH" D_3_5,
"IIIIIIII" D_3_6,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_SOLARIS, expected, FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_SOLARIS, expected,
@ -1950,30 +1977,30 @@ static int DefragSturgesNovakFirstTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"BBBBBBBB" D_2,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"LLLLLLLL" D_6,
"DDDDDDDD" D_3_1,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"EEEEEEEE" D_3_2,
"EEEEEEEE" D_3_2,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"HHHHHHHH" D_3_5,
"HHHHHHHH" D_3_5,
"IIIIIIII" D_3_6,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_FIRST, expected, FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_FIRST, expected,
@ -1985,30 +2012,30 @@ static int IPV6DefragSturgesNovakFirstTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"BBBBBBBB" D_2,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"CCCCCCCC" D_3,
"LLLLLLLL" D_6,
"DDDDDDDD" D_3_1,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"EEEEEEEE" D_3_2,
"EEEEEEEE" D_3_2,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"GGGGGGGG" D_3_4,
"HHHHHHHH" D_3_5,
"HHHHHHHH" D_3_5,
"IIIIIIII" D_3_6,
"QQQQQQQQ" D_11,
}; };
return IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_FIRST, expected, return IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_FIRST, expected,
@ -2020,30 +2047,30 @@ DefragSturgesNovakLastTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"KKKKKKKK" D_5,
"KKKKKKKK" D_5,
"KKKKKKKK" D_5,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"FFFFFFFF" D_3_3,
"NNNNNNNN" D_8,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"OOOOOOOO" D_9,
"PPPPPPPP" D_10,
"HHHHHHHH" D_3_5,
"QQQQQQQQ" D_11,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_LAST, expected, FAIL_IF_NOT(DefragDoSturgesNovakTest(DEFRAG_POLICY_LAST, expected,
@ -2055,30 +2082,30 @@ static int IPV6DefragSturgesNovakLastTest(void)
{ {
/* Expected data. */ /* Expected data. */
u_char expected[] = { u_char expected[] = {
"AAAAAAAA" D_1,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"JJJJJJJJ" D_4,
"BBBBBBBB" D_2,
"KKKKKKKK" D_5,
"KKKKKKKK" D_5,
"KKKKKKKK" D_5,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"LLLLLLLL" D_6,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"MMMMMMMM" D_7,
"FFFFFFFF" D_3_3,
"NNNNNNNN" D_8,
"FFFFFFFF" D_3_3,
"GGGGGGGG" D_3_4,
"OOOOOOOO" D_9,
"PPPPPPPP" D_10,
"HHHHHHHH" D_3_5,
"QQQQQQQQ" D_11,
"QQQQQQQQ" D_11,
}; };
FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_LAST, expected, FAIL_IF_NOT(IPV6DefragDoSturgesNovakTest(DEFRAG_POLICY_LAST, expected,

Loading…
Cancel
Save