On 8/11/23 7:54 PM, Geliang Tang wrote:
+static int verify_mptcpify(int server_fd) +{
- socklen_t optlen;
- char cmd[256];
- int protocol;
- int err = 0;
- optlen = sizeof(protocol);
- if (!ASSERT_OK(getsockopt(server_fd, SOL_SOCKET, SO_PROTOCOL, &protocol, &optlen),
"getsockopt(SOL_PROTOCOL)"))
return -1;
- if (!ASSERT_EQ(protocol, IPPROTO_MPTCP, "protocol isn't MPTCP"))
err++;
- /* Output of nstat:
*
* #kernel
* MPTcpExtMPCapableSYNACKRX 1 0.0
*/
- snprintf(cmd, sizeof(cmd),
"ip netns exec %s nstat -asz %s | awk '%s' | grep -q '%s'",
NS_TEST, "MPTcpExtMPCapableSYNACKRX",
"NR==1 {next} {print $2}", "1");
Is the mp-capable something that the regular mptcp user want to learn from a fd also? Does it have a simpler way like to learn this, eg. getsockopt(fd, SOL_MPTCP, MPTCP_xxx), instead of parsing text output?
- if (!ASSERT_OK(system(cmd), "No MPTcpExtMPCapableSYNACKRX found!"))