[PATCH mptcp-next v5 4/8] selftests: mptcp: sockopt: add md5 argument

Geliang Tang posted 8 patches 1 month, 1 week ago
[PATCH mptcp-next v5 4/8] selftests: mptcp: sockopt: add md5 argument
Posted by Geliang Tang 1 month, 1 week ago
From: Geliang Tang <tanggeliang@kylinos.cn>

Add command line option '-m' to support TCP_MD5SIG tests. The option
accepts MD5 keys in the format 'md5,key=<value>'.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
index c27a2f3ea274..c15fa0abcfb1 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
@@ -33,6 +33,8 @@ static int pf = AF_INET;
 static int proto_tx = IPPROTO_MPTCP;
 static int proto_rx = IPPROTO_MPTCP;
 static bool inq;
+static bool md5;
+static char key[TCP_MD5SIG_MAXKEYLEN];
 
 #ifndef IPPROTO_MPTCP
 #define IPPROTO_MPTCP 262
@@ -141,7 +143,7 @@ static void die_perror(const char *msg)
 
 static void die_usage(int r)
 {
-	fprintf(stderr, "Usage: mptcp_sockopt [-6] [-t tcp|mptcp] [-r tcp|mptcp] [-i]\n");
+	fprintf(stderr, "Usage: mptcp_sockopt [-6] [-t tcp|mptcp] [-r tcp|mptcp] [-i] [-m md5,key]\n");
 	exit(r);
 }
 
@@ -286,7 +288,7 @@ static void parse_opts(int argc, char **argv)
 {
 	int c;
 
-	while ((c = getopt(argc, argv, "h6t:r:i")) != -1) {
+	while ((c = getopt(argc, argv, "h6t:r:im:")) != -1) {
 		switch (c) {
 		case 'h':
 			die_usage(0);
@@ -303,6 +305,11 @@ static void parse_opts(int argc, char **argv)
 		case 'i':
 			inq = true;
 			break;
+		case 'm':
+			md5 = true;
+			if (!strncmp(optarg, "md5,", 4))
+				sscanf(optarg, "md5,key=%s", key);
+			break;
 		default:
 			die_usage(1);
 			break;
-- 
2.48.1