diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2016-11-08 15:02:38 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2016-11-09 00:20:29 +0100 |
commit | e3d7c3e1545fcba6d14e2daef08da3400a136a32 (patch) | |
tree | a0a5dab416ab960f89c9636983817ecd7d10c4f7 /src | |
parent | bdda28b1f5ca80bba83313fa55eba4f144b9ad3e (diff) |
client: Prepare to work with a list of servers
There is no VTY code yet and no servers in the list but it looks
good client this.
Change-Id: Ic35748f1a95a880a9fa49dd18361592d8ac941ba
Diffstat (limited to 'src')
-rw-r--r-- | src/osmo_client_core.c | 6 | ||||
-rw-r--r-- | src/osmo_client_main.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/osmo_client_core.c b/src/osmo_client_core.c index 203e6a2..b2010a9 100644 --- a/src/osmo_client_core.c +++ b/src/osmo_client_core.c @@ -155,6 +155,7 @@ static int forward_packet( static int pcap_read_cb(struct osmo_fd *fd, unsigned int what) { struct osmo_pcap_client *client = fd->data; + struct osmo_pcap_client_conn *conn; struct pcap_pkthdr hdr; const u_char *data; @@ -168,6 +169,8 @@ static int pcap_read_cb(struct osmo_fd *fd, unsigned int what) return 0; osmo_client_send_data(&client->conn, &hdr, data); + llist_for_each_entry(conn, &client->conns, entry) + osmo_client_send_data(conn, &hdr, data); return 0; } @@ -272,6 +275,7 @@ static void free_all(struct osmo_pcap_client *client) int osmo_client_capture(struct osmo_pcap_client *client, const char *device) { + struct osmo_pcap_client_conn *conn; int fd; talloc_free(client->device); @@ -316,6 +320,8 @@ int osmo_client_capture(struct osmo_pcap_client *client, const char *device) pcap_check_stats_cb(client); osmo_client_send_link(&client->conn); + llist_for_each_entry(conn, &client->conns, entry) + osmo_client_send_link(conn); if (client->filter_string) { osmo_install_filter(client); diff --git a/src/osmo_client_main.c b/src/osmo_client_main.c index 694470e..0d48e1b 100644 --- a/src/osmo_client_main.c +++ b/src/osmo_client_main.c @@ -222,6 +222,7 @@ int main(int argc, char **argv) vty_client_init(pcap_client); /* initialize the queue */ + INIT_LLIST_HEAD(&pcap_client->conns); pcap_client->conn.client = pcap_client; osmo_wqueue_init(&pcap_client->conn.wqueue, 10); pcap_client->conn.wqueue.bfd.fd = -1; |