From 571db1485179e0750e97fa5aa593237a7d554f87 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 25 Oct 2014 19:22:01 +0100 Subject: [PATCH] udp: Print more info in our comm_addr representations Include an index number (starting at 0) and the line number (but not filename) at which we were defined. This is allows the user to more easily see (for example) which comm_addrs actually belong to the same udp, even if they might have a different ix and thus be reported with different local addresses. Signed-off-by: Ian Jackson --- udp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/udp.c b/udp.c index dde73ef..26853b7 100644 --- a/udp.c +++ b/udp.c @@ -31,6 +31,7 @@ struct udp { struct udpcommon uc; struct udpsocks socks; bool_t addr_configured; + unsigned counter; }; /* @@ -53,7 +54,8 @@ static const char *udp_addr_to_string(void *commst, const struct comm_addr *ca) int ix=ca->ix>=0 ? ca->ix : 0; assert(ix>=0 && ixn_socks); - snprintf(sbuf, sizeof(sbuf), "udp:%s%s-%s", + snprintf(sbuf, sizeof(sbuf), "udp#%u@l%d:%s%s-%s", + st->counter, st->uc.cc.loc.line, iaddr_to_string(&socks->socks[ix].addr), ca->ix<0 && socks->n_socks>1 ? "&" : "", iaddr_to_string(&ca->ia)); @@ -414,6 +416,8 @@ static void udp_phase_hook(void *sst, uint32_t new_phase) static list_t *udp_apply(closure_t *self, struct cloc loc, dict_t *context, list_t *args) { + static unsigned counter; + struct udp *st; list_t *caddrl; list_t *l; @@ -428,6 +432,8 @@ static list_t *udp_apply(closure_t *self, struct cloc loc, dict_t *context, struct udpsocks *socks=&st->socks; struct commcommon *cc=&uc->cc; + st->counter=counter++; + union iaddr defaultaddrs[] = { #ifdef CONFIG_IPV6 { .sin6 = { .sin6_family=AF_INET6, -- 2.30.2