[{"id":1772243,"web_url":"http://patchwork.ozlabs.org/comment/1772243/","msgid":"<20170920.140956.781667692297467325.davem@davemloft.net>","list_archive_url":null,"date":"2017-09-20T21:09:56","subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: Vincent Bernat <vincent@bernat.im>\nDate: Sat, 16 Sep 2017 16:18:33 +0200\n\nDavid, I am CC:'ing you because you've done work in this area over the\npast year.  I'm applying this patch, it's been sitting since the 16th\nand likes entirely correct to me.  But if you have objections just let\nme know.\n\n> Currently, when an interface is released from a bridge via\n> ioctl(), we get a RTM_DELLINK event through netlink:\n> \n> Deleted 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state UNKNOWN\n>     link/ether 6e:23:c2:54:3a:b3\n> \n> Userspace has to interpret that as a removal from the bridge, not as a\n> complete removal of the interface. When an bridged interface is\n> completely removed, we get two events:\n> \n> Deleted 2: dummy0: <BROADCAST,NOARP> mtu 1500 master bridge0 state DOWN\n>     link/ether 6e:23:c2:54:3a:b3\n> Deleted 2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default\n>     link/ether 6e:23:c2:54:3a:b3 brd ff:ff:ff:ff:ff:ff\n> \n> In constrast, when an interface is released from a bond, we get a\n> RTM_NEWLINK with only the new characteristics (no master):\n> \n> 3: dummy1: <BROADCAST,NOARP,SLAVE,UP,LOWER_UP> mtu 1500 qdisc noqueue master bond0 state UNKNOWN group default\n>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> 3: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default\n>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> 4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default\n>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> 3: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN group default\n>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> 3: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN group default\n>     link/ether ca:c8:7b:66:f8:25 brd ff:ff:ff:ff:ff:ff\n> 4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default\n>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> \n> Userland may be confused by the fact we say a link is deleted while\n> its characteristics are only modified. A first solution would have\n> been to turn the RTM_DELLINK event in del_nbp() into a RTM_NEWLINK\n> event. However, maybe some piece of userland is relying on this\n> RTM_DELLINK to detect when a bridged interface is released. Instead,\n> we also emit a RTM_NEWLINK event once the interface is\n> released (without master info).\n> \n> Deleted 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state UNKNOWN\n>     link/ether 8a:bb:e7:94:b1:f8\n> 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default\n>     link/ether 8a:bb:e7:94:b1:f8 brd ff:ff:ff:ff:ff:ff\n> \n> This is done only when using ioctl(). When using Netlink, such an\n> event is already automatically emitted in do_setlink().\n> \n> Signed-off-by: Vincent Bernat <vincent@bernat.im>\n\nApplied, thank you.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyC7F0Ghlz9s8J\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 07:10:01 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751550AbdITVJ6 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 20 Sep 2017 17:09:58 -0400","from shards.monkeyblade.net ([184.105.139.130]:37850 \"EHLO\n\tshards.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751377AbdITVJ5 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 20 Sep 2017 17:09:57 -0400","from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net\n\t[74.93.104.98]) (using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\t(Authenticated sender: davem-davemloft)\n\tby shards.monkeyblade.net (Postfix) with ESMTPSA id D97D8102EF303;\n\tWed, 20 Sep 2017 14:09:56 -0700 (PDT)"],"Date":"Wed, 20 Sep 2017 14:09:56 -0700 (PDT)","Message-Id":"<20170920.140956.781667692297467325.davem@davemloft.net>","To":"vincent@bernat.im","Cc":"stephen@networkplumber.org, bridge@lists.linux-foundation.org,\n\tnetdev@vger.kernel.org, dsahern@gmail.com","Subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<20170916141833.28344-1-vincent@bernat.im>","References":"<m3zi9vbrfp.fsf@luffy.cx>\n\t<20170916141833.28344-1-vincent@bernat.im>","X-Mailer":"Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","X-Greylist":"Sender succeeded SMTP AUTH, not delayed by\n\tmilter-greylist-4.5.12 (shards.monkeyblade.net\n\t[149.20.54.216]); Wed, 20 Sep 2017 14:09:57 -0700 (PDT)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772281,"web_url":"http://patchwork.ozlabs.org/comment/1772281/","msgid":"<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>","list_archive_url":null,"date":"2017-09-20T21:57:16","subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","submitter":{"id":6918,"url":"http://patchwork.ozlabs.org/api/people/6918/","name":"David Ahern","email":"dsahern@gmail.com"},"content":"On 9/20/17 3:09 PM, David Miller wrote:\n> From: Vincent Bernat <vincent@bernat.im>\n> Date: Sat, 16 Sep 2017 16:18:33 +0200\n> \n> David, I am CC:'ing you because you've done work in this area over the\n> past year.  I'm applying this patch, it's been sitting since the 16th\n> and likes entirely correct to me.  But if you have objections just let\n> me know.\n> \n>> Currently, when an interface is released from a bridge via\n>> ioctl(), we get a RTM_DELLINK event through netlink:\n>>\n>> Deleted 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state UNKNOWN\n>>     link/ether 6e:23:c2:54:3a:b3\n>>\n>> Userspace has to interpret that as a removal from the bridge, not as a\n>> complete removal of the interface. When an bridged interface is\n>> completely removed, we get two events:\n>>\n>> Deleted 2: dummy0: <BROADCAST,NOARP> mtu 1500 master bridge0 state DOWN\n>>     link/ether 6e:23:c2:54:3a:b3\n>> Deleted 2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default\n>>     link/ether 6e:23:c2:54:3a:b3 brd ff:ff:ff:ff:ff:ff\n>>\n>> In constrast, when an interface is released from a bond, we get a\n>> RTM_NEWLINK with only the new characteristics (no master):\n>>\n>> 3: dummy1: <BROADCAST,NOARP,SLAVE,UP,LOWER_UP> mtu 1500 qdisc noqueue master bond0 state UNKNOWN group default\n>>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n>> 3: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default\n>>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n>> 4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default\n>>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n>> 3: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN group default\n>>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n>> 3: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN group default\n>>     link/ether ca:c8:7b:66:f8:25 brd ff:ff:ff:ff:ff:ff\n>> 4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default\n>>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n>>\n>> Userland may be confused by the fact we say a link is deleted while\n>> its characteristics are only modified. A first solution would have\n>> been to turn the RTM_DELLINK event in del_nbp() into a RTM_NEWLINK\n>> event. However, maybe some piece of userland is relying on this\n>> RTM_DELLINK to detect when a bridged interface is released. Instead,\n>> we also emit a RTM_NEWLINK event once the interface is\n>> released (without master info).\n>>\n>> Deleted 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state UNKNOWN\n>>     link/ether 8a:bb:e7:94:b1:f8\n>> 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default\n>>     link/ether 8a:bb:e7:94:b1:f8 brd ff:ff:ff:ff:ff:ff\n>>\n>> This is done only when using ioctl(). When using Netlink, such an\n>> event is already automatically emitted in do_setlink().\n\nThe DELLINK is for AF_BRIDGE family (ifi_family). Adding family to\nprint_linkinfo and running the monitor I get:\n\n\n[LINK]family 0: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc\nnoqueue master br0 state UNKNOWN group default\n    link/ether d6:c3:73:86:3c:73 brd ff:ff:ff:ff:ff:ff\n\n[LINK]family 7: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500\nmaster br0 state UNKNOWN\n    link/ether d6:c3:73:86:3c:73\n\n[LINK]Deleted family 7: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu\n1500 master br0 state UNKNOWN\n    link/ether d6:c3:73:86:3c:73\n\n[LINK]family 0: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc\nnoqueue state UNKNOWN group default\n    link/ether d6:c3:73:86:3c:73 brd ff:ff:ff:ff:ff:ff\n\nAnd that seems correct. So I think the RTM_NEWLINK added by this patch\nshould not be needed.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"YkgtkiMw\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyD9t5W8dz9s7c\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 07:57:22 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751583AbdITV5U (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 20 Sep 2017 17:57:20 -0400","from mail-pf0-f171.google.com ([209.85.192.171]:47890 \"EHLO\n\tmail-pf0-f171.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751408AbdITV5T (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 20 Sep 2017 17:57:19 -0400","by mail-pf0-f171.google.com with SMTP id u12so2202040pfl.4\n\tfor <netdev@vger.kernel.org>; Wed, 20 Sep 2017 14:57:19 -0700 (PDT)","from dsa-mb.local ([2601:282:800:7292:4488:796:bae7:866a])\n\tby smtp.googlemail.com with ESMTPSA id\n\tp5sm8367820pgc.94.2017.09.20.14.57.17\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 20 Sep 2017 14:57:17 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=hqQal7+aMWkc/nxzTzNB1WavlQYjMaMMbnbPZX4z8VY=;\n\tb=YkgtkiMwDQ0ZQFPfc+L5KxohloYTl6dNYlU7csPVyD3Xme80FIhDLbqqqNRmwnSyU8\n\t3DDo2bhGmKqygms7QugUEw5XsjrudDcuj/WbSBwwjOPauzjfhrS99shO8Yy0eGEmK24V\n\tILjzJ0AeP2ycDBoRg+jC6Syg+t+zHnbt7rDDxV7YczOIWNyMhIJ/Cq3VDZgTlnX/bKf/\n\tZU/85xIab4tyNv+UJ1KXSpXCJBGNHfSmvdUojMNafuyh3pFB9J9Rq8BDYAMJ8m9lrSKY\n\t/gVj+z2lIeaGTLnGOe/UUTszoUnGW36iD9aRDoXxUNBibdWIWNoWCs0M6Ru/8tlH2eEJ\n\tQGnQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:cc:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=hqQal7+aMWkc/nxzTzNB1WavlQYjMaMMbnbPZX4z8VY=;\n\tb=ougDV4xx1hRnZxhVJGpdzgbomdG/2PV1NZxl2Y7CEzQEUhlUbruQ0EOqrSiyt98HZc\n\tLtqgqPVB/jzdHvBGUnSlBrIP8m5uWkiZe8BAiBO55JHveWxhc4qX3dERxWrG4d1u1SwL\n\tTyRcskDj9sXL9YX3QyC6NeEM1IrVR+6SI+ArLzESJ/uckC7TOOzU8Zqu0k4QU13Baw8i\n\tDyeIlscKSboXJTEi+VfI6rWQGtlWRLXoOrzaUYWNYqSFqMZahRPqoGZett0i+gAjpTxy\n\tacKth+2PzejUMu/iWnmnnTxcHqBB//LQKgkcQ7vpNClWqcWzc1K3btKmgloKhLoGFdtt\n\t9RJg==","X-Gm-Message-State":"AHPjjUhNmVCkTNcOmC9fl/pNVXNpDXm0eaasXpGtTPnXfD//1OUMT+eJ\n\taoRk26PwiB2bLKU3wLPQjAc4ZQ==","X-Google-Smtp-Source":"AOwi7QB+IKbS3C9NSsf5if1xAp2o9TWTGZoxqEb+nXYDFp753jTfmtpZDfL6SNDSMGQW6Qozm1f7Sg==","X-Received":"by 10.99.4.88 with SMTP id 85mr3677635pge.410.1505944638606;\n\tWed, 20 Sep 2017 14:57:18 -0700 (PDT)","Subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","To":"David Miller <davem@davemloft.net>, vincent@bernat.im","Cc":"stephen@networkplumber.org, bridge@lists.linux-foundation.org,\n\tnetdev@vger.kernel.org","References":"<m3zi9vbrfp.fsf@luffy.cx>\n\t<20170916141833.28344-1-vincent@bernat.im>\n\t<20170920.140956.781667692297467325.davem@davemloft.net>","From":"David Ahern <dsahern@gmail.com>","Message-ID":"<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>","Date":"Wed, 20 Sep 2017 15:57:16 -0600","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0)\n\tGecko/20100101 Thunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170920.140956.781667692297467325.davem@davemloft.net>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772286,"web_url":"http://patchwork.ozlabs.org/comment/1772286/","msgid":"<87bmm56mu2.fsf@luffy.cx>","list_archive_url":null,"date":"2017-09-20T22:12:53","subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","submitter":{"id":64027,"url":"http://patchwork.ozlabs.org/api/people/64027/","name":"Vincent Bernat","email":"vincent@bernat.im"},"content":"❦ 20 septembre 2017 15:57 -0600, David Ahern <dsahern@gmail.com> :\n\n> The DELLINK is for AF_BRIDGE family (ifi_family). Adding family to\n> print_linkinfo and running the monitor I get:\n>\n>\n> [LINK]family 0: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc\n> noqueue master br0 state UNKNOWN group default\n>     link/ether d6:c3:73:86:3c:73 brd ff:ff:ff:ff:ff:ff\n>\n> [LINK]family 7: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500\n> master br0 state UNKNOWN\n>     link/ether d6:c3:73:86:3c:73\n>\n> [LINK]Deleted family 7: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu\n> 1500 master br0 state UNKNOWN\n>     link/ether d6:c3:73:86:3c:73\n\nI didn't know about the family. We can drop the patch.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=bernat.im header.i=@bernat.im\n\theader.b=\"oRTiuhmx\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyDWv56L1z9s8J\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 08:12:59 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751584AbdITWM5 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 20 Sep 2017 18:12:57 -0400","from bart.luffy.cx ([78.47.78.131]:56321 \"EHLO bart.luffy.cx\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751408AbdITWM4 (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tWed, 20 Sep 2017 18:12:56 -0400","from bart.luffy.cx (localhost [127.0.0.1])\n\tby bart.luffy.cx (Postfix) with ESMTP id B273014801;\n\tThu, 21 Sep 2017 00:12:54 +0200 (CEST)","from zoro.exoscale.ch\n\t(184.36.105.92.dynamic.wline.res.cust.swisscom.ch [92.105.36.184])\n\tby bart.luffy.cx (Postfix) with ESMTPS id 8BF2F140DC;\n\tThu, 21 Sep 2017 00:12:54 +0200 (CEST)","by zoro.exoscale.ch (Postfix, from userid 1000)\n\tid 78957512; Thu, 21 Sep 2017 00:12:53 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=bernat.im; h=from:to:cc\n\t:subject:references:date:in-reply-to:message-id:mime-version\n\t:content-type; s=postfix; bh=1MMynOeKAlkFtU4tn12pxDqWyOk=; b=oRT\n\tiuhmxiTvtPsZqN/sVsCW9uLIMIayry3p7vMgDB2vbtr3AIxr0KQ1zLJZK1wf4Zmn\n\tQjNrfle0qheFIHybhJJaGzmT8ZtyDZlypS9pMjWTKq5pbsQ+SJJl6GDX9mF60UqY\n\thTAGTC+/kw677YiBPDpk8j95AqIZ/u8BFbYPuk+k=","DomainKey-Signature":"a=rsa-sha1; c=nofws; d=bernat.im; h=from:to:cc\n\t:subject:references:date:in-reply-to:message-id:mime-version\n\t:content-type; q=dns; s=postfix; b=WeLjWKUA4e0eHl1a+Ibnm2NIV6vnc\n\tWdrTubUgZibUvFk9Nzqg6fDLPfaEMa3YsWW6sNzn55Qq3+H++MqTPocV+c6bBaHl\n\tkIMb55/jr68g1+3FKpryx5DC4CedqL8XzkF8JS5X6f8xS9LgVDVKLZVquzMrkto3\n\tsChzT7Eaf+xWc0=","From":"Vincent Bernat <vincent@bernat.im>","To":"David Ahern <dsahern@gmail.com>","Cc":"David Miller <davem@davemloft.net>, stephen@networkplumber.org,\n\tbridge@lists.linux-foundation.org, netdev@vger.kernel.org","Subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","References":"<m3zi9vbrfp.fsf@luffy.cx>\n\t<20170916141833.28344-1-vincent@bernat.im>\n\t<20170920.140956.781667692297467325.davem@davemloft.net>\n\t<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>","Date":"Thu, 21 Sep 2017 00:12:53 +0200","In-Reply-To":"<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com> (David Ahern's\n\tmessage of \"Wed, 20 Sep 2017 15:57:16 -0600\")","Message-ID":"<87bmm56mu2.fsf@luffy.cx>","User-Agent":"Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772291,"web_url":"http://patchwork.ozlabs.org/comment/1772291/","msgid":"<20170920.154117.1811118515077748495.davem@davemloft.net>","list_archive_url":null,"date":"2017-09-20T22:41:17","subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: Vincent Bernat <vincent@bernat.im>\r\nDate: Thu, 21 Sep 2017 00:12:53 +0200\r\n\r\n>  ❦ 20 septembre 2017 15:57 -0600, David Ahern <dsahern@gmail.com> :\r\n> \r\n>> The DELLINK is for AF_BRIDGE family (ifi_family). Adding family to\r\n>> print_linkinfo and running the monitor I get:\r\n>>\r\n>>\r\n>> [LINK]family 0: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc\r\n>> noqueue master br0 state UNKNOWN group default\r\n>>     link/ether d6:c3:73:86:3c:73 brd ff:ff:ff:ff:ff:ff\r\n>>\r\n>> [LINK]family 7: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500\r\n>> master br0 state UNKNOWN\r\n>>     link/ether d6:c3:73:86:3c:73\r\n>>\r\n>> [LINK]Deleted family 7: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu\r\n>> 1500 master br0 state UNKNOWN\r\n>>     link/ether d6:c3:73:86:3c:73\r\n> \r\n> I didn't know about the family. We can drop the patch.\r\n\r\nOk, I've reverted.\r\n\r\nThanks.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyF8d4YtVz9s7h\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 08:41:21 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751818AbdITWlT (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 20 Sep 2017 18:41:19 -0400","from shards.monkeyblade.net ([184.105.139.130]:40864 \"EHLO\n\tshards.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751733AbdITWlS (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 20 Sep 2017 18:41:18 -0400","from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net\n\t[74.93.104.98]) (using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\t(Authenticated sender: davem-davemloft)\n\tby shards.monkeyblade.net (Postfix) with ESMTPSA id 972B8102F0356;\n\tWed, 20 Sep 2017 15:41:17 -0700 (PDT)"],"Date":"Wed, 20 Sep 2017 15:41:17 -0700 (PDT)","Message-Id":"<20170920.154117.1811118515077748495.davem@davemloft.net>","To":"vincent@bernat.im","Cc":"dsahern@gmail.com, stephen@networkplumber.org,\n\tbridge@lists.linux-foundation.org, netdev@vger.kernel.org","Subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<87bmm56mu2.fsf@luffy.cx>","References":"<20170920.140956.781667692297467325.davem@davemloft.net>\n\t<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>\n\t<87bmm56mu2.fsf@luffy.cx>","X-Mailer":"Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=utf-8","Content-Transfer-Encoding":"base64","X-Greylist":"Sender succeeded SMTP AUTH, not delayed by\n\tmilter-greylist-4.5.12 (shards.monkeyblade.net\n\t[149.20.54.216]); Wed, 20 Sep 2017 15:41:17 -0700 (PDT)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772311,"web_url":"http://patchwork.ozlabs.org/comment/1772311/","msgid":"<20170920162140.369bb198@xeon-e3>","list_archive_url":null,"date":"2017-09-20T23:21:40","subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","submitter":{"id":21389,"url":"http://patchwork.ozlabs.org/api/people/21389/","name":"Stephen Hemminger","email":"stephen@networkplumber.org"},"content":"On Wed, 20 Sep 2017 15:57:16 -0600\nDavid Ahern <dsahern@gmail.com> wrote:\n\n> On 9/20/17 3:09 PM, David Miller wrote:\n> > From: Vincent Bernat <vincent@bernat.im>\n> > Date: Sat, 16 Sep 2017 16:18:33 +0200\n> > \n> > David, I am CC:'ing you because you've done work in this area over the\n> > past year.  I'm applying this patch, it's been sitting since the 16th\n> > and likes entirely correct to me.  But if you have objections just let\n> > me know.\n> >   \n> >> Currently, when an interface is released from a bridge via\n> >> ioctl(), we get a RTM_DELLINK event through netlink:\n> >>\n> >> Deleted 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state UNKNOWN\n> >>     link/ether 6e:23:c2:54:3a:b3\n> >>\n> >> Userspace has to interpret that as a removal from the bridge, not as a\n> >> complete removal of the interface. When an bridged interface is\n> >> completely removed, we get two events:\n> >>\n> >> Deleted 2: dummy0: <BROADCAST,NOARP> mtu 1500 master bridge0 state DOWN\n> >>     link/ether 6e:23:c2:54:3a:b3\n> >> Deleted 2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default\n> >>     link/ether 6e:23:c2:54:3a:b3 brd ff:ff:ff:ff:ff:ff\n> >>\n> >> In constrast, when an interface is released from a bond, we get a\n> >> RTM_NEWLINK with only the new characteristics (no master):\n> >>\n> >> 3: dummy1: <BROADCAST,NOARP,SLAVE,UP,LOWER_UP> mtu 1500 qdisc noqueue master bond0 state UNKNOWN group default\n> >>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> >> 3: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default\n> >>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> >> 4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default\n> >>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> >> 3: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN group default\n> >>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> >> 3: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN group default\n> >>     link/ether ca:c8:7b:66:f8:25 brd ff:ff:ff:ff:ff:ff\n> >> 4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default\n> >>     link/ether ae:dc:7a:8c:9a:3c brd ff:ff:ff:ff:ff:ff\n> >>\n> >> Userland may be confused by the fact we say a link is deleted while\n> >> its characteristics are only modified. A first solution would have\n> >> been to turn the RTM_DELLINK event in del_nbp() into a RTM_NEWLINK\n> >> event. However, maybe some piece of userland is relying on this\n> >> RTM_DELLINK to detect when a bridged interface is released. Instead,\n> >> we also emit a RTM_NEWLINK event once the interface is\n> >> released (without master info).\n> >>\n> >> Deleted 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state UNKNOWN\n> >>     link/ether 8a:bb:e7:94:b1:f8\n> >> 2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default\n> >>     link/ether 8a:bb:e7:94:b1:f8 brd ff:ff:ff:ff:ff:ff\n> >>\n> >> This is done only when using ioctl(). When using Netlink, such an\n> >> event is already automatically emitted in do_setlink().  \n> \n> The DELLINK is for AF_BRIDGE family (ifi_family). Adding family to\n> print_linkinfo and running the monitor I get:\n> \n> \n> [LINK]family 0: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc\n> noqueue master br0 state UNKNOWN group default\n>     link/ether d6:c3:73:86:3c:73 brd ff:ff:ff:ff:ff:ff\n> \n> [LINK]family 7: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500\n> master br0 state UNKNOWN\n>     link/ether d6:c3:73:86:3c:73\n> \n> [LINK]Deleted family 7: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu\n> 1500 master br0 state UNKNOWN\n>     link/ether d6:c3:73:86:3c:73\n> \n> [LINK]family 0: 35: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc\n> noqueue state UNKNOWN group default\n>     link/ether d6:c3:73:86:3c:73 brd ff:ff:ff:ff:ff:ff\n> \n> And that seems correct. So I think the RTM_NEWLINK added by this patch\n> should not be needed.\n\nAgreed, thanks for tracing this.\n\nThe one concern is that ports added or removed through ioctl should\ncause same events as doing the same thing via netlink. Some users use\nbrctl (ioctl) and others use newer bridge (netlink) API.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=networkplumber-org.20150623.gappssmtp.com\n\theader.i=@networkplumber-org.20150623.gappssmtp.com\n\theader.b=\"Xuhvvj8Q\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyG3J4z8sz9s0Z\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 09:21:48 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751866AbdITXVq (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 20 Sep 2017 19:21:46 -0400","from mail-pg0-f45.google.com ([74.125.83.45]:56926 \"EHLO\n\tmail-pg0-f45.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751853AbdITXVp (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 20 Sep 2017 19:21:45 -0400","by mail-pg0-f45.google.com with SMTP id 7so2515326pgd.13\n\tfor <netdev@vger.kernel.org>; Wed, 20 Sep 2017 16:21:45 -0700 (PDT)","from xeon-e3 (76-14-207-240.or.wavecable.com. [76.14.207.240])\n\tby smtp.gmail.com with ESMTPSA id\n\ty13sm57346pfi.27.2017.09.20.16.21.44\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tWed, 20 Sep 2017 16:21:44 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=Kyh3BgoareetIWjKz50EvxrwfXtXqYlonfTeVeoqhkY=;\n\tb=Xuhvvj8QcGSehOPBNbGH6KrAb4F9RN3vax3FvOwuEQnwTNOiidPdkNUZ/hIixkEG3P\n\tJ0ovzHK5JOfrxqS+VzjSluJ9kHLkurTaVfhrBHpPvxuM7eU/iwplvDgbcPtghULC9JPH\n\tqq/Zu+xy/lGOdy2t0Rd53+gW+oUqQhAlRRKIS/4YFoEiwOanpNlQGdXVHCq9lBzY77Rs\n\t1fBDiV0L8THvCRm164b9SK6xKzoO+mJUR225/B+bLmF20yFAeZNFaHB1QNIA/SPnjAbj\n\tkZT4Nr9LeIoD71EL8K4+kkc4y32w4UwLfyCorGXk4Me8GxKJVZ8l8uLUl4VkT/X/YYK9\n\trtZQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=Kyh3BgoareetIWjKz50EvxrwfXtXqYlonfTeVeoqhkY=;\n\tb=lCxIDfc8LA+xg1m6CxmfRl83WQFICYWKipbur464+dZrbsl20EWT938BtiaMO0bACN\n\tuSdV21/UOjdfm7ZCsk4tRODKv8HGv/eemFjOM2dKbEsxbafPcyp/3uAtHsVsSbyJf28P\n\tkFpXXEE5PeYou9lbV6hsxMTQhZZ+PRhQ/hBx5SJ4sLg0MThfyaSiJUPrw1OuGwuwvZd4\n\tL1+S5JeYazokSa1ttaD0BJfXsJamldTuW/+MVKQzFMKdXAODFSrYzIe47ow7auJjA2Ys\n\tR+1Vh8iqJLbk9VKjjzzGQLs8b1dNAKDMg0hig3im0EJLVVMCPPSMc1O1YGvRd8oVgRV5\n\thWog==","X-Gm-Message-State":"AHPjjUj3dzF44PCYdZKf0ryKvjuq9rPYKYWyZ36vWR5QgVNu/z9pNSux\n\t+1yXErJMb0faqM/rG8Lt6hAntPiOx+0=","X-Google-Smtp-Source":"AOwi7QC0787X6qNVO1dBl/6Tcli3qqP+uU0F651aIAmZNwIC8/qoudMEqqKrjXNggtZCXI+eeM9DSA==","X-Received":"by 10.98.67.209 with SMTP id l78mr3833424pfi.3.1505949704771;\n\tWed, 20 Sep 2017 16:21:44 -0700 (PDT)","Date":"Wed, 20 Sep 2017 16:21:40 -0700","From":"Stephen Hemminger <stephen@networkplumber.org>","To":"David Ahern <dsahern@gmail.com>","Cc":"David Miller <davem@davemloft.net>, vincent@bernat.im,\n\tbridge@lists.linux-foundation.org, netdev@vger.kernel.org","Subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","Message-ID":"<20170920162140.369bb198@xeon-e3>","In-Reply-To":"<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>","References":"<m3zi9vbrfp.fsf@luffy.cx>\n\t<20170916141833.28344-1-vincent@bernat.im>\n\t<20170920.140956.781667692297467325.davem@davemloft.net>\n\t<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772644,"web_url":"http://patchwork.ozlabs.org/comment/1772644/","msgid":"<87h8vw5pwg.fsf@luffy.cx>","list_archive_url":null,"date":"2017-09-21T10:04:15","subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","submitter":{"id":64027,"url":"http://patchwork.ozlabs.org/api/people/64027/","name":"Vincent Bernat","email":"vincent@bernat.im"},"content":"❦ 20 septembre 2017 16:21 -0700, Stephen Hemminger <stephen@networkplumber.org> :\n\n> The one concern is that ports added or removed through ioctl should\n> cause same events as doing the same thing via netlink. Some users use\n> brctl (ioctl) and others use newer bridge (netlink) API.\n\nI'll make a third iteration to have the same notifications when using\nioctl() with details in the commit message.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=bernat.im header.i=@bernat.im\n\theader.b=\"oMUhpZTq\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyXJm6xmXz9t49\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 20:04:24 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751569AbdIUKEW (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 21 Sep 2017 06:04:22 -0400","from bart.luffy.cx ([78.47.78.131]:59367 \"EHLO bart.luffy.cx\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751387AbdIUKEV (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tThu, 21 Sep 2017 06:04:21 -0400","from bart.luffy.cx (localhost [127.0.0.1])\n\tby bart.luffy.cx (Postfix) with ESMTP id B14F9141CD;\n\tThu, 21 Sep 2017 12:04:19 +0200 (CEST)","from zoro.exoscale.ch\n\t(84.212.41.212.static.wline.lns.sme.cust.swisscom.ch\n\t[212.41.212.84])\n\tby bart.luffy.cx (Postfix) with ESMTPS id 408FB14171;\n\tThu, 21 Sep 2017 12:04:19 +0200 (CEST)","by zoro.exoscale.ch (Postfix, from userid 1000)\n\tid 8BE984DD; Thu, 21 Sep 2017 12:04:15 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=bernat.im; h=from:to:cc\n\t:subject:references:date:in-reply-to:message-id:mime-version\n\t:content-type; s=postfix; bh=gKK/tv+Cv+zIkxg4hJoYnE4q3lE=; b=oMU\n\thpZTqK6dpT0KCMhMeQE6xAumNZu/ruLF6QkcpGKs7hN8CH4ebMbPFsmOOHyLx0mQ\n\tt9sff8SzGgW9f3a+knca3cTLDJMP0yKvoa/RDXTUlt3pTvL0B15EcuV60S+aRkGx\n\t43bf7S4ShC12hMigRJ0E+2S81kG7BFjEHHi1eHtQ=","DomainKey-Signature":"a=rsa-sha1; c=nofws; d=bernat.im; h=from:to:cc\n\t:subject:references:date:in-reply-to:message-id:mime-version\n\t:content-type; q=dns; s=postfix; b=LPYyQ0hnkU303nqZzAjnSRdKRzuJz\n\tS8irtf0fdwKxmhgVJ21xzMGwMwkO5YZ9jwc4oge7JQWnlexsMQp9h1TNkd7PbcTf\n\tnXRpGXCeI67Oi+ZHe7nudjuQ+UXMZU2r90TeyXPAoujh5V1tj7+lFB8hHpPuIR+X\n\tarqDCHn26WRHX4=","From":"Vincent Bernat <vincent@bernat.im>","To":"Stephen Hemminger <stephen@networkplumber.org>","Cc":"David Ahern <dsahern@gmail.com>, David Miller <davem@davemloft.net>,\n\tbridge@lists.linux-foundation.org, netdev@vger.kernel.org","Subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","References":"<m3zi9vbrfp.fsf@luffy.cx>\n\t<20170916141833.28344-1-vincent@bernat.im>\n\t<20170920.140956.781667692297467325.davem@davemloft.net>\n\t<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>\n\t<20170920162140.369bb198@xeon-e3>","Date":"Thu, 21 Sep 2017 12:04:15 +0200","In-Reply-To":"<20170920162140.369bb198@xeon-e3> (Stephen Hemminger's message\n\tof \"Wed, 20 Sep 2017 16:21:40 -0700\")","Message-ID":"<87h8vw5pwg.fsf@luffy.cx>","User-Agent":"Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772906,"web_url":"http://patchwork.ozlabs.org/comment/1772906/","msgid":"<CAJieiUgKO-O3YFc3iTQXMmXc287RGgw4FjYhaLn-7+pmA_Fh+g@mail.gmail.com>","list_archive_url":null,"date":"2017-09-21T15:09:28","subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","submitter":{"id":23500,"url":"http://patchwork.ozlabs.org/api/people/23500/","name":"Roopa Prabhu","email":"roopa@cumulusnetworks.com"},"content":"On Thu, Sep 21, 2017 at 3:04 AM, Vincent Bernat <vincent@bernat.im> wrote:\n>  ❦ 20 septembre 2017 16:21 -0700, Stephen Hemminger <stephen@networkplumber.org> :\n>\n>> The one concern is that ports added or removed through ioctl should\n>> cause same events as doing the same thing via netlink. Some users use\n>> brctl (ioctl) and others use newer bridge (netlink) API.\n>\n> I'll make a third iteration to have the same notifications when using\n> ioctl() with details in the commit message.\n> --\n\nas long as the ioctl path for bridge port removal is generating a:\nRTM_DELLINK with AF_BRIDGE and\nRTM_NEWLINK with AF_UNSPEC with 'master' removed\n\nwe should be good. These are the most important ones.\n\nare there other specific bridge-events missing ?. you might want to\nrun `bridge monitor link` also. and un-slaving of a port also triggers\nfdb events which are visible under `bridge monitor fdb`","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=cumulusnetworks.com\n\theader.i=@cumulusnetworks.com header.b=\"DJ6IqKf+\"; \n\tdkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyg4t3Dzgz9ryv\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 22 Sep 2017 01:09:34 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751845AbdIUPJc (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 21 Sep 2017 11:09:32 -0400","from mail-ua0-f182.google.com ([209.85.217.182]:43989 \"EHLO\n\tmail-ua0-f182.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751711AbdIUPJa (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 21 Sep 2017 11:09:30 -0400","by mail-ua0-f182.google.com with SMTP id f44so1902778uaa.0\n\tfor <netdev@vger.kernel.org>; Thu, 21 Sep 2017 08:09:30 -0700 (PDT)","by 10.176.73.112 with HTTP; Thu, 21 Sep 2017 08:09:28 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=cumulusnetworks.com; s=google;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc:content-transfer-encoding;\n\tbh=m0YcFqP9PA920hMOBtoglLXalRH3lACJwFRq7MxGtjI=;\n\tb=DJ6IqKf+8t9P+JB5kubTzkk/kg07z71xqs0We/DsF9KWqHuOruBh6vQJV0lgt4NGQw\n\tl1YW7I6xbmVTnQbIUCSD8iqPuIVpZwu1JCkIs8Lh6pQ0LQDVvdaoNrzKAgF1B3VkYyqe\n\tllqXYkdVeHUgdpTodEizq0XF94CRfBGUSJIbA=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc:content-transfer-encoding;\n\tbh=m0YcFqP9PA920hMOBtoglLXalRH3lACJwFRq7MxGtjI=;\n\tb=llR2hxK9RjBGVtQ/2+X8h4550XpG/bHjWWGHsslZyw0H9F7l4cdL+twmUjcPM7Hod7\n\tUEyoPNZwF1vvycbxbCEN13AAZuaW+59Mk7oTdMH2VDGFZkvHFZcS+/8pQa8JcwsWE3+8\n\ttJjZwB0XUf/j9m1wYyi2SwyhBOl7buMbFINjjucEGaEKrSpAWWAgpnEgT5gbaA6jO28a\n\tL0EzU8UXZy2FhAucuFCe3RdUzUT/N1e6TSJfDrADQZK66sPz0Z1dJr8OSy1RikSQx+2x\n\taomaiauc9u8aZMy2j/Jk39Qvy74Jjy2ahXp/PJttdI9NLl+zqA88frvxcaxjEcNAIBz5\n\tD+iQ==","X-Gm-Message-State":"AHPjjUi+wBMe4NE7DZg3V8wfa3kywbdh2UdmskqK7YSaqwSCAW50RiDI\n\towCJoV1gu3OhHbjtWxvvgRsIols9Y5cypueP1ia3Gtds","X-Google-Smtp-Source":"AOwi7QA0QPEtrPlU6/J7ERdOYV0dui/B4R/JH2jO09Sj4ETAbZc66iWu9AnOrtqZu5Fa2uZcludppjQ7DSC1pCViNa8=","X-Received":"by 10.159.33.195 with SMTP id 61mr2283483uac.63.1506006569471;\n\tThu, 21 Sep 2017 08:09:29 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<87h8vw5pwg.fsf@luffy.cx>","References":"<m3zi9vbrfp.fsf@luffy.cx>\n\t<20170916141833.28344-1-vincent@bernat.im>\n\t<20170920.140956.781667692297467325.davem@davemloft.net>\n\t<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>\n\t<20170920162140.369bb198@xeon-e3> <87h8vw5pwg.fsf@luffy.cx>","From":"Roopa Prabhu <roopa@cumulusnetworks.com>","Date":"Thu, 21 Sep 2017 08:09:28 -0700","Message-ID":"<CAJieiUgKO-O3YFc3iTQXMmXc287RGgw4FjYhaLn-7+pmA_Fh+g@mail.gmail.com>","Subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","To":"Vincent Bernat <vincent@bernat.im>","Cc":"Stephen Hemminger <stephen@networkplumber.org>,\n\tDavid Ahern <dsahern@gmail.com>, David Miller <davem@davemloft.net>,\n\tbridge@lists.linux-foundation.org,\n\t\"netdev@vger.kernel.org\" <netdev@vger.kernel.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772930,"web_url":"http://patchwork.ozlabs.org/comment/1772930/","msgid":"<87vakc3w6j.fsf@luffy.cx>","list_archive_url":null,"date":"2017-09-21T15:31:32","subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","submitter":{"id":64027,"url":"http://patchwork.ozlabs.org/api/people/64027/","name":"Vincent Bernat","email":"vincent@bernat.im"},"content":"❦ 21 septembre 2017 08:09 -0700, Roopa Prabhu <roopa@cumulusnetworks.com> :\n\n>>> The one concern is that ports added or removed through ioctl should\n>>> cause same events as doing the same thing via netlink. Some users use\n>>> brctl (ioctl) and others use newer bridge (netlink) API.\n>>\n>> I'll make a third iteration to have the same notifications when using\n>> ioctl() with details in the commit message.\n>> --\n>\n> as long as the ioctl path for bridge port removal is generating a:\n> RTM_DELLINK with AF_BRIDGE and\n> RTM_NEWLINK with AF_UNSPEC with 'master' removed\n>\n> we should be good. These are the most important ones.\n>\n> are there other specific bridge-events missing ?. you might want to\n> run `bridge monitor link` also. and un-slaving of a port also triggers\n> fdb events which are visible under `bridge monitor fdb`\n\nWith the patch, bridge monitor link generates the same event with\nioctl() than with netlink (like for ip monitor link, netlink generates\none extra duplicate event when enslaving).\n\nFor bridge monitor fdb, there is a difference. With ioctl(), I don't get\nthe event for VLAN1:\n\nDeleted ca:18:06:bc:f6:11 dev dummy1 vlan 1 master bridge0 permanent\n\nI suppose this is an expected difference due to the inability to manage\nVLAN-aware bridges with ioctl().","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=bernat.im header.i=@bernat.im\n\theader.b=\"YOgOnxIX\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xygZM1l9kz9t4b\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 22 Sep 2017 01:31:39 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751952AbdIUPbg (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 21 Sep 2017 11:31:36 -0400","from bart.luffy.cx ([78.47.78.131]:60935 \"EHLO bart.luffy.cx\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751811AbdIUPbe (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tThu, 21 Sep 2017 11:31:34 -0400","from bart.luffy.cx (localhost [127.0.0.1])\n\tby bart.luffy.cx (Postfix) with ESMTP id 2D18C141CD;\n\tThu, 21 Sep 2017 17:31:33 +0200 (CEST)","from zoro.exoscale.ch\n\t(84.212.41.212.static.wline.lns.sme.cust.swisscom.ch\n\t[212.41.212.84])\n\tby bart.luffy.cx (Postfix) with ESMTPS id 0C310140DC;\n\tThu, 21 Sep 2017 17:31:33 +0200 (CEST)","by zoro.exoscale.ch (Postfix, from userid 1000)\n\tid A5F46257; Thu, 21 Sep 2017 17:31:32 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=bernat.im; h=from:to:cc\n\t:subject:references:date:in-reply-to:message-id:mime-version\n\t:content-type; s=postfix; bh=h021K7A6v7d4CBOCo/8Xjyd1dnk=; b=YOg\n\tOnxIXd1JLthDlpKFCKigiMjwqrv+k0t4kColl/ywh6vcfxtPfCsXcE9DElOiDHmN\n\t3FdgS0qwfW7CkNH4y2H8mJ2TUjShjo6p1n0P8UsSugBV1ymJHd+geKEwBp74Ry+B\n\t+O9Y11+yswv2MgBTVBMaeKA+marK0M2BUVVjN2gA=","DomainKey-Signature":"a=rsa-sha1; c=nofws; d=bernat.im; h=from:to:cc\n\t:subject:references:date:in-reply-to:message-id:mime-version\n\t:content-type; q=dns; s=postfix; b=cPZV3MyG3oMVOeq7UKMD43bPXHlvq\n\tSuU/ns/r+CFTucWuLwXucC6VkqxdT5CIl4vJ4vg+smIXeER2Nvv7gRDkg8F9nBYL\n\tB9KeRrsBQoz2U1oi6HAVrL9TAfdSrL4ygKovmpHA2BNnqwebms831yaz7heWtff8\n\tRYlmF1y6DdiJig=","From":"Vincent Bernat <vincent@bernat.im>","To":"Roopa Prabhu <roopa@cumulusnetworks.com>","Cc":"Stephen Hemminger <stephen@networkplumber.org>,\n\tDavid Ahern <dsahern@gmail.com>, David Miller <davem@davemloft.net>,\n\tbridge@lists.linux-foundation.org,\n\t\"netdev\\@vger.kernel.org\" <netdev@vger.kernel.org>","Subject":"Re: [PATCH net-next v2] bridge: also trigger RTM_NEWLINK when\n\tinterface is released from bridge","References":"<m3zi9vbrfp.fsf@luffy.cx>\n\t<20170916141833.28344-1-vincent@bernat.im>\n\t<20170920.140956.781667692297467325.davem@davemloft.net>\n\t<16e5566a-909d-ba83-7637-1fb6c93126bc@gmail.com>\n\t<20170920162140.369bb198@xeon-e3> <87h8vw5pwg.fsf@luffy.cx>\n\t<CAJieiUgKO-O3YFc3iTQXMmXc287RGgw4FjYhaLn-7+pmA_Fh+g@mail.gmail.com>","Date":"Thu, 21 Sep 2017 17:31:32 +0200","In-Reply-To":"<CAJieiUgKO-O3YFc3iTQXMmXc287RGgw4FjYhaLn-7+pmA_Fh+g@mail.gmail.com>\n\t(Roopa Prabhu's message of \"Thu, 21 Sep 2017 08:09:28 -0700\")","Message-ID":"<87vakc3w6j.fsf@luffy.cx>","User-Agent":"Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]