IB/ipoib: Suppress warning for send only join failures
We expect send only joins to fail, it just means there are no listeners for the group. The correct thing to do is silently drop the packet at source. Eg avahi will full join 224.0.0.251 which causes a send only IGMP packet to 224.0.0.22, and then a warning level kmessage like this: ib0: sendonly multicast join failed for ff12:401b:ffff:0000:0000:0000:0000:0016, status -22 If there is no IP router listening to IGMP. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Родитель
c3acdc06a9
Коммит
d1178cbcdc
|
@ -393,8 +393,13 @@ static int ipoib_mcast_join_complete(int status,
|
|||
goto out_locked;
|
||||
}
|
||||
} else {
|
||||
if (mcast->logcount++ < 20) {
|
||||
if (status == -ETIMEDOUT || status == -EAGAIN) {
|
||||
bool silent_fail =
|
||||
test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags) &&
|
||||
status == -EINVAL;
|
||||
|
||||
if (mcast->logcount < 20) {
|
||||
if (status == -ETIMEDOUT || status == -EAGAIN ||
|
||||
silent_fail) {
|
||||
ipoib_dbg_mcast(priv, "%smulticast join failed for %pI6, status %d\n",
|
||||
test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags) ? "sendonly " : "",
|
||||
mcast->mcmember.mgid.raw, status);
|
||||
|
@ -403,6 +408,9 @@ static int ipoib_mcast_join_complete(int status,
|
|||
test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags) ? "sendonly " : "",
|
||||
mcast->mcmember.mgid.raw, status);
|
||||
}
|
||||
|
||||
if (!silent_fail)
|
||||
mcast->logcount++;
|
||||
}
|
||||
|
||||
if (test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags) &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче