Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3869885ybi; Mon, 3 Jun 2019 01:29:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqzZ4BC/F45SQxb7rdY3Zbzcqa/eYuHLZrwuS1k/ih/hF8QGwbbcJ62RJfxkzK+dm2eD8het X-Received: by 2002:a62:f201:: with SMTP id m1mr22745448pfh.217.1559550589427; Mon, 03 Jun 2019 01:29:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559550589; cv=none; d=google.com; s=arc-20160816; b=OOHH3odvhr3GQ5UIp/JyNov/6KpeeF9u1iJd3W0shFcXyOqiPyeY9kimXDEptSHrD3 c/gKZgbAJiueLl5tDJCTLkRRkwza99ViwXkSa5VqYUsiwMta+nkswQWZgxNoLKwNwLqi ev19dwoI9E0Fy3ZPuV8QGA5ThEwsL/C+9up4UFe4tzVNTxh5mPXMuACYWpKYJUy3W7xJ AK97HJhfoeU6K6v/1+EXNE22neoD5FkPOMSdvxGl+CicdPXOGRpzV6V4/9mP5OgmgT6h 1pBW5BzIDWUZdRArBkArQw/RkqbVb68UHFysnVQWq7tQq+J3n0zW9pTagLzKwqTEUiUQ I5bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=EDoCDFTeq/DV5924Jr300cDXUIemOxujb3aLvb1Pkn0=; b=qjpWVe8b9LgiaFG+wtbOdIVnitUOFU8JjgCpVxR3HXnMXBsIGwXCu7MSOjcOHJ95bU NkwgYD8ckpoM25CRJy4DfdPU04G9CYRDoL06KdaFtdyDKq+YJ5hYEoGJdemxOHaQCKs/ 2JYlYXLPp0FRBewQe5rMX8RYrElB3cbwgDaf0LAMHDpzy2lwb9HZbIROSpDLaO1lzXJ1 7eypgWnPSnLqtcNQN31x0Q+VVWQIxw3e+Je1+w/XfMeAyn6mxm14NTVg7FYVFCBkAqXA Cwsi1enaLe8HkxWDmH7Kq/j9OvpfO6osIvi5KBOEMVS5wwy0dth48Ouo6/DwwQgES0hk PHSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=izqSZAFs; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 67si17340905pla.356.2019.06.03.01.29.32; Mon, 03 Jun 2019 01:29:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=izqSZAFs; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727636AbfFCI2V (ORCPT + 99 others); Mon, 3 Jun 2019 04:28:21 -0400 Received: from mail-ua1-f68.google.com ([209.85.222.68]:41110 "EHLO mail-ua1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725856AbfFCI2V (ORCPT ); Mon, 3 Jun 2019 04:28:21 -0400 Received: by mail-ua1-f68.google.com with SMTP id n2so6165888uad.8; Mon, 03 Jun 2019 01:28:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EDoCDFTeq/DV5924Jr300cDXUIemOxujb3aLvb1Pkn0=; b=izqSZAFsSv7SOmGqsDoVfN9penvenlTefSopGisyHYiY/XskElii9B/+HWXg3LY744 T5f2psSGpD9PJU7SbhE5E1k/7fbwKQu6BzfoPagMmVWs3mtkea2i9t8bVk9XEUKpi+iP stYqxHiW7ZczPEF3yWAmhGks+gpi73T7NJzTTy+q8uNFPSSPGDe5IkisuivboMSetRKF xQiX4fRkLAkVxfrUr+w/3FEQTD/SSydjPobocRo2lRJxoy4qzAhiqul6RFmKFgZZbXgx 3R925AMT8OJf9H/lfFDk4RFZ8qei57vUyS3sBrdVOft5CaSurYGwoCpT01zEyVJdahHk jEIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EDoCDFTeq/DV5924Jr300cDXUIemOxujb3aLvb1Pkn0=; b=jJhfqZIfbCA+keYbRrjuHSkeaqOaZV7YzTheelELSUoZWXYEGRJeXZAEhUKLuS71KL woKFa+SEZgxgjLrF8MvsUOpZqZ2N0Y65UwMg9vTRLjBYpsuMCBr7wGqosXy7IoWxgQ+v 38oWaz2suQ6wbSHkZWxrdYzq2X8VQRvlqynN5/S4pLJXtYKnDKJTB1SeqkAjHJSolVC9 Y3TKO961n/Swu1AZuBeLUhve3b40rdWEE7NwTzThRyZ0NebqXLEwh+yck3Kd26cI5g++ PNvPGRb+D6TF6RJCkzj58AsSgO8gaTwPeyp37hs3GvTA7ZRcu4lvOHPP16kDaWaEl3Wi 1oGg== X-Gm-Message-State: APjAAAXkpZh3KdTN402bNZsEFESEbX1tWRoBSOtmSirmzzCvwdJFibEj XHlmI/WIT9vSsIccXGuHFh7st1CMwQW2BFDbhk4= X-Received: by 2002:ab0:4e12:: with SMTP id g18mr11891564uah.1.1559550500034; Mon, 03 Jun 2019 01:28:20 -0700 (PDT) MIME-Version: 1.0 References: <1559532216-12114-1-git-send-email-92siuyang@gmail.com> In-Reply-To: From: Yang Xiao <92siuyang@gmail.com> Date: Mon, 3 Jun 2019 16:27:41 +0800 Message-ID: Subject: Re: [PATCH] ipvlan: Don't propagate IFF_ALLMULTI changes on down interfaces. To: Xin Long Cc: davem , Daniel Borkmann , petrm@mellanox.com, jiri@mellanox.com, idosch@mellanox.com, uehaibing@huawei.com, Hangbin Liu , network dev , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Based on your explanation, I found that the patch I submitted is useless. Great thanks and sorry for the trouble. On Mon, Jun 3, 2019 at 3:54 PM Xin Long wrote: > > On Mon, Jun 3, 2019 at 11:22 AM Young Xiao <92siuyang@gmail.com> wrote: > > > > Clearing the IFF_ALLMULTI flag on a down interface could cause an allmulti > > overflow on the underlying interface. > > > > Attempting the set IFF_ALLMULTI on the underlying interface would cause an > > error and the log message: > > > > "allmulti touches root, set allmulti failed." > s/root/roof > > I guess this patch was inspired by: > > commit bbeb0eadcf9fe74fb2b9b1a6fea82cd538b1e556 > Author: Peter Christensen > Date: Thu May 8 11:15:37 2014 +0200 > > macvlan: Don't propagate IFF_ALLMULTI changes on down interfaces. > > I could trigger this error on macvlan prior to this patch with: > > # ip link add mymacvlan1 link eth2 type macvlan mode bridge > # ip link set mymacvlan1 up > # ip link set mymacvlan1 allmulticast on > # ip link set mymacvlan1 down > # ip link set mymacvlan1 allmulticast off > # ip link set mymacvlan1 allmulticast on > > but not on ipvlan, could you? > > macvlan had this problem, as lowerdev's allmulticast is cleared when doing > dev_stop and set when doing dev_open, which doesn't happen on ipvlan. > > So I'd think this patch fixes nothing unless you want to add > dev_set_allmulti(1/-1) in ipvlan_open/stop(), but that's another topic. > > did I miss something? > > > > > Signed-off-by: Young Xiao <92siuyang@gmail.com> > > --- > > drivers/net/ipvlan/ipvlan_main.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c > > index bbeb162..523bb83 100644 > > --- a/drivers/net/ipvlan/ipvlan_main.c > > +++ b/drivers/net/ipvlan/ipvlan_main.c > > @@ -242,8 +242,10 @@ static void ipvlan_change_rx_flags(struct net_device *dev, int change) > > struct ipvl_dev *ipvlan = netdev_priv(dev); > > struct net_device *phy_dev = ipvlan->phy_dev; > > > > - if (change & IFF_ALLMULTI) > > - dev_set_allmulti(phy_dev, dev->flags & IFF_ALLMULTI? 1 : -1); > > + if (dev->flags & IFF_UP) { > > + if (change & IFF_ALLMULTI) > > + dev_set_allmulti(phy_dev, dev->flags & IFF_ALLMULTI ? 1 : -1); > > + } > > } > > > > static void ipvlan_set_multicast_mac_filter(struct net_device *dev) > > -- > > 2.7.4 > >