gtphub: don't always try to do GGSN resolution.
If a GGSN is already known from unmapping, don't invoke a host resolution.
In a live working environment, it wouldn't hurt, because the lookups would
mostly return from the cache. But in a testing environment without a name
server, it barfs on every packet.
Sponsored-by: On-Waves ehi
diff --git a/openbsc/src/gprs/gtphub_ext.c b/openbsc/src/gprs/gtphub_ext.c
index 98a9a40..81c4c12 100644
--- a/openbsc/src/gprs/gtphub_ext.c
+++ b/openbsc/src/gprs/gtphub_ext.c
@@ -98,7 +98,7 @@
resolved_addr.len = hostent->h_length;
LOGP(DGTPHUB, LOGL_NOTICE, "resolved addr %s\n",
- osmo_hexdump(&resolved_addr, sizeof(resolved_addr)));
+ osmo_hexdump((unsigned char*)&resolved_addr, sizeof(resolved_addr)));
gtphub_resolved_ggsn(lookup->hub, lookup->apn_oi_str, &resolved_addr,
gtphub_now());
@@ -197,7 +197,10 @@
expiry_add(&hub->expire_seq_maps, &lookup->expiry_entry, gtphub_now());
start_ares_query(lookup);
- LOGP(DGTPHUB, LOGL_NOTICE, "resolution started.\n");
+ LOGP(DGTPHUB, LOGL_NOTICE, "Resolving %s %s ..."
+ " (Returning failure, hoping for a retry"
+ "once resolution has concluded)\n",
+ imsi_str, apn_ni_str);
return NULL;
}