selftests/bpf: Use connect_to_addr in connect_to_fd_opt
This patch moves "post_socket_cb" and "noconnect" into connect_to_addr(), then connect_to_fd_opts() can be implemented by getsockname() and connect_to_addr(). This change makes connect_to_* interfaces more unified. Acked-by: Eduard Zingerman <eddyz87@gmail.com> Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> Link: https://lore.kernel.org/r/4569c30533e14c22fae6c05070aad809720551c1.1718932493.git.tanggeliang@kylinos.cn Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
34ad6ec972
commit
08a5206240
@ -293,9 +293,14 @@ int connect_to_addr(int type, const struct sockaddr_storage *addr, socklen_t add
|
||||
if (settimeo(fd, opts->timeout_ms))
|
||||
goto error_close;
|
||||
|
||||
if (connect_fd_to_addr(fd, addr, addrlen, opts->must_fail))
|
||||
if (opts->post_socket_cb &&
|
||||
opts->post_socket_cb(fd, opts->cb_opts))
|
||||
goto error_close;
|
||||
|
||||
if (!opts->noconnect)
|
||||
if (connect_fd_to_addr(fd, addr, addrlen, opts->must_fail))
|
||||
goto error_close;
|
||||
|
||||
return fd;
|
||||
|
||||
error_close:
|
||||
@ -306,9 +311,7 @@ error_close:
|
||||
int connect_to_fd_opts(int server_fd, int type, const struct network_helper_opts *opts)
|
||||
{
|
||||
struct sockaddr_storage addr;
|
||||
struct sockaddr_in *addr_in;
|
||||
socklen_t addrlen;
|
||||
int fd;
|
||||
|
||||
if (!opts)
|
||||
opts = &default_opts;
|
||||
@ -319,29 +322,7 @@ int connect_to_fd_opts(int server_fd, int type, const struct network_helper_opts
|
||||
return -1;
|
||||
}
|
||||
|
||||
addr_in = (struct sockaddr_in *)&addr;
|
||||
fd = socket(addr_in->sin_family, type, opts->proto);
|
||||
if (fd < 0) {
|
||||
log_err("Failed to create client socket");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (settimeo(fd, opts->timeout_ms))
|
||||
goto error_close;
|
||||
|
||||
if (opts->post_socket_cb &&
|
||||
opts->post_socket_cb(fd, opts->cb_opts))
|
||||
goto error_close;
|
||||
|
||||
if (!opts->noconnect)
|
||||
if (connect_fd_to_addr(fd, &addr, addrlen, opts->must_fail))
|
||||
goto error_close;
|
||||
|
||||
return fd;
|
||||
|
||||
error_close:
|
||||
save_errno_close(fd);
|
||||
return -1;
|
||||
return connect_to_addr(type, &addr, addrlen, opts);
|
||||
}
|
||||
|
||||
int connect_to_fd(int server_fd, int timeout_ms)
|
||||
|
Loading…
x
Reference in New Issue
Block a user