Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp1245447pxt; Sat, 7 Aug 2021 05:09:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxvHxm6dcKHQzmvs8Fi9KSJpINsK1NQpbq4OSCgBnPNamu7g6kpU/uz+1rQRH0bHgirCcpZ X-Received: by 2002:a6b:f813:: with SMTP id o19mr95070ioh.49.1628338173896; Sat, 07 Aug 2021 05:09:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628338173; cv=none; d=google.com; s=arc-20160816; b=Sz/Ga1K8M4nyV0RwtZyfEdKeo+EzdeQv2IyJyvFsejbNMUfx6Q3g2jgblrpNHwfgfQ TT3SRxadiQZEw7q36WVXohqp1u/ZjlzV9B2YT19z5fb6CxDFIaG/khaVzKIhYij52daV kVBPoIvSUnlUPFSLqLExFWkLQhi7N7YhmMrb00JEDGzC7OvEPC9LgWKJ7Ge1RXx1bVYK B/b9NjbgZhDnsSpqwaT/Uri63BczW7PfsFRwxya27wIAHKMivfuQAr4mYVcgkQsDH8jg igGSK9+UdF7J3a5jYzK0DhOYwIMtN33nsOxBMz2iiVZn9DMirKDnCulxfnUR2uZDzoog wrzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Fe+Qj13L2fpPtbQOlPpWUWp2MGqwowpxswIvzZUFPvw=; b=K5/bTWMEqzMlORxlbqT5t8T1XQD2GlxDAK/ftAfWux8RoLqSTKDzts8gkkxRVNz50W LtSem1CjYDQvmVQafjTO0vjDVUUxM3Suj90914l4UhG7lFgAfSvSuiGuyV0/allFd8FU 8FloYCycp73akEJf4CjJAZYot3/kBchWoDiAmsSskvXMt3KQPRnXHm042nv5K4jRHmFJ Rv4DqzDQV0FZ2KmuELEUGi6L/foBAP7trUv2YefoFY5ySZllww9mrXg8KwUE3KWGZeWA K+ja83I0w7pmtUDTNjX88Tf4pZZDekjpqIUBLzqRW47VKrOqi0xHSb0U2zXMdrWNHyBn zD0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pwxgEYD4; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o3si8354411jap.101.2021.08.07.05.09.22; Sat, 07 Aug 2021 05:09:33 -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=pass header.i=@gmail.com header.s=20161025 header.b=pwxgEYD4; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232287AbhHGMIY (ORCPT + 99 others); Sat, 7 Aug 2021 08:08:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232243AbhHGMIW (ORCPT ); Sat, 7 Aug 2021 08:08:22 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D2A4CC0613CF; Sat, 7 Aug 2021 05:08:03 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id u2so10837666plg.10; Sat, 07 Aug 2021 05:08:03 -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 :mime-version:content-transfer-encoding; bh=Fe+Qj13L2fpPtbQOlPpWUWp2MGqwowpxswIvzZUFPvw=; b=pwxgEYD4YDmvPKT65ehV5p9rq2kaMo1WsBdQc0LPMOsK1ocpIMQExH6S9dM+nWEIUJ NeD9P1sVLAAoZLx1pH33AZzFQ8FI5u+ob9GqsJEJjfWvDcB5BEa84neHewUlfLIgzmhb Q1AqIEtcRcbi2LNjRE3k8egJj2XClxNeqyLseB3clw6RpNRoCdPEFW98HyaxqWyNpZSE hsSzo+T7tDsvO8kzAuxsP8e78zoyx4Ht3deLvxZkiLDC5EIxAw488igkkvwbMHyR8UV7 BxOVfPwSdCxmbcFVq9ViT/PBRb3dN88DaIiO+nzuG1RnCg96karkTqlwRxKqPuvFSD/u PgbA== 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:mime-version:content-transfer-encoding; bh=Fe+Qj13L2fpPtbQOlPpWUWp2MGqwowpxswIvzZUFPvw=; b=HIuUgCzZHJ/gYh//5AeaGG7ZN1ynA9xZMnXStmH4i/Gl0beGnN9TC2V5GSiIt8QuAc tU7ePlnEsRqceERLCWool8DBjPGaDoB5t+VpyEbq5QTfIuhhFhk5qhAU0HpkQaRsvTyk +tpESWPmgGChSrMUcFQAJAZCGojGYIwZU43L81RiKD/rJAEYjLsQTU9mwDPDL7mOFqOf VOOvYli4hlDaIzFHMId04m9iXGILTANWhomCCk6T2riOorqbmAJPZ8ScXyhcK+eThX07 t7JaCvsnbYfmoAd8Ao2YLtZwqKgu45LP6HSVmvFAAEPIsxHtgENm6LNqlF/2pWhgPlrb Ge3g== X-Gm-Message-State: AOAM530pVNXC71GmM+9qr1EQ/ARFSEV0UkY7KsEAlCAS+OHbfaG/thBF M+5Vl+p6pzAtUFPhGtOk43I= X-Received: by 2002:a62:9709:0:b029:3b2:ef36:6872 with SMTP id n9-20020a6297090000b02903b2ef366872mr15186759pfe.34.1628338083415; Sat, 07 Aug 2021 05:08:03 -0700 (PDT) Received: from haswell-ubuntu20.lan ([138.197.212.246]) by smtp.gmail.com with ESMTPSA id b15sm16471035pgj.60.2021.08.07.05.07.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Aug 2021 05:08:02 -0700 (PDT) From: DENG Qingfang To: Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Jakub Kicinski , Russell King , netdev@vger.kernel.org (open list:NETWORKING DRIVERS), linux-kernel@vger.kernel.org (open list) Cc: Ansuel Smith , Jonathan McDowell , =?UTF-8?q?Michal=20Vok=C3=A1=C4=8D?= , Christian Lamparter , Nishka Dasgupta , Xiaofei Shen , John Crispin , Stefan Lippers-Hollmann , Hannu Nyman , Imran Khan , Frank Wunderlich , Nick Lowe , =?UTF-8?q?Andr=C3=A9=20Valentin?= Subject: [RFC net-next 3/3] net: dsa: tag_qca: set offload_fwd_mark Date: Sat, 7 Aug 2021 20:07:26 +0800 Message-Id: <20210807120726.1063225-4-dqfext@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210807120726.1063225-1-dqfext@gmail.com> References: <20210807120726.1063225-1-dqfext@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As we offload flooding and forwarding, set offload_fwd_mark according to Atheros header's type. Signed-off-by: DENG Qingfang --- net/dsa/tag_qca.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c index 6e3136990491..ee5c1fdfef47 100644 --- a/net/dsa/tag_qca.c +++ b/net/dsa/tag_qca.c @@ -50,7 +50,7 @@ static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev) static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev) { - u8 ver; + u8 ver, type; u16 hdr; int port; __be16 *phdr; @@ -82,6 +82,15 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev) if (!skb->dev) return NULL; + type = (hdr & QCA_HDR_RECV_TYPE_MASK) >> QCA_HDR_RECV_TYPE_S; + switch (type) { + case 0x00: /* Normal packet */ + case 0x19: /* Flooding to CPU */ + case 0x1a: /* Forwarding to CPU */ + dsa_default_offload_fwd_mark(skb); + break; + } + return skb; } -- 2.25.1