Page MenuHomeFreeBSD

in6_mcast: Return EADDRINUSE when we've already joined the group
ClosedPublic

Authored by kp on May 4 2021, 7:47 PM.
Tags
None
Referenced Files
F102041831: D30111.diff
Wed, Nov 6, 9:23 PM
Unknown Object (File)
Sun, Oct 20, 6:02 PM
Unknown Object (File)
Fri, Oct 11, 4:57 AM
Unknown Object (File)
Fri, Oct 11, 4:56 AM
Unknown Object (File)
Fri, Oct 11, 4:56 AM
Unknown Object (File)
Fri, Oct 11, 4:23 AM
Unknown Object (File)
Oct 3 2024, 6:39 AM
Unknown Object (File)
Oct 2 2024, 7:18 PM

Details

Summary

Distinguish between truly invalid requests and those that fail because
we've already joined the group. Both cases fail, but differentiating
them allows userspace to make more informed decisions about what the
error means.

For example. radvd tries to join the all-routers group on every SIGHUP.
This fails, because it's already joined it, but this failure should be
ignored (rather than treated as a sign that the interface's multicast is
broken).

This puts us in line with OpenBSD, NetBSD and Linux.

MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable