Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1273687ybt; Thu, 9 Jul 2020 03:02:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzoK1OhyOy1KjdIva6PWjr6OJ4U0CSm6mMk8mO0N3EMDYU7OzWXjgH4GhDZaHB01u+xOXaJ X-Received: by 2002:aa7:db11:: with SMTP id t17mr69063742eds.365.1594288972701; Thu, 09 Jul 2020 03:02:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594288972; cv=none; d=google.com; s=arc-20160816; b=Q0ulTocm4ZkOjfHvCLTzy5aer4oUNi+JBiaZjNWjvNd9trXE7ozSO/wma4liXY1DOO crnmoYyv82m5GF1hNe8VpS1nP+jqEB9J/E8swncwJeQCiCd7xO8Is5zyzK5GzNUk3Rwx M2BV16XdQjMZ1Zq4WN99CwTvLSzn8B7/20PYnuneg5sWuljKb+tsWRgKcMUQz9TPflsT 2phbUkkTNm+x2Qnx/w04JYL4aZSEkeqfHwIV6eHB2SXjKeytEpcRJWn8yWnyq+P3t+X+ aw1N6+ZlPnxF1BEBOKwi6dCZWLt+Nu8hpUtA8y8csPm0RypA9evW7TvoekJPly27bYng kMlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:dkim-signature; bh=l1b45gUc06SaQHo+C9M0fpEG75BfU9l13ZlZ1OfDiZc=; b=JGiv0QzK4ehsNWgYjNhVtWoUmI9ExNxFOieJWNVg8SPpAT8Yq1A2Op6wFqMBabvE4Z miVBAhfmqyO26BY+u5jxY/nPIdtpjs4tZxkIkjiHW/Z2P+dYJ1R5axKYHJuXDFq4dD72 shCTtJ5tqY0qwYAjqBbf3i48yzGzoCFNTykTSp1ckZYJkITi+X7ztSCPo2vAjfLaAHkC KZHB6aHdsy3pkpkc2q4uOD+GUPNjfKALOZaP8wPc1cK7pHt9FCie0mx+S+ateB2V0HVY XR6jJZNW+cuBxoLXe/FEKutEXvBctiwc7TEPr9bHO4UirmQCoyBEYLwJ5pzSuB8RkWmZ LW+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b="gcY4V/Yx"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qk1si1637712ejb.15.2020.07.09.03.02.29; Thu, 09 Jul 2020 03:02:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b="gcY4V/Yx"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726830AbgGIKCB (ORCPT + 99 others); Thu, 9 Jul 2020 06:02:01 -0400 Received: from esa2.microchip.iphmx.com ([68.232.149.84]:6868 "EHLO esa2.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726774AbgGIKBz (ORCPT ); Thu, 9 Jul 2020 06:01:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1594288915; x=1625824915; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=6VmtK8G/xeP+sqbHDRW00jGBGN8YV1TASrTdld+tic0=; b=gcY4V/YxpfMdk9mW+9SfQcszhwv3DW4azfcvFN+iZDShbU32jeee/jAG 8JLzj6WL7xk0pjyX/Ims5Cg88XrGOSNV20c1YSI9ngl1mNpFe6mhgfTP6 8zSEMktMUE7swhM+DcUqmzWWVQM6Ko6BUtIuJBdG/b7yWP/tqBSOIoxP6 q7Ccm9QKKkPw2P9562jkQ3SjUigeo9ZKYCHcmg2OHP3KmIPOZaAa5YYKs fAQowmBVQpO072tVy+PSSjVXjLXKbrxtHr9JdtvGagAZmvsiTyxETWx8O FgwcF6Om3mf1yUap306eaTKNTBr3NlrSbGsxpMr6ukoiuqQ5h3ZyIDyFW Q==; IronPort-SDR: xtwD/Th7eYwwzUrb07QQyvgXxiwo4JMXdWoa19T0iL6WJk6HHrHiAF1dmaw/JwIN5wSEe/vJ2o LXv4+/rxvBl79bOYvaNVGowX1KoA69CHgv8w2sRk6CReQE8nem2Rlg3DWMiWPG8tkuPF3dKBJk 7C+X5PsvX+BCLQBkgOy2AfL9tej8SFk1uJR/FRWs+dW0L4X30cWqWRHo+ResaNJI2AJsM0sdwS 6rvoOe3jNSu+IepXzIrVuw07rgsidPBEvIM0z5M1ZEyIjHu2pyCPbvNrujyU5eeBYPAozzIPMR jnI= X-IronPort-AV: E=Sophos;i="5.75,331,1589266800"; d="scan'208";a="81197239" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 09 Jul 2020 03:01:54 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Thu, 9 Jul 2020 03:01:53 -0700 Received: from soft-dev3.localdomain (10.10.115.15) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.1979.3 via Frontend Transport; Thu, 9 Jul 2020 03:01:50 -0700 From: Horatiu Vultur To: , , , , , , , , , , CC: Horatiu Vultur Subject: [PATCH net-next v2 06/12] bridge: mrp: Add br_mrp_in_port_open function Date: Thu, 9 Jul 2020 12:00:34 +0200 Message-ID: <20200709100040.554623-7-horatiu.vultur@microchip.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200709100040.554623-1-horatiu.vultur@microchip.com> References: <20200709100040.554623-1-horatiu.vultur@microchip.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This function notifies the userspace when the node lost the continuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_netlink.c | 22 ++++++++++++++++++++++ net/bridge/br_private_mrp.h | 1 + 2 files changed, 23 insertions(+) diff --git a/net/bridge/br_mrp_netlink.c b/net/bridge/br_mrp_netlink.c index acce300c0cc29..4bf7aaeb29152 100644 --- a/net/bridge/br_mrp_netlink.c +++ b/net/bridge/br_mrp_netlink.c @@ -389,3 +389,25 @@ int br_mrp_ring_port_open(struct net_device *dev, u8 loc) out: return err; } + +int br_mrp_in_port_open(struct net_device *dev, u8 loc) +{ + struct net_bridge_port *p; + int err = 0; + + p = br_port_get_rcu(dev); + if (!p) { + err = -EINVAL; + goto out; + } + + if (loc) + p->flags |= BR_MRP_LOST_IN_CONT; + else + p->flags &= ~BR_MRP_LOST_IN_CONT; + + br_ifinfo_notify(RTM_NEWLINK, NULL, p); + +out: + return err; +} diff --git a/net/bridge/br_private_mrp.h b/net/bridge/br_private_mrp.h index d5957f7e687ff..384cb69b47e02 100644 --- a/net/bridge/br_private_mrp.h +++ b/net/bridge/br_private_mrp.h @@ -75,5 +75,6 @@ int br_mrp_port_switchdev_set_role(struct net_bridge_port *p, /* br_mrp_netlink.c */ int br_mrp_ring_port_open(struct net_device *dev, u8 loc); +int br_mrp_in_port_open(struct net_device *dev, u8 loc); #endif /* _BR_PRIVATE_MRP_H */ -- 2.27.0