Hello list,
We have been running 4.9 and using freevrrpd 0.9.3, which worked great,
- the latest in the ports tree. We are switching
to 6.1 released and we now get the the following error from freevrrpd:
freevrrpd[6241]: cannot do ioctl, intertface is faulty: Device not
configured
This is a bogus message since the interface is configured up and running.
What changed in 6.1 to cause this?
The message comes from the following code in freevrrpd:
int vrrp_moncircuit_interface_status(int sd, char *if_name)
{
struct ifmediareq ifmr;
if (sd < 0) {
syslog(LOG_ERR, "socket descriptor must be != -1");
return -1;
}
bzero(&ifmr, sizeof(ifmr));
strncpy(ifmr.ifm_name, if_name, sizeof(ifmr.ifm_name));
if (ioctl(sd, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) {
if (errno == EINVAL) {
syslog(LOG_ERR, "your NIC doesn't support SIOCGIFMEDIA
ioctl: %s", strerror(errno));
return -3;
}
else
syslog(LOG_ERR, "cannot do ioctl, intertface is faulty:
%s",
strerror(errno));
return -2;
}
if (ifmr.ifm_status & IFM_AVALID) {
if (ifmr.ifm_status & IFM_ACTIVE)
return 1;
else
return 0;
}
/* Interface has no carrier cable problem ? */
return 0;
}
Any help on this would be greatly appreciated.
Thanks,
Steve
--
"They that give up essential liberty to obtain temporary safety,
deserve neither liberty nor safety." (Ben Franklin)
"The course of history shows that as a government grows, liberty
decreases." (Thomas Jefferson)
Update: We reverted to freevrrpd 0.8.7 which seems to work. Steve Stephen Clark wrote:>Hello list, > >We have been running 4.9 and using freevrrpd 0.9.3, which worked great, >- the latest in the ports tree. We are switching >to 6.1 released and we now get the the following error from freevrrpd: >freevrrpd[6241]: cannot do ioctl, intertface is faulty: Device not >configured > >This is a bogus message since the interface is configured up and running. >What changed in 6.1 to cause this? > >The message comes from the following code in freevrrpd: > >int vrrp_moncircuit_interface_status(int sd, char *if_name) >{ > struct ifmediareq ifmr; > > if (sd < 0) { > syslog(LOG_ERR, "socket descriptor must be != -1"); > return -1; > } > bzero(&ifmr, sizeof(ifmr)); > strncpy(ifmr.ifm_name, if_name, sizeof(ifmr.ifm_name)); > > if (ioctl(sd, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) { > if (errno == EINVAL) { > syslog(LOG_ERR, "your NIC doesn't support SIOCGIFMEDIA >ioctl: %s", strerror(errno)); > return -3; > } > else > syslog(LOG_ERR, "cannot do ioctl, intertface is faulty: %s", >strerror(errno)); > return -2; > } > > if (ifmr.ifm_status & IFM_AVALID) { > if (ifmr.ifm_status & IFM_ACTIVE) > return 1; > else > return 0; > } > > /* Interface has no carrier cable problem ? */ > return 0; >} > >Any help on this would be greatly appreciated. > >Thanks, >Steve > > >-- "They that give up essential liberty to obtain temporary safety, deserve neither liberty nor safety." (Ben Franklin) "The course of history shows that as a government grows, liberty decreases." (Thomas Jefferson)