potrzebuje użyć
Kod: Zaznacz cały
vrrpd -m eth1
Kod: Zaznacz cały
SIOCGMIIPHY on eth1 failed: Operation not supported
Kod: Zaznacz cały
--- vrrpd-old.c 2006-04-26 18:10:37.000000000 +0200
+++ vrrpd.c 2006-04-26 18:11:46.000000000 +0200
@@ -113,6 +113,7 @@
int skfd[MAXINTS]; /* AF_INET socket for ioctl() calls. */
struct ifreq ifr[MAXINTS];
char *ifname[MAXINTS];
+int new_ioctl_nums;
/***********************
NAME : print_buffer 01/05/23 12:26:27
@@ -1784,7 +1785,7 @@
data[0] = phy_id;
data[1] = location;
- if ( ioctl( skfd[i], SIOCGMIIREG, &ifr[i] ) < 0 ) {
+ if ( ioctl( skfd[i], new_ioctl_nums ? 0x8948 : SIOCGMIIREG, &ifr[i] ) < 0 ) {
fprintf( stderr, "SIOCGMIIREG on %s failed: %s\n", ifr[i].ifr_name,
strerror( errno ));
return -1;
@@ -1806,12 +1807,18 @@
}
/* Get the vitals from the interface. */
strncpy( ifr[i].ifr_name, ifname[i], IFNAMSIZ );
- if ( ioctl( skfd[i], SIOCGMIIPHY, &ifr[i]) < 0 ) {
+ if (ioctl(skfd[i], 0x8947, &ifr[i]) >= 0) {
+ new_ioctl_nums=1;
+ }
+ else if ( ioctl( skfd[i], SIOCGMIIPHY, &ifr[i]) >= 0 ) {
+ new_ioctl_nums=0;
+ } else
+ {
fprintf( stderr, "SIOCGMIIPHY on %s failed: %s\n", ifname[i],
strerror( errno ));
(void) close( skfd[i] );
exit( -1 );
- }
+ }
}
/******************
Kod: Zaznacz cały
path <pacz.diff
Kod: Zaznacz cały
patching file vrrpd.c
Hunk #1 FAILED at 113.
Hunk #2 FAILED at 1785.
Hunk #3 FAILED at 1807.
3 out of 3 hunks FAILED -- saving rejects to file vrrpd.c.rej
tutaj są źródełka vrrpd_1.0, pacz vrrpd_1.0-1. Proszę o pomoc. Mile widziana paczka deb. Jeśli to nie jest zbyt wiele roboty, ale zadowolę się również spaczowanymi źródłami.
pozdr.
.