{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":751567548,"defaultBranch":"master","name":"iperf","ownerLogin":"brettcreeley","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2024-02-01T21:31:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/95243690?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1706825396.0","currentOid":""},"activityList":{"items":[{"before":"d8a23eb6eaff73ae8ea9d63205cefbf0bc4c3d60","after":"ebd35034111b6ba0d10684666e7db22a2e8c913c","ref":"refs/heads/tcp_md5sig","pushedAt":"2024-02-27T00:42:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"brettcreeley","name":"Brett Creeley","path":"/brettcreeley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243690?s=80&v=4"},"commit":{"message":"iperf-md5sig: Add support for --md5-sig option\n\nThis patch adds support for the TCP_MD5SIG socket option for\nIPPROTO_TCP for v4 and v6 (v6 is untested).\n\nThe new argument, --md5-sig is added.\n\nSince the remote address and port are required before the socket\nlisten/connect calls are made when setting the TCP_MD5SIG socket\noption, it was necessary to pass the client's address/port during\nthe parameter exchange.\n\nIn order to support/enforce this the test's settings are checked\nwhen parsing the --md5-sig argument.\n\nAlso, when the server is parsing the client parameters in\nget_parameters() it fails if the any combination of invalid --md5-sig\noptions are set. For example, if the server sets --md5-sig, but\nthe client does not, etc.\n\nExample usage (for ipv4):\n\nServer (address: 20.1.1.2 server_port: 5050):\n$ iperf3 -4 -s -p 5050 --md5-sig helloworld!\n\nClient (address: 20.1.1.1 client_port: 6060 server_port: 5050):\n$ iperf3 -4 -c 20.1.1.2 --cport 6000 -B 20.1.1.1 -p 5050 --md5-sig helloworld!\n\nRelevant network stats (server side):\n\nnstat -sza | grep MD5\nTcpExtTCPMD5NotFound\t0\nTcpExtTCPMD5Unexpected\t0\nTcpExtTCPMD5Failure\t0 /* Happens if struct tcp_md5sig.tcpm_key doesn't match client key */\n\nThe counters above will increment based on various misconfigurations.\n\nFailure(s) will happen when the server and client key don't match and/or\nany data corruption happens between the client and server. This will\ncause the TcpExtTCPMD5Failure stat to incremement. Also, the following\nmessage can be seen in dmesg:\n\n$ dmesg\n[...]\nTCP: MD5 Hash failed for (20.1.1.1, 6000)->(20.1.1.2, 5050) L3 index 0\n[...]\n\nThis example dmesg output was seen when the client and server had mismatched\nstruct tcp_md5sig.tcpm_key(s).\n\nWhen running tcpdump the -M command can be used to see that the\nmd5 is valid. For example the following command can be used on the host\nrunning the iperf server:\n\n$ tcpdump -ei enp21s0 -M helloworld!\n[...]\n00:42:35.421955 00:ae:cd:01:c8:18 (oui Unknown) > 00:ae:cd:01:c8:19 (oui Unknown), ethertype IPv4 (0x0800), length 1514: 20.1.1.1.x11 > 20.1.1.2.5050: Flags [.], seq 502581926:502583366, ack 1, win 502, options [nop,nop,md5 valid], length 1440\n[...]\n\nSigned-off-by: Brett Creeley ","shortMessageHtmlLink":"iperf-md5sig: Add support for --md5-sig option"}},{"before":"96cf3e7aaa2acceb4713262881c0e93ee8e6ccc9","after":"d8a23eb6eaff73ae8ea9d63205cefbf0bc4c3d60","ref":"refs/heads/tcp_md5sig","pushedAt":"2024-02-27T00:09:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"brettcreeley","name":"Brett Creeley","path":"/brettcreeley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243690?s=80&v=4"},"commit":{"message":"iperf-md5sig: Add support for --md5-sig option\n\nThis patch adds support for the TCP_MD5SIG socket option for\nIPPROTO_TCP for v4 and v6 (v6 is untested).\n\nThe new argument, --md5-sig was added. TODO: enchance this to take\na key (string) so the key can be different instead of just \"hello\".\n\nSince the remote address and port are required before the socket\nlisten/connect calls are made when setting the TCP_MD5SIG socket\noption, it was necessary to pass the client's address/port during\nthe parameter exchange.\n\nIn order to support/enforce this the test's settings are checked\nwhen parsing the --md5-sig argument.\n\nAlso, when the server is parsing the client parameters in\nget_parameters() it fails if the any combination of invalid --md5-sig\noptions are set. For example, if the server sets --md5-sig, but\nthe client does not, etc.\n\nExample usage (for ipv4):\n\nServer (address: 20.1.1.2 server_port: 5050):\n$ iperf3 -4 -s -p 5050 --md5-sig\n\nClient (address: 20.1.1.1 client_port: 6060 server_port: 5050):\n$ iperf3 -4 -c 20.1.1.2 --cport 6000 -B 20.1.1.1 -p 5050 --md5-sig\n\nRelevant network stats (server side):\n\nnstat -sza | grep MD5\nTcpExtTCPMD5NotFound\t0\nTcpExtTCPMD5Unexpected\t0\nTcpExtTCPMD5Failure\t0 /* Happens if struct tcp_md5sig.tcpm_key doesn't match client key */\n\nThe counters above will increment based on various misconfigurations.\n\nFailure(s) will happen when the server and client key don't match and/or\nany data corruption happens between the client and server. This will\ncause the TcpExtTCPMD5Failure stat to incremement. Also, the following\nmessage can be seen in dmesg:\n\n$ dmesg\n[...]\nTCP: MD5 Hash failed for (20.1.1.1, 6000)->(20.1.1.2, 5050) L3 index 0\n[...]\n\nThis example dmesg output was seen when the client and server had mismatched\nstruct tcp_md5sig.tcpm_key(s).\n\nSigned-off-by: Brett Creeley ","shortMessageHtmlLink":"iperf-md5sig: Add support for --md5-sig option"}},{"before":"54882cbc25cc39d19cedf3896a14d17a37fe6174","after":"96cf3e7aaa2acceb4713262881c0e93ee8e6ccc9","ref":"refs/heads/tcp_md5sig","pushedAt":"2024-02-27T00:03:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"brettcreeley","name":"Brett Creeley","path":"/brettcreeley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243690?s=80&v=4"},"commit":{"message":"iperf-md5sig: Add support for --md5-sig option\n\nThis patch adds support for the TCP_MD5SIG socket option for\nIPPROTO_TCP for v4 and v6 (v6 is untested).\n\nThe new argument, --md5-sig was added. TODO: enchance this to take\na key (string) so the key can be different instead of just \"hello\".\n\nSince the remote address and port are required before the socket\nlisten/connect calls are made when setting the TCP_MD5SIG socket\noption, it was necessary to pass the client's address/port during\nthe parameter exchange.\n\nIn order to support/enforce this the test's settings are checked\nwhen parsing the --md5-sig argument.\n\nAlso, when the server is parsing the client parameters in\nget_parameters() it fails if the any combination of invalid --md5-sig\noptions are set. For example, if the server sets --md5-sig, but\nthe client does not, etc.\n\nExample usage (for ipv4):\n\nServer (address: 20.1.1.2 server_port: 5050):\n$ iperf3 -4 -s -p 5050 --md5-sig\n\nClient (address: 20.1.1.1 client_port: 6060 server_port: 5050):\n$ iperf3 -4 -c 20.1.1.2 --cport 6000 -B 20.1.1.1 -p 5050 --md5-sig\n\nRelevant network stats (server side):\n\nnstat -sza | grep MD5\nTcpExtTCPMD5NotFound\t0\nTcpExtTCPMD5Unexpected\t0\nTcpExtTCPMD5Failure\t0 /* Happens if struct tcp_md5sig.tcpm_key doesn't match client key */\n\nThe counters above will increment based on various misconfigurations.\n\nFailure(s) will happen when the server and client key don't match and/or\nany data corruption happens between the client and server. This will\ncause the TcpExtTCPMD5Failure stat to incremement. Also, the following\nmessage can be seen in dmesg:\n\n$ dmesg\n[...]\nTCP: MD5 Hash failed for (20.1.1.1, 6000)->(20.1.1.2, 5050) L3 index 0\n[...]\n\nThis example dmesg output was seen when the client and server had mismatched\nstruct tcp_md5sig.tcpm_key(s).\n\nSigned-off-by: Brett Creeley ","shortMessageHtmlLink":"iperf-md5sig: Add support for --md5-sig option"}},{"before":"abc0019822a3f73cc68b4ec2be68d87c1fd4ed3a","after":"54882cbc25cc39d19cedf3896a14d17a37fe6174","ref":"refs/heads/tcp_md5sig","pushedAt":"2024-02-26T23:11:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"brettcreeley","name":"Brett Creeley","path":"/brettcreeley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243690?s=80&v=4"},"commit":{"message":"iperf-md5sig: Add support for --md5-sig option\n\nThis patch adds support for the TCP_MD5SIG socket option for\nIPPROTO_TCP for v4 and v6 (v6 is untested).\n\nThe new argument, --md5-sig was added. TODO: enchance this to take\na key (string) so the key can be different instead of just \"hello\".\n\nSince the remote address and port are required before the socket\nlisten/connect calls are made when setting the TCP_MD5SIG socket\noption, it was necessary to pass the client's address/port during\nthe parameter exchange.\n\nIn order to support/enforce this the test's settings are checked\nwhen parsing the --md5-sig argument.\n\nAlso, when the server is parsing the client parameters in\nget_parameters() it fails if the any combination of invalid --md5-sig\noptions are set. For example, if the server sets --md5-sig, but\nthe client does not, etc.\n\nExample usage (for ipv4):\n\nServer (address: 20.1.1.2 server_port: 5050):\n$ iperf3 -4 -s -p 5050 --md5-sig\n\nClient (address: 20.1.1.1 client_port: 6060 server_port: 5050):\n$ iperf3 -4 -c 20.1.1.2 --cport 6000 -B 20.1.1.1 -p 5050 --md5-sig\n\nSigned-off-by: Brett Creeley ","shortMessageHtmlLink":"iperf-md5sig: Add support for --md5-sig option"}},{"before":"ba9fb17f416d5ca62c321ed94da8408d0171aca6","after":"abc0019822a3f73cc68b4ec2be68d87c1fd4ed3a","ref":"refs/heads/tcp_md5sig","pushedAt":"2024-02-26T23:03:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"brettcreeley","name":"Brett Creeley","path":"/brettcreeley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243690?s=80&v=4"},"commit":{"message":"From 9588076633179245e51628d5222e9ef96c5fcef8 Mon Sep 17 00:00:00 2001\nSubject: [PATCH] iperf-md5sig: Add support for --md5-sig option\n\nSigned-off-by: Brett Creeley ","shortMessageHtmlLink":"From 9588076633179245e51628d5222e9ef96c5fcef8 Mon Sep 17 00:00:00 2001"}},{"before":"9db17571666f260505a2c874c209a553b8069c27","after":"ba9fb17f416d5ca62c321ed94da8408d0171aca6","ref":"refs/heads/tcp_md5sig","pushedAt":"2024-02-26T23:02:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"brettcreeley","name":"Brett Creeley","path":"/brettcreeley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243690?s=80&v=4"},"commit":{"message":"From 9588076633179245e51628d5222e9ef96c5fcef8 Mon Sep 17 00:00:00 2001\nSubject: [PATCH] iperf-md5sig: Add support for --md5-sig option\n\nSigned-off-by: Brett Creeley ","shortMessageHtmlLink":"From 9588076633179245e51628d5222e9ef96c5fcef8 Mon Sep 17 00:00:00 2001"}},{"before":"117fe8482a1dcda7fd1dace1c64e0b81cbf0b96a","after":"9db17571666f260505a2c874c209a553b8069c27","ref":"refs/heads/tcp_md5sig","pushedAt":"2024-02-01T22:13:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"brettcreeley","name":"Brett Creeley","path":"/brettcreeley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243690?s=80&v=4"},"commit":{"message":"iperf: Rework md5sig stuff so it's functional\n\ntcp_md5sig stuff seems to be working with this patch,\nbut I'm still seeing the following counters increment\nwhen running with --md5-sig enabled:\n\n[root@localhost ~]# nstat -sza | grep MD5\nTcpExtTCPMD5NotFound 323 0.0\nTcpExtTCPMD5Unexpected 35588 0.0\nTcpExtTCPMD5Failure 0 0.0\n\nAccording to include/net/dropreason-core.h:\n TcpExtTCPMD5NotFound - no MD5 hash and one expected\n TcpExtTCPMD5Unexpected - MD5 hash and we're not expecting one\n TcpExtTCPMD5Failure - MD5 hash and it's wrong\n\nSigned-off-by: Brett Creeley ","shortMessageHtmlLink":"iperf: Rework md5sig stuff so it's functional"}},{"before":null,"after":"117fe8482a1dcda7fd1dace1c64e0b81cbf0b96a","ref":"refs/heads/tcp_md5sig","pushedAt":"2024-02-01T22:09:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"brettcreeley","name":"Brett Creeley","path":"/brettcreeley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243690?s=80&v=4"},"commit":{"message":"iperf: Rework md5sig stuff so it's functional\n\ntcp_md5sig stuff seems to be working with this patch,\nbut I'm still seeing the following counters increment\nwhen running with --md5-sig enabled:\n\n[root@localhost ~]# nstat -sza | grep MD5\nTcpExtTCPMD5NotFound 323 0.0\nTcpExtTCPMD5Unexpected 35588 0.0\nTcpExtTCPMD5Failure 0 0.0\n\nAccording to include/net/dropreason-core.h:\n TcpExtTCPMD5NotFound - no MD5 hash and one expected\n TcpExtTCPMD5Unexpected - MD5 hash and we're not expecting one\n TcpExtTCPMD5Failure - MD5 hash and it's wrong\n\nSigned-off-by: Brett Creeley ","shortMessageHtmlLink":"iperf: Rework md5sig stuff so it's functional"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0yN1QwMDo0MjoyMy4wMDAwMDBazwAAAAQF_Z6_","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0wMVQyMjowOTo1Ni4wMDAwMDBazwAAAAPvn40Y"}},"title":"Activity ยท brettcreeley/iperf"}