Make ping use socket marks properly.

ping and ping6 have an option to set the socket mark on the
sockets they use, but unfortunately they do not use that option
on the sockets they use to determine their local address. Thus,
those checks are incorrect, and can result in ping failing to
run if unmarked sockets have no connectivity.

Change-Id: I2b8c30d314d6723a89d26d636f4f3fd0b9b8c3ac
diff --git a/ping.c b/ping.c
index 23613c8..ec4e040 100644
--- a/ping.c
+++ b/ping.c
@@ -360,6 +360,9 @@
 		dst.sin_port = htons(1025);
 		if (nroute)
 			dst.sin_addr.s_addr = route[0];
+
+		sock_setmark(probe_fd);
+
 		if (connect(probe_fd, (struct sockaddr*)&dst, sizeof(dst)) == -1) {
 			if (errno == EACCES) {
 				if (broadcast_pings == 0) {