Use osmo_fd_setup() whenever applicable

Change-Id: I02097760e7c6a5694290f4b877013aee9d92fd0e
This commit is contained in:
Harald Welte 2020-10-19 13:06:44 +02:00
parent 20c6ba5a9e
commit a9600141b8
3 changed files with 7 additions and 17 deletions

View File

@ -305,10 +305,7 @@ int osmo_client_capture(struct osmo_pcap_client *client, const char *device)
return 3;
}
client->fd.fd = fd;
client->fd.when = OSMO_FD_READ;
client->fd.cb = pcap_read_cb;
client->fd.data = client;
osmo_fd_setup(&client->fd, fd, OSMO_FD_READ, pcap_read_cb, client, 0);
if (osmo_fd_register(&client->fd) != 0) {
LOGP(DCLIENT, LOGL_ERROR,
"Failed to register the fd.\n");

View File

@ -267,6 +267,7 @@ void osmo_client_connect(struct osmo_pcap_client_conn *conn)
int rc;
uint16_t srv_port;
int sock_type, sock_proto;
unsigned int when;
osmo_client_disconnect(conn);
@ -279,18 +280,20 @@ void osmo_client_connect(struct osmo_pcap_client_conn *conn)
srv_port = conn->srv_port;
sock_type = SOCK_STREAM;
sock_proto = IPPROTO_TCP;
when = OSMO_FD_READ | OSMO_FD_WRITE;
break;
case PROTOCOL_IPIP:
srv_port = 0;
sock_type = SOCK_RAW;
sock_proto = IPPROTO_IPIP;
conn->wqueue.bfd.when = OSMO_FD_WRITE;
when = OSMO_FD_WRITE;
break;
default:
OSMO_ASSERT(0);
break;
}
osmo_fd_setup(&conn->wqueue.bfd, -1, when, conn_cb, conn, 0);
rc = osmo_sock_init2_ofd(&conn->wqueue.bfd, AF_INET, sock_type, sock_proto,
conn->source_ip, 0, conn->srv_ip, srv_port,
OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT | OSMO_SOCK_F_NONBLOCK);
@ -303,12 +306,6 @@ void osmo_client_connect(struct osmo_pcap_client_conn *conn)
}
rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_CONNECT]);
conn->wqueue.bfd.cb = conn_cb;
conn->wqueue.bfd.data = conn;
if (conn->protocol == PROTOCOL_IPIP)
conn->wqueue.bfd.when = OSMO_FD_WRITE;
else
conn->wqueue.bfd.when = OSMO_FD_READ | OSMO_FD_WRITE;
}
void osmo_client_reconnect(struct osmo_pcap_client_conn *conn)

View File

@ -435,9 +435,7 @@ bool osmo_tls_init_server_session(struct osmo_pcap_conn *conn,
gnutls_transport_set_int(sess->session, wq->bfd.fd);
gnutls_handshake_set_timeout(sess->session,
GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);
wq->bfd.cb = osmo_tls_client_bfd_cb;
wq->bfd.data = sess;
wq->bfd.when = OSMO_FD_READ | OSMO_FD_WRITE;
osmo_fd_setup(&wq->bfd, wq->bfd.fd, OSMO_FD_READ | OSMO_FD_WRITE, osmo_tls_client_bfd_cb, sess, 0);
sess->need_handshake = true;
sess->wqueue = wq;
return true;
@ -531,9 +529,7 @@ bool osmo_tls_init_client_session(struct osmo_pcap_client_conn *client)
gnutls_transport_set_int(sess->session, wq->bfd.fd);
gnutls_handshake_set_timeout(sess->session,
GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);
wq->bfd.cb = osmo_tls_client_bfd_cb;
wq->bfd.data = sess;
wq->bfd.when = OSMO_FD_READ | OSMO_FD_WRITE;
osmo_fd_setup(&wq->bfd, wq->bfd.fd, OSMO_FD_READ | OSMO_FD_WRITE, osmo_tls_client_bfd_cb, sess, 0);
sess->need_handshake = true;
sess->wqueue = wq;
return true;