From 5970890faebdaf3138541b129bb3233ad9cf95cf Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 28 Feb 2018 06:31:26 +1030 Subject: [PATCH] gossipd: use status levels for unusual reporting. Now we have them, let's use them. I missed one case deliberately, since that causes merge conflicts when I replace it in a following patch. Signed-off-by: Rusty Russell --- gossipd/gossip.c | 54 ++++++++++++++++++++++----------------------- gossipd/handshake.c | 12 +++++----- gossipd/routing.c | 53 ++++++++++++++++++++++---------------------- 3 files changed, 59 insertions(+), 60 deletions(-) diff --git a/gossipd/gossip.c b/gossipd/gossip.c index 8d9e70847..2721c087b 100644 --- a/gossipd/gossip.c +++ b/gossipd/gossip.c @@ -1223,20 +1223,20 @@ static int make_listen_fd(int domain, void *addr, socklen_t len, bool reportfail /* Re-use, please.. */ if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on))) - status_trace("Failed setting socket reuse: %s", - strerror(errno)); + status_unusual("Failed setting socket reuse: %s", + strerror(errno)); if (bind(fd, addr, len) != 0) { if (reportfail) - status_trace("Failed to bind on %u socket: %s", - domain, strerror(errno)); + status_broken("Failed to bind on %u socket: %s", + domain, strerror(errno)); goto fail; } } if (listen(fd, 5) != 0) { - status_trace("Failed to listen on %u socket: %s", - domain, strerror(errno)); + status_broken("Failed to listen on %u socket: %s", + domain, strerror(errno)); goto fail; } return fd; @@ -1386,7 +1386,8 @@ static struct io_plan *connection_in(struct io_conn *conn, struct daemon *daemon socklen_t len = sizeof(s); if (getpeername(io_conn_fd(conn), (struct sockaddr *)&s, &len) != 0) { - status_trace("Failed to get peername for incoming conn"); + status_unusual("Failed to get peername for incoming conn: %s", + strerror(errno)); return io_close(conn); } @@ -1404,9 +1405,9 @@ static struct io_plan *connection_in(struct io_conn *conn, struct daemon *daemon BUILD_ASSERT(sizeof(s4->sin_addr) <= sizeof(addr.addr)); memcpy(addr.addr, &s4->sin_addr, addr.addrlen); addr.port = ntohs(s4->sin_port); - } else { - status_trace("Unknown socket type %i for incoming conn", - s.ss_family); + } else { + status_broken("Unknown socket type %i for incoming conn", + s.ss_family); return io_close(conn); } @@ -1423,7 +1424,7 @@ static void setup_listeners(struct daemon *daemon, u16 portnum) int fd1, fd2; if (!portnum) { - status_trace("Zero portnum, not listening for incoming"); + status_info("Zero portnum, not listening for incoming"); return; } @@ -1444,8 +1445,8 @@ static void setup_listeners(struct daemon *daemon, u16 portnum) len = sizeof(in6); if (getsockname(fd1, (void *)&in6, &len) != 0) { - status_trace("Failed get IPv6 sockname: %s", - strerror(errno)); + status_broken("Failed get IPv6 sockname: %s", + strerror(errno)); close_noerr(fd1); fd1 = -1; } else { @@ -1462,8 +1463,8 @@ static void setup_listeners(struct daemon *daemon, u16 portnum) if (fd2 >= 0) { len = sizeof(addr); if (getsockname(fd2, (void *)&addr, &len) != 0) { - status_trace("Failed get IPv4 sockname: %s", - strerror(errno)); + status_broken("Failed get IPv4 sockname: %s", + strerror(errno)); close_noerr(fd2); fd2 = -1; } else { @@ -1568,9 +1569,9 @@ static void connect_failed(struct io_conn *conn, struct reaching *reach) reach->attempts++; if (reach->attempts >= reach->max_attempts) { - status_trace("Failed to connect after %d attempts, giving up " - "after %d seconds", - reach->attempts, diff); + status_info("Failed to connect after %d attempts, giving up " + "after %d seconds", + reach->attempts, diff); daemon_conn_send( &reach->daemon->master, take(towire_gossip_peer_connection_failed( @@ -1641,9 +1642,8 @@ static void try_connect(struct reaching *reach) a = find_addrhint(reach->daemon, &reach->id); if (!a) { /* FIXME: now try node table, dns lookups... */ - /* FIXME: add reach_failed message */ - status_trace("No address known for %s, giving up", - type_to_string(trc, struct pubkey, &reach->id)); + status_info("No address known for %s, giving up", + type_to_string(trc, struct pubkey, &reach->id)); daemon_conn_send( &reach->daemon->master, take(towire_gossip_peer_connection_failed( @@ -1669,10 +1669,10 @@ static void try_connect(struct reaching *reach) } if (fd < 0) { - status_trace("Can't open %i socket for %s (%s), giving up", - a->addr.type, - type_to_string(trc, struct pubkey, &reach->id), - strerror(errno)); + status_broken("Can't open %i socket for %s (%s), giving up", + a->addr.type, + type_to_string(trc, struct pubkey, &reach->id), + strerror(errno)); tal_free(reach); return; } @@ -1812,8 +1812,8 @@ static struct io_plan *handle_disable_channel(struct io_conn *conn, u64 htlc_minimum_msat; if (!fromwire_gossip_disable_channel(msg, &scid, &direction, &active) ) { - status_trace("Unable to parse %s", - gossip_wire_type_name(fromwire_peektype(msg))); + status_unusual("Unable to parse %s", + gossip_wire_type_name(fromwire_peektype(msg))); goto fail; } diff --git a/gossipd/handshake.c b/gossipd/handshake.c index 02f9207c0..7d0cbb9fd 100644 --- a/gossipd/handshake.c +++ b/gossipd/handshake.c @@ -447,7 +447,7 @@ static struct io_plan *act_three_initiator(struct io_conn *conn, u8 spub[PUBKEY_DER_LEN]; size_t len = sizeof(spub); - status_trace("Initiator: Act 3"); + SUPERVERBOSE("Initiator: Act 3"); /* BOLT #8: * * `c = encryptWithAD(temp_k2, 1, h, s.pub.serializeCompressed())` @@ -589,7 +589,7 @@ static struct io_plan *act_two_initiator2(struct io_conn *conn, static struct io_plan *act_two_initiator(struct io_conn *conn, struct handshake *h) { - status_trace("Initiator: Act 2"); + SUPERVERBOSE("Initiator: Act 2"); /* BOLT #8: * @@ -609,7 +609,7 @@ static struct io_plan *act_one_initiator(struct io_conn *conn, { size_t len; - status_trace("Initiator: Act 1"); + SUPERVERBOSE("Initiator: Act 1"); /* BOLT #8: * @@ -770,7 +770,7 @@ static struct io_plan *act_three_responder2(struct io_conn *conn, static struct io_plan *act_three_responder(struct io_conn *conn, struct handshake *h) { - status_trace("Responder: Act 3"); + SUPERVERBOSE("Responder: Act 3"); /* BOLT #8: * @@ -786,7 +786,7 @@ static struct io_plan *act_two_responder(struct io_conn *conn, { size_t len; - status_trace("Responder: Act 2"); + SUPERVERBOSE("Responder: Act 2"); /* BOLT #8: * @@ -946,7 +946,7 @@ static struct io_plan *act_one_responder(struct io_conn *conn, struct handshake *h) { - status_trace("Responder: Act 1"); + SUPERVERBOSE("Responder: Act 1"); /* BOLT #8: * diff --git a/gossipd/routing.c b/gossipd/routing.c index 235b1380a..f2fb92762 100644 --- a/gossipd/routing.c +++ b/gossipd/routing.c @@ -414,22 +414,22 @@ find_route(const tal_t *ctx, struct routing_state *rstate, src = get_node(rstate, to); if (!src) { - status_trace("find_route: cannot find %s", - type_to_string(trc, struct pubkey, to)); + status_info("find_route: cannot find %s", + type_to_string(trc, struct pubkey, to)); return NULL; } else if (!dst) { - status_trace("find_route: cannot find myself (%s)", - type_to_string(trc, struct pubkey, to)); + status_info("find_route: cannot find myself (%s)", + type_to_string(trc, struct pubkey, to)); return NULL; } else if (dst == src) { - status_trace("find_route: this is %s, refusing to create empty route", - type_to_string(trc, struct pubkey, to)); + status_info("find_route: this is %s, refusing to create empty route", + type_to_string(trc, struct pubkey, to)); return NULL; } if (msatoshi >= MAX_MSATOSHI) { - status_trace("find_route: can't route huge amount %"PRIu64, - msatoshi); + status_info("find_route: can't route huge amount %"PRIu64, + msatoshi); return NULL; } @@ -1248,10 +1248,9 @@ void routing_failure(struct routing_state *rstate, node = get_node(rstate, erring_node_pubkey); if (!node) { - status_trace("UNUSUAL routing_failure: " - "Erring node %s not in map", - type_to_string(tmpctx, struct pubkey, - erring_node_pubkey)); + status_unusual("routing_failure: Erring node %s not in map", + type_to_string(tmpctx, struct pubkey, + erring_node_pubkey)); /* No node, so no channel, so any channel_update * can also be ignored. */ goto out; @@ -1294,27 +1293,27 @@ void routing_failure(struct routing_state *rstate, if (structeq(&erring_node_pubkey->pubkey, &rstate->local_id.pubkey)) goto out; - status_trace("UNUSUAL routing_failure: " - "UPDATE bit set, no channel_update. " - "failcode: 0x%04x", - (int) failcode); + status_unusual("routing_failure: " + "UPDATE bit set, no channel_update. " + "failcode: 0x%04x", + (int) failcode); goto out; } t = fromwire_peektype(channel_update); if (t != WIRE_CHANNEL_UPDATE) { - status_trace("UNUSUAL routing_failure: " - "not a channel_update. " - "type: %d", - (int) t); + status_unusual("routing_failure: " + "not a channel_update. " + "type: %d", + (int) t); goto out; } handle_channel_update(rstate, channel_update); } else { if (tal_len(channel_update) != 0) - status_trace("UNUSUAL routing_failure: " - "UPDATE bit clear, channel_update given. " - "failcode: 0x%04x", - (int) failcode); + status_unusual("routing_failure: " + "UPDATE bit clear, channel_update given. " + "failcode: 0x%04x", + (int) failcode); } out: @@ -1337,9 +1336,9 @@ void mark_channel_unroutable(struct routing_state *rstate, short_channel_id_to_uint(channel)); if (!chan) { - status_trace("UNUSUAL mark_channel_unroutable: " - "channel %s not in routemap", - scid); + status_unusual("mark_channel_unroutable: " + "channel %s not in routemap", + scid); tal_free(tmpctx); return; }