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