DEV: udp: add an optional argument to set the prng seed

This will help reproduce certain sequences that were observed.
diff --git a/dev/udp/udp-perturb.c b/dev/udp/udp-perturb.c
index b643257..824628d 100644
--- a/dev/udp/udp-perturb.c
+++ b/dev/udp/udp-perturb.c
@@ -420,7 +420,7 @@
 	err.msg = malloc(err.size);
 
 	if (argc < 3)
-		die(1, "Usage: %s [<laddr>:]<lport> [<saddr>:]<sport> [rand_rate%%]\n", argv[0]);
+		die(1, "Usage: %s [<laddr>:]<lport> [<saddr>:]<sport> [rand_rate%% [seed]]\n", argv[0]);
 
 	if (addr_to_ss(argv[1], &frt_addr, &err) < 0)
 		die(1, "parsing listen address: %s\n", err.msg);
@@ -431,6 +431,9 @@
 	if (argc > 3)
 		rand_rate = atoi(argv[3]);
 
+	if (argc > 4)
+		prng_state = atol(argv[4]);
+
 	pfd = calloc(sizeof(struct pollfd), MAXCONN + 1);
 	if (!pfd)
 		die(1, "out of memory\n");