From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nikolay Aleksandrov Subject: [PATCH net-next 0/2] net: bridge: add support for backup port Date: Fri, 20 Jul 2018 17:48:24 +0300 Message-ID: <20180720144826.29892-1-nikolay@cumulusnetworks.com> Cc: roopa@cumulusnetworks.com, anuradhak@cumulusnetworks.com, stephen@networkplumber.org, bridge@lists.linux-foundation.org, wkok@cumulusnetworks.com, davem@davemloft.net, Nikolay Aleksandrov To: netdev@vger.kernel.org Return-path: Received: from mail-wm0-f66.google.com ([74.125.82.66]:51817 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731792AbeGTPhL (ORCPT ); Fri, 20 Jul 2018 11:37:11 -0400 Received: by mail-wm0-f66.google.com with SMTP id h3-v6so9301857wmb.1 for ; Fri, 20 Jul 2018 07:48:33 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Hi, This set introduces a new bridge port option that allows any port to have any other port (in the same bridge of course) as its backup and traffic will be forwarded to the backup port when the primary goes down. This is mainly used in MLAG and EVPN setups where we have peerlink path which is a backup of many (or even all) ports and is a participating bridge port itself. There's more detailed information in patch 02. Patch 01 just prepares the port sysfs code for options that take raw value. The main issues that this set solves are scalability and fallback latency. We have used similar code for over 6 months now to bring the fallback latency of the backup peerlink down and avoid fdb notification storms. Also due to the nature of master devices such setup is currently not possible, and last but not least having tens of thousands of fdbs require thousands of calls to switch. I've also CCed our MLAG experts that have been using similar option. Thanks, Nik Nikolay Aleksandrov (2): net: bridge: add support for raw sysfs port options net: bridge: add support for backup port include/uapi/linux/if_link.h | 1 + net/bridge/br_forward.c | 16 ++++++++- net/bridge/br_if.c | 53 ++++++++++++++++++++++++++++ net/bridge/br_netlink.c | 30 +++++++++++++++- net/bridge/br_private.h | 3 ++ net/bridge/br_sysfs_if.c | 82 ++++++++++++++++++++++++++++++++++++-------- 6 files changed, 168 insertions(+), 17 deletions(-) -- 2.11.0