On 8/5/24 2:52 AM, Matthieu Baerts (NGI0) wrote:
+static void run_subflow(char *new) +{
- int server_fd, client_fd, err;
- char cc[TCP_CA_NAME_MAX];
- socklen_t len = sizeof(cc);
- server_fd = start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0);
- if (!ASSERT_GE(server_fd, 0, "start_mptcp_server"))
return;
- client_fd = connect_to_fd(server_fd, 0);
- if (!ASSERT_GE(client_fd, 0, "connect to fd"))
goto fail;
- err = getsockopt(server_fd, SOL_TCP, TCP_CONGESTION, cc, &len);
- if (!ASSERT_OK(err, "getsockopt(srv_fd, TCP_CONGESTION)"))
goto fail;
client_fd is leaked.
- send_byte(client_fd);
- ASSERT_OK(ss_search(ADDR_1, "fwmark:0x1"), "ss_search fwmark:0x1");
- ASSERT_OK(ss_search(ADDR_2, "fwmark:0x2"), "ss_search fwmark:0x2");
- ASSERT_OK(ss_search(ADDR_1, new), "ss_search new cc");
- ASSERT_OK(ss_search(ADDR_2, cc), "ss_search default cc");
- close(client_fd);
+fail:
- close(server_fd);
+}