Blackhole info?

Anyone ever come across blackhole info as in:-

[rtsock] fill_blackholeinfo: PID 13413: Unable to find ifa for blackhole/reject nhop

Something weird keeps happening on my ThinkPad X1 Carbon Gen 1 and networking ceases to work reliably.

Any ideas as to where to look?

The only I can find any reference to subject is in route() but it's all goobledygook to me.
 
Re: can't add a /24 blackhole route with a /32 loopback


In function fill_blackholeinfo(struct rt_addrinfo *info, union sockaddr_union *saun) in /sys/net/rtsock.c
Code:
     if (info->rti_ifa == NULL) {
         RTS_PID_LOG(LOG_INFO, "Unable to find ifa for blackhole/reject nhop");
         return (ENOTSUP);
     }
The entire function
Code:
 static int
 fill_blackholeinfo(struct rt_addrinfo *info, union sockaddr_union *saun)
 {
     struct ifaddr *ifa;
     sa_family_t saf;
 
     if (V_loif == NULL) {
         RTS_PID_LOG(LOG_INFO, "Unable to add blackhole/reject nhop without loopback");
         return (ENOTSUP);
     }
     info->rti_ifp = V_loif;
 
     saf = info->rti_info[RTAX_DST]->sa_family;
 
     CK_STAILQ_FOREACH(ifa, &info->rti_ifp->if_addrhead, ifa_link) {
         if (ifa->ifa_addr->sa_family == saf) {
             info->rti_ifa = ifa;
             break;
         }
     }
     if (info->rti_ifa == NULL) {
         RTS_PID_LOG(LOG_INFO, "Unable to find ifa for blackhole/reject nhop");
         return (ENOTSUP);
     }
 
     bzero(saun, sizeof(union sockaddr_union));
     switch (saf) {
 #ifdef INET
     case AF_INET:
         saun->sin.sin_family = AF_INET;
         saun->sin.sin_len = sizeof(struct sockaddr_in);
         saun->sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
         break;
 #endif
 #ifdef INET6
     case AF_INET6:
         saun->sin6.sin6_family = AF_INET6;
         saun->sin6.sin6_len = sizeof(struct sockaddr_in6);
         saun->sin6.sin6_addr = in6addr_loopback;
         break;
 #endif
     default:
         RTS_PID_LOG(LOG_INFO, "unsupported family: %d", saf);
         return (ENOTSUP);
     }
     info->rti_info[RTAX_GATEWAY] = &saun->sa;
     info->rti_flags |= RTF_GATEWAY;
 
     return (0);
 }
 
Back
Top