From patchwork Sun Jun 16 21:20:34 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Linus_L=C3=BCssing?= X-Patchwork-Id: 251743 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 8D0A52C0085 for ; Mon, 17 Jun 2013 07:21:24 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755500Ab3FPVVN (ORCPT ); Sun, 16 Jun 2013 17:21:13 -0400 Received: from mout.web.de ([212.227.15.4]:57817 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755385Ab3FPVVF (ORCPT ); Sun, 16 Jun 2013 17:21:05 -0400 Received: from localhost ([46.246.38.42]) by smtp.web.de (mrweb102) with ESMTPSA (Nemesis) id 0Lpezi-1U9EWm00da-00fOOJ; Sun, 16 Jun 2013 23:20:56 +0200 From: =?UTF-8?q?Linus=20L=C3=BCssing?= To: bridge@lists.linux-foundation.org Cc: Stephen Hemminger , "David S. Miller" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Linus=20L=C3=BCssing?= Subject: [PATCH] bridge: fix switched interval for MLD Query types Date: Sun, 16 Jun 2013 23:20:34 +0200 Message-Id: <1371417634-29803-1-git-send-email-linus.luessing@web.de> X-Mailer: git-send-email 1.7.10.4 MIME-Version: 1.0 X-Provags-ID: V03:K0:zmC5WoLViz8MQv+GOOHzBjKAYZmsKLZL+w4DzJW0DPo/ogljygU l7QreXDgDwVh1+kXAxNSuq3P/34oZWmpdeDhqXXw4wF7lNE9eKEZerme7kD2oPHQSCsBCsi G4OxixJ9kvotoJ/wVgcDnByA00hUqTBnuJUoSo8Bcnin8sJjIbVP+TImqXVagqQEgethVxq 9aq4Fy6DBlpRgT156kxhA== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org General Queries (the one with the Multicast Address field set to zero / '::') are supposed to have a Maximum Response Delay of [Query Response Interval], while for Multicast-Address-Specific Queries it is [Last Listener Query Interval] - not the other way round. (see RFC2710, section 7.3+7.8) Signed-off-by: Linus Lüssing --- net/bridge/br_multicast.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 81f2389..d6448e3 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -465,8 +465,9 @@ static struct sk_buff *br_ip6_multicast_alloc_query(struct net_bridge *br, skb_set_transport_header(skb, skb->len); mldq = (struct mld_msg *) icmp6_hdr(skb); - interval = ipv6_addr_any(group) ? br->multicast_last_member_interval : - br->multicast_query_response_interval; + interval = ipv6_addr_any(group) ? + br->multicast_query_response_interval : + br->multicast_last_member_interval; mldq->mld_type = ICMPV6_MGM_QUERY; mldq->mld_code = 0;