On 6/25/24 7:42 AM, Geliang Tang wrote:
[...]
+static int make_server(int sotype, const char *ip, int port,
+ struct bpf_program *reuseport_prog)
+{
+ struct cb_opts cb_opts = {
+ .family = is_ipv6(ip) ? AF_INET6 : AF_INET,
+ .sotype = sotype,
+ .reuseport = reuseport_prog,
+ };
+ struct network_helper_opts opts = {
+ .backlog = SOMAXCONN,
+ .post_socket_cb = setsockopts,
+ .cb_opts = &cb_opts,
+ };
+ int err, fd = -1;
nit: fd doesn't need init given you call start_server_str right away
+ fd = start_server_str(cb_opts.family, sotype, ip, port, &opts);
+ if (CHECK(fd < 0, "start_server_addr", "failed\n"))
if (!ASSERT_GE(fd, 0, "start_server_str"))
+ return -1;
/* Late attach reuseport prog so we can have one init path */
if (reuseport_prog) {
Rest of the series LGTM.
Thanks,
Daniel