Bug 472200 - IPv6 sendto fails EADDRNOTAVAIL when there are bound sockets to the same multicast address
IPv6 sendto fails EADDRNOTAVAIL when there are bound sockets to the same mult...
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
medium Severity medium
: rc
: ---
Assigned To: Thomas Graf
Martin Jenner
Depends On:
  Show dependency treegraph
Reported: 2008-11-19 06:20 EST by Pekka Savola
Modified: 2014-06-18 04:29 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-05-10 08:46:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Pekka Savola 2008-11-19 06:20:38 EST
Description of problem:
On, RHEL4 IPv6 sendto to a multicast fails with EADDRNOTAVAIL when there are bind()'ed sockets to the same multicast address.

This works in RHEL5  kernel-2.6.18-92.1.13.el5 and Fedora 9 kernel.
IPv4 also appears to work.

Version-Release number of selected component (if applicable):

How reproducible:

Download ttcp from http://netcore.fi/pekkas/linux/ipv6/ttcp.c, compile it.
The prerequisites are that there is some ipv6 connectivity (at least ff00::/8 route exists) and that ip6tables is disabled (or at least packets to ff00::/8 are accepted).

Steps to Reproduce:
1. start two ipv6 multicast receivers: 'ttcp -r ff05::1 -u -p 1234 -I eth0 &' and 'ttcp -r ff05::2 -u -p 1234 -I eth0 &'
2. try to send to the group: 'ttcp -t ff05::2 -u -p 1234 -I eth0', type in something and hit enter (here tested 'aaa').

Actual results:
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=1234  udp  -> ff05::1234
ttcp-t: socket
ttcp-t: IO: Cannot assign requested address

Expected results:
No error printed.  'aaa' is echoed by the ttcp process set to receive the multicast group.

Additional info:
The expected state of bound sockets after reproduce step 1 is:

$ netstat -an | grep 1234
udp        0      0 ff05::2:1234                :::*
udp        0      0 ff05::1:1234                :::*
$ netstat -gn | grep ff05
eth0            1      ff05::2
eth0            1      ff05::1

sendto failure looks like:

sendto(3, "aaa\n", 4, 0, {sa_family=AF_INET6, sin6_port=htons(1234), inet_pton(AF_INET6, "ff05::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EADDRNOTAVAIL (Cannot assign requested address)

See comment #46 in bug number #231899 for some background.
Comment 1 Thomas Graf 2012-05-10 08:46:50 EDT
RHEL4 has entered the Extended Life Phase. There will be no more minor releases.

I'm closing this bug due to inactivity.

Please reopen and provide an explanation if you need this issue to be addressed in a RHEL4. Please note that only security and critical bugfixes are considered at this point.

Note You need to log in before you can comment on or make changes to this bug.