diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/transport/plugin_transport_udp.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index b14e14357..ae710c73c 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c | |||
@@ -1847,10 +1847,31 @@ udp_select_send (struct Plugin *plugin, struct GNUNET_NETWORK_Handle *sock) | |||
1847 | 1847 | ||
1848 | if (GNUNET_SYSERR == sent) | 1848 | if (GNUNET_SYSERR == sent) |
1849 | { | 1849 | { |
1850 | LOG (GNUNET_ERROR_TYPE_ERROR, | 1850 | const struct GNUNET_ATS_Information type = plugin->env->get_address_type |
1851 | (plugin->env->cls,sa, slen); | ||
1852 | |||
1853 | if ((GNUNET_ATS_NET_WAN == type.value) && | ||
1854 | ((ENETUNREACH == errno) || (ENETDOWN == errno))) | ||
1855 | { | ||
1856 | /* "Network unreachable" or "Network down" */ | ||
1857 | /* | ||
1858 | * This indicates that this system is IPv6 enabled, but does not | ||
1859 | * have a valid global IPv6 address assigned | ||
1860 | */ | ||
1861 | LOG (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, | ||
1862 | _("UDP could not message to `%s': `%s'\n, " \ | ||
1863 | "Please check your network configuration and disable IPv6 if your\n" \ | ||
1864 | "connection does not have a global IPv6 address"), | ||
1865 | GNUNET_a2s (sa, slen), | ||
1866 | STRERROR (errno)); | ||
1867 | } | ||
1868 | else | ||
1869 | { | ||
1870 | LOG (GNUNET_ERROR_TYPE_ERROR, | ||
1851 | "UDP could not transmit %u-byte message to `%s': `%s'\n", | 1871 | "UDP could not transmit %u-byte message to `%s': `%s'\n", |
1852 | (unsigned int) (udpw->msg_size), GNUNET_a2s (sa, slen), | 1872 | (unsigned int) (udpw->msg_size), GNUNET_a2s (sa, slen), |
1853 | STRERROR (errno)); | 1873 | STRERROR (errno)); |
1874 | } | ||
1854 | call_continuation(udpw, GNUNET_SYSERR); | 1875 | call_continuation(udpw, GNUNET_SYSERR); |
1855 | } | 1876 | } |
1856 | else | 1877 | else |