From patchwork Sat Sep 2 15:21:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 809085 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@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; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="LShQDdWG"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xl0G31Ql5z9sQl for ; Sun, 3 Sep 2017 01:22:03 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752792AbdIBPWB (ORCPT ); Sat, 2 Sep 2017 11:22:01 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:36242 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752765AbdIBPV7 (ORCPT ); Sat, 2 Sep 2017 11:21:59 -0400 Received: by mail-wm0-f67.google.com with SMTP id p17so2641445wmd.3 for ; Sat, 02 Sep 2017 08:21:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=oUQMI9f29MSl3J5sPB1lt4RabRSvJhMEVKanB+gmmRU=; b=LShQDdWGTIZY86hD6t5a2LpFq9XJppucK86HiBYWejGEW3uMPxZPCKsoJ2qK+x+JEM BX61EWBfJEh6zZMQHRfhfwyiuKJFQw6xL7lltlTwBP5EIk1sPqNt+/Fj0CROTHaj+0Sl gsR3W49ZVenZLSyI2D+ZLDUNKebk3GIu7ZDBpR+sCbaZOOR7fC8wuXT5Ao+yEjMcgQI1 c1Jh4qFc6s/JS1VXxD2oftEr0aYY45KTS4cFRwveu28+jSclMFfFjxNXeRgiZZSg561p LT/BPu0BsqETwQ1hRihCBUrbEaWtKR0qiUViRFmcRysMMVJnBqk4+D4/MeTdzkZSKgNl MFKA== 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=oUQMI9f29MSl3J5sPB1lt4RabRSvJhMEVKanB+gmmRU=; b=e1NHPZLcYmjv6xmPvi5PDKUGfcBGlaIhAY/2aINeNc/3TMSiU+7FaGhruDOSNevIOU rnGudDQ/4Mavu7Lne0E9z6NWGS2XA5lbW7SzNi9EQ20S+ReZfB1bkvMAdlY0WjUn4URZ ruoOWKP8r4miCKdKy+0VlBYCZOGknVHX6qOJ6I2CAplrNC0URg9MTYCA9ePfpiVkRyQI VVPMHmJgbJZHUBhoBXE9Y53hqTw2SLbDWAwuyTXx5MeuWeiWmcT7T/JNBKrf/Mz7TVRe 6x+5Ev87EzerBb4RZKcgmjxy5ihL2JinQyqkVk3hZ4Lohy7XHu9Ws4aQMb1cdR/NyLLZ bzEQ== X-Gm-Message-State: AHPjjUgRmsIYEfvhXlSuuq8wyHhMiuOuawJodrmer+J3fqz6APti/FQv nI87z/XSt7hLaIQrcNI= X-Google-Smtp-Source: ADKCNb7FZIpu55RYWcESiY896mj7vi+rSrHJs4hzS9WO77AzFjpcMq45pBll8APjuH+k8lJeEkpC4Q== X-Received: by 10.28.230.83 with SMTP id d80mr941003wmh.30.1504365717438; Sat, 02 Sep 2017 08:21:57 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id j62sm6991552wmf.4.2017.09.02.08.21.56 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 02 Sep 2017 08:21:56 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, petrm@mellanox.com, idosch@mellanox.com, mlxsw@mellanox.com Subject: [patch net-next 19/21] mlxsw: spectrum_router: Add loopback accessors Date: Sat, 2 Sep 2017 17:21:24 +0200 Message-Id: <20170902152126.17286-20-jiri@resnulli.us> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170902152126.17286-1-jiri@resnulli.us> References: <20170902152126.17286-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Petr Machata struct mlxsw_sp_rif is a router-private structure, and therefore everything related to it is as well: parameters, and derived RIF types including loopbacks. IPIP module needs access to some details of loopback interfaces, but exporting all the RIF shebang would create too large an interface. So instead export just the bare minimum necessary: accessors for RIF index and underlay VRF ID. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel Signed-off-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 10 ++++++++++ drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h | 3 +++ 2 files changed, 13 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c index 2189cf0..6068eea 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c @@ -5007,6 +5007,16 @@ u16 mlxsw_sp_rif_index(const struct mlxsw_sp_rif *rif) return rif->rif_index; } +u16 mlxsw_sp_ipip_lb_rif_index(const struct mlxsw_sp_rif_ipip_lb *lb_rif) +{ + return lb_rif->common.rif_index; +} + +u16 mlxsw_sp_ipip_lb_ul_vr_id(const struct mlxsw_sp_rif_ipip_lb *lb_rif) +{ + return lb_rif->ul_vr_id; +} + int mlxsw_sp_rif_dev_ifindex(const struct mlxsw_sp_rif *rif) { return rif->dev->ifindex; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h index 4276f5f..9632476 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h @@ -48,6 +48,7 @@ union mlxsw_sp_l3addr { struct in6_addr addr6; }; +struct mlxsw_sp_rif_ipip_lb; struct mlxsw_sp_rif_ipip_lb_config { enum mlxsw_reg_ritr_loopback_ipip_type lb_ipipt; u32 okey; @@ -65,6 +66,8 @@ struct mlxsw_sp_neigh_entry; struct mlxsw_sp_rif *mlxsw_sp_rif_by_index(const struct mlxsw_sp *mlxsw_sp, u16 rif_index); u16 mlxsw_sp_rif_index(const struct mlxsw_sp_rif *rif); +u16 mlxsw_sp_ipip_lb_rif_index(const struct mlxsw_sp_rif_ipip_lb *rif); +u16 mlxsw_sp_ipip_lb_ul_vr_id(const struct mlxsw_sp_rif_ipip_lb *rif); int mlxsw_sp_rif_dev_ifindex(const struct mlxsw_sp_rif *rif); int mlxsw_sp_rif_counter_value_get(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_rif *rif,