[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

KInfoCenter Network Interfaces doesn't show all active interfaces



In kinfocenter, all three amd64 machines I have access to fail to display network interface information about eth0 and eth1, while lo and vmnet1 are shown. On i386, all interfaces are shown correctly. I reported this bug upstream at http://bugs.kde.org/show_bug.cgi?id=125263. Strace shows eth0 is detected, but the loop exits before the device is added to the list. Helge Deller, the upstream maintainer, pinpoints the problem to kdebase/kcontrol/nics/nic.cpp around line 169:

  for (char* ptr = buf; ptr < buf + ifc.ifc_len; )
  {
     struct ifreq *ifr =(struct ifreq *) ptr;
     int len = sizeof(struct sockaddr);
#ifdef  HAVE_STRUCT_SOCKADDR_SA_LEN
     if (ifr->ifr_addr.sa_len > len)
        len = ifr->ifr_addr.sa_len;            /* length > 16 */
#endif
     ptr += sizeof(ifr->ifr_name) + len;       /* for next one in buffer */

However, he doesn't have amd64 hardware and I would rather not fly blind. Can someone confirm amd64 will fail at this location and suggest a fix?

David



Reply to: