From patchwork Sun Apr 28 18:45:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 1092316 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="s5mo0jC5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44scHX0ZF6z9s5c for ; Mon, 29 Apr 2019 04:48:08 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727218AbfD1SsG (ORCPT ); Sun, 28 Apr 2019 14:48:06 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:40499 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727200AbfD1SsF (ORCPT ); Sun, 28 Apr 2019 14:48:05 -0400 Received: by mail-wr1-f66.google.com with SMTP id h4so12479252wre.7 for ; Sun, 28 Apr 2019 11:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=jdOcLAyg/WO1qUvZb9ma3mwaDKTvV74cUoHDDMZZI54=; b=s5mo0jC5aDuwGRL6wtWD67n4aVtofgy/owhwhaJOTyr9XCcJw4QhZ3w3jahx4Phosc 2gaQeAGNfmw/REgsRz5OrMxlLy+BLfWkGbXIL6w1sS0m3nzeabSGGhsKnAtSXgXB51mn f6O2gyXLWCpJiSJT/n80KqkpCRcJWZnWd++eo8KHzKtkPk57oisK3iDtNbn716wgbi33 QmAksvj4D5LUSpwAPNmM/GJnjiW6XWQDnZ4nnCwzwyDxD60TgxnbKgOwnkQhQVhLNRo8 3MLKE5zT51Ziw9eWKlba+hRFjxFHB6KJ67DsWnSNJsU5RF/EwSz1TGCbcP/SiQ7E4wRR s0LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=jdOcLAyg/WO1qUvZb9ma3mwaDKTvV74cUoHDDMZZI54=; b=RJRWGESyrmFJrORESIhGz1gZoA3perzsA2eCckyTR7Yi/EkPido54aDdAa1ZZPUZE7 h8g9WHFCpsIFmgIVUwe6Eulvi8yjJpw0HNnNaQaBXnVaZ5nwAv1xt7Xre/3oaXrXTr5t OhWd7Ew5Ki+0/M+nh+TwIy7D6jd4rMi/SNtRgLiTyP4vU+sZTJsG6DoAoBr/V9BNJwAu m6HGsvr5GiH7HeEcAvd8dMEKuTNpQtGN+rQMww0idskiqqVEQb4C2dTZLYQ+lzgVq3Ae qvKNnAvBXXCsFk5sHQuwm0FQvLgVe2/yDlXJzAWLW+AYq8cjEH3cLIyTqcDDEvg4P1v0 bDcQ== X-Gm-Message-State: APjAAAWto2+Q5IYEo0MbjvgbStDt4MSxbgzCcxeMs8OND5ZL/FSAJA7m KRGZCWGkj5fk2MR6ml5Ha+JnkvnDxh0= X-Google-Smtp-Source: APXvYqwloD0fK3kbdoF3H8kTYB3zwC2LmBV1sECG7Ue8SRXW7YakjXvP9uYnM6+TW2seoCsBvFVSAw== X-Received: by 2002:adf:db8a:: with SMTP id u10mr25688110wri.82.1556477283683; Sun, 28 Apr 2019 11:48:03 -0700 (PDT) Received: from localhost.localdomain (5-12-225-227.residential.rdsnet.ro. [5.12.225.227]) by smtp.gmail.com with ESMTPSA id h5sm12254910wmf.38.2019.04.28.11.48.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 11:48:03 -0700 (PDT) From: Vladimir Oltean To: f.fainelli@gmail.com, vivien.didelot@gmail.com, andrew@lunn.ch, davem@davemloft.net Cc: netdev@vger.kernel.org, Vladimir Oltean Subject: [PATCH net-next 08/13] net: dsa: Add helper function to retrieve VLAN awareness setting Date: Sun, 28 Apr 2019 21:45:49 +0300 Message-Id: <20190428184554.9968-9-olteanv@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190428184554.9968-1-olteanv@gmail.com> References: <20190428184554.9968-1-olteanv@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since different types of hardware may or may not support this setting per-port, DSA keeps it either in dsa_switch or in dsa_port. While drivers may know the characteristics of their hardware and retrieve it from the correct place without the need of helpers, it is cumbersone to find out an unambigous answer from generic DSA code. Signed-off-by: Vladimir Oltean Reviewed-by: Andrew Lunn --- include/net/dsa.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/net/dsa.h b/include/net/dsa.h index 4e0f7e9c5aa1..1e6b4efc80b9 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -305,6 +305,16 @@ static inline unsigned int dsa_upstream_port(struct dsa_switch *ds, int port) return dsa_towards_port(ds, cpu_dp->ds->index, cpu_dp->index); } +static inline bool dsa_port_is_vlan_filtering(const struct dsa_port *dp) +{ + const struct dsa_switch *ds = dp->ds; + + if (ds->vlan_filtering_is_global) + return ds->vlan_filtering; + else + return dp->vlan_filtering; +} + typedef int dsa_fdb_dump_cb_t(const unsigned char *addr, u16 vid, bool is_static, void *data); struct dsa_switch_ops {