I do not use vrrpd but keepalived and have the same problem. The process cannot open the socket to send the multicast VRRP keepalive messages:
Jun 4 14:10:21 keepalived1 Keepalived_vrrp: cant open raw socket. errno=97
[pid 32119] socket(PF_INET, SOCK_RAW, 0x70 /* IPPROTO_??? */) = -1 EAFNOSUPPORT (Address family not supported by protocol)
I am using 2.6.18-8.1.3.el5.028stab033.1
PS: /etc/protocols: 0x70 == 112 == VRRP
PPS: I think here is the "problem" (net/socket.c):
int vz_security_proto_check(int family, int type, int protocol)
...
switch (family) {
case PF_UNSPEC:
case PF_PACKET:
case PF_NETLINK:
case PF_UNIX:
break;
case PF_INET:
switch (protocol) {
case IPPROTO_IP:
case IPPROTO_ICMP:
case IPPROTO_TCP:
case IPPROTO_UDP:
case IPPROTO_RAW:
break;
default:
return -EAFNOSUPPORT;
}
break;
...
Is this really only a security check (you can only open sockets with protocl == 0(ip), 1(icmp), 6(tcp), 17(udp), 255(??) inside a VE)? Shouldn't this be configurable (with a Capability or so?)?
[Updated on: Tue, 05 June 2007 08:43]
Report message to a moderator