X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/104589770632de5551d310a58358901939a449c7..52fcfd5b1930977d990ad2a580fb38680685fcd8:/test/generateload.c?ds=inline

diff --git a/test/generateload.c b/test/generateload.c
index 5119920..0b32199 100644
--- a/test/generateload.c
+++ b/test/generateload.c
@@ -284,7 +284,7 @@ int main(int argc, char *argv[])
 				break;
 			case 'm' :
 				max_packets = atoi(optarg);
-				if (packet_length < 64)
+				if (max_packets < 50)
 				{
 					printf("You must send at least 50 packets.\n");
 					return -1;
@@ -645,14 +645,14 @@ __u16 checksum(unsigned char *addr, int count)
 
 	for (; count > 1; count -= 2)
 	{
-		sum += ntohs(*(u32 *)addr);
+		sum += ntohs(*(u16 *)addr);
 		addr += 2;
 	}
 
-	if (count > 1) sum += *(unsigned char *)addr;
+	if (count > 0) sum += *(unsigned char *)addr;
 
 	// take only 16 bits out of the 32 bit sum and add up the carries
-	while (sum >> 16)
+	if (sum >> 16)
 		sum = (sum & 0xFFFF) + (sum >> 16);
 
 	// one's complement the result
@@ -1023,9 +1023,9 @@ void reader_thread(int updfd)/*{{{*/
 						controlfree(r);
 						break;
 					case CONFNAK :
-						// Ack whatever address we are given - it's ours
-						r = ppp_ipcp(s, CONFACK, time(NULL) % 255);
-						ppp_lcp_add_option(r, 3, 4, address); // Request 0.0.0.0
+						// Request whatever address we are given - it's ours
+						r = ppp_ipcp(s, CONFREQ, time(NULL) % 255);
+						ppp_lcp_add_option(r, 3, 4, address);
 						ppp_send(r);
 						controlfree(r);
 						printf("Session %d: %s\n", s, inet_toa(address));