From patchwork Wed Aug 17 14:39:32 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 660152 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3sDsMb2Hpkz9sf9 for ; Thu, 18 Aug 2016 00:40:11 +1000 (AEST) 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=GmAGIIGs; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753038AbcHQOkI (ORCPT ); Wed, 17 Aug 2016 10:40:08 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:36786 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752345AbcHQOjr (ORCPT ); Wed, 17 Aug 2016 10:39:47 -0400 Received: by mail-wm0-f68.google.com with SMTP id i138so24727024wmf.3 for ; Wed, 17 Aug 2016 07:39:46 -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=5f2KfSwwkfmgibwFZDpSbz+9Vash/bGFHjaULwNDNCM=; b=GmAGIIGsoJEQ/VoTnhPNQ1YOBjWbfXfazehUkFmzXgJ6v3u9ITbu4YTZedIcne8asH tgGW77AumIylKVCzAfdoplLXjC+bzmhjR1jx/LwBUn+ZKUERfFGIWCVZfqvbEnEFl5xp Rd6frsussWBUEduwiTLVURkzd6IbHhETga6AyEt/S+FZmM8PsKrcuZFSr9Xlp7JKcbOw xbEssqY84srya4G7pUwzLdy70McQc3O3E+dpky+ro3rpEWAiKYKPh9GcIkbNc8CU0s8x ZyCDA32T3xsmS2WXIPSvmiDDJT8s7bONa1NUIdOCbjMsdsYMius8FMd/jYW9cBpnPKnp lLLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5f2KfSwwkfmgibwFZDpSbz+9Vash/bGFHjaULwNDNCM=; b=lu6u22CncS/VVO40PtRxPqaFINgbeLwvEqcM4Fz7zna7/a9tLC106kDIzxqY6JbHaR 3hILjENrtMh5Q1J0UKZgMPnBKN6sl4Tp8pjx1V7kl/5UT/CEP4I7BWrMN93A5MGMwRQC V0QbL1TSFv506TzjNhRtwD9TZ9ycOp7PY4DAwf2+4Ii1QzXJbnCKt5IQmJyZ5OBUybOy 1fNoAquRT5wtkpXy2WoWtS415pIj648a/MvPNNXB1w+iQvF/BPVMHGajUL6Gab6ZCilC 2PsdN1vmbjVpxQSCiBWVy+vmpgC+FBTCQYlR4S0ZX3popPmzWLa9w5Hx6thiiCMOSJvG CAyQ== X-Gm-Message-State: AEkoousHYXz0BddYqXyhFLHquZGPIbTacvjkFRLxVV6Y+B2bJ0xyhBN7SellL7lgwXQyVg== X-Received: by 10.28.43.129 with SMTP id r123mr27569482wmr.1.1471444785769; Wed, 17 Aug 2016 07:39:45 -0700 (PDT) Received: from localhost (ip-78-45-162-30.net.upcbroadband.cz. [78.45.162.30]) by smtp.gmail.com with ESMTPSA id q65sm837581wmd.24.2016.08.17.07.39.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 17 Aug 2016 07:39:45 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, idosch@mellanox.com, eladr@mellanox.com, yotamg@mellanox.com, nogahf@mellanox.com, ogerlitz@mellanox.com, ilant@mellanox.com Subject: [patch net v2 05/10] mlxsw: spectrum: Add missing packet traps Date: Wed, 17 Aug 2016 16:39:32 +0200 Message-Id: <1471444777-3412-6-git-send-email-jiri@resnulli.us> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1471444777-3412-1-git-send-email-jiri@resnulli.us> References: <1471444777-3412-1-git-send-email-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Elad Raz Add the following traps: 1) MTU Error: Trap packets whose size is bigger than the egress RIF's MTU. If DF bit isn't set, traffic will continue to be routed in slow path. 2) TTL Error: Trap packets whose TTL expired. This allows traceroute to work properly. 3) OSPF packets. Fixes: 7b27ce7bb9cd ("mlxsw: spectrum: Add traps needed for router implementation") Signed-off-by: Elad Raz Signed-off-by: Ido Schimmel Signed-off-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 15 +++++++++++++++ drivers/net/ethernet/mellanox/mlxsw/trap.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 12681db..6b69c8a 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -2651,6 +2651,21 @@ static const struct mlxsw_rx_listener mlxsw_sp_rx_listener[] = { { .func = mlxsw_sp_rx_listener_func, .local_port = MLXSW_PORT_DONT_CARE, + .trap_id = MLXSW_TRAP_ID_MTUERROR, + }, + { + .func = mlxsw_sp_rx_listener_func, + .local_port = MLXSW_PORT_DONT_CARE, + .trap_id = MLXSW_TRAP_ID_TTLERROR, + }, + { + .func = mlxsw_sp_rx_listener_func, + .local_port = MLXSW_PORT_DONT_CARE, + .trap_id = MLXSW_TRAP_ID_OSPF, + }, + { + .func = mlxsw_sp_rx_listener_func, + .local_port = MLXSW_PORT_DONT_CARE, .trap_id = MLXSW_TRAP_ID_IP2ME, }, { diff --git a/drivers/net/ethernet/mellanox/mlxsw/trap.h b/drivers/net/ethernet/mellanox/mlxsw/trap.h index 470d769..9508e0a 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/trap.h +++ b/drivers/net/ethernet/mellanox/mlxsw/trap.h @@ -56,6 +56,9 @@ enum { MLXSW_TRAP_ID_IGMP_V3_REPORT = 0x34, MLXSW_TRAP_ID_ARPBC = 0x50, MLXSW_TRAP_ID_ARPUC = 0x51, + MLXSW_TRAP_ID_MTUERROR = 0x52, + MLXSW_TRAP_ID_TTLERROR = 0x53, + MLXSW_TRAP_ID_OSPF = 0x55, MLXSW_TRAP_ID_IP2ME = 0x5F, MLXSW_TRAP_ID_RTR_INGRESS0 = 0x70, MLXSW_TRAP_ID_HOST_MISS_IPV4 = 0x90,