Bug 727308

Summary: dhcp_probe fails to get ip address for interface on 64-bit platform
Product: [Fedora] Fedora Reporter: Carl Byington <carl>
Component: dhcp_probeAssignee: Daniel Bruno <dbruno>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: bugs.michael, dbruno, fedora, guillermo.gomez
Target Milestone: ---Keywords: Reopened, Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-18 01:28:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Carl Byington 2011-08-01 19:14:20 UTC
Description of problem:
Seems to have problems detecting ip address on em1

Version-Release number of selected component (if applicable):
dhcp_probe.x86_64 1.3.0-8.fc15

How reproducible:
always

Steps to Reproduce:
1.yum install dhcp_probe
2.service dhcp_probe start
3.
  
Actual results:
Aug  1 11:49:51 media3 dhcp_probe[27320]: get_myipaddr: couldn't locate interface em1
Aug  1 11:49:51 media3 dhcp_probe[27320]: couldn't determine IP addr for interface em1
Aug  1 11:49:51 media3 dhcp_probe[27320]: exiting


Expected results:


Additional info:
em1 on this system is handled by dhclient, but it has a valid ip address from the dhcp server. em1 is the only ethernet interface on this system.

2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 84:2b:2b:95:37:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.12/24 brd 192.168.1.255 scope global em1

Comment 1 Michael Schwendt 2012-05-17 17:10:57 UTC
I've run into the same problem with Fedora 17 and the p37p1 interface:

# dhcp_probe p37p1 -d 255 -f
note:   starting, version 1.3.0
info:   read_configfile: starting
info:   read_configfile: done
error:  get_myipaddr: couldn't locate interface p37p1
error:  couldn't determine IP addr for interface p37p1
note:   exiting

Comment 2 Michael Schwendt 2012-05-17 17:45:14 UTC
src/get_myipaddr.c:

   120                  /* increment ptr to next interface for next time through the loop */
   121  #ifdef __ARCH__ /* Debian GNU/Linux behavior for packaging goal */
   122                  switch(__ARCH__) {
   123                          case 32:        /* 32 bits architectures */
   124                                  ptr += sizeof(ifr->ifr_name) + len;
   125                                  break;
   126                          case 64:        /* 64 bits architectures */
   127                                  ptr += sizeof(struct ifreq);
   128                                  break;
   129                          default:        /* Default dhcp_probe behavior */
   130                                  ptr += sizeof(ifr->ifr_name) + len;
   131                                  break;
   132                  }
   133  #else   /* Default dhcp_probe behavior */
   134                  ptr += sizeof(ifr->ifr_name) + len;
   135  #endif

The __ARCH__ here is undefined. Hence the code takes the "else" path, which is wrong, because the next struct is at +sizeof(struct ifreq) as in the "64"-case.

Please investigate whether this is just a packaging mistake.

Comment 3 Michael Schwendt 2012-05-17 17:58:06 UTC
Indeed. The Debian package defines that value:

  CFLAGS += -D__ARCH__=$(DEB_HOST_ARCH_BITS)

More can be read in the related patch file.

Comment 4 Fedora End Of Life 2012-08-07 15:57:25 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 Fedora Update System 2012-08-07 20:14:45 UTC
dhcp_probe-1.3.0-12.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/dhcp_probe-1.3.0-12.fc17

Comment 6 Fedora Update System 2012-08-09 23:18:49 UTC
Package dhcp_probe-1.3.0-12.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dhcp_probe-1.3.0-12.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-11635/dhcp_probe-1.3.0-12.fc17
then log in and leave karma (feedback).

Comment 7 Fedora Update System 2012-08-18 01:28:14 UTC
dhcp_probe-1.3.0-12.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.