From patchwork Tue Apr 17 06:51:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Nikita V. Shirokov" X-Patchwork-Id: 899088 X-Patchwork-Delegate: bpf@iogearbox.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=none (p=none dis=none) header.from=tehnerd.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=tehnerd-com.20150623.gappssmtp.com header.i=@tehnerd-com.20150623.gappssmtp.com header.b="odF0CLhP"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40QGBx301zz9ry1 for ; Tue, 17 Apr 2018 16:52:09 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752250AbeDQGwF (ORCPT ); Tue, 17 Apr 2018 02:52:05 -0400 Received: from mail-pg0-f68.google.com ([74.125.83.68]:36472 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752145AbeDQGv6 (ORCPT ); Tue, 17 Apr 2018 02:51:58 -0400 Received: by mail-pg0-f68.google.com with SMTP id z135so2562649pgz.3 for ; Mon, 16 Apr 2018 23:51:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tehnerd-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZSkw1ZA1261DaStlytHc0xDCbeaqhx8dwZf6J9LrX24=; b=odF0CLhPdg2lDHADv6wagoungqTLQIAhwNqftGCOYTpWWqwas72BMTHFAGty3OB+Bb 3jdOTC4bvYWTImucMzrbTkwVcjOrYPZhNA995kFfd8KXukEsIpMyVAWoh1AMnFAC5d0P IB3kwesHo+KyR4PrfBGE9FpOsXcQHV6YPw1DLDkRYk9F0I+Le6Xoiv78x/MalSxrQamI aHqq+dqpYujnNxjaayzVA6glvkVz2Pm7GiE9sm9lLWKPjaRlEEdE4fINCE51NmjvrzFK DQR2sTn9OMlF2riUJkN18StqWW8KTFgIyq4wbCAWh1+rZUsq7J8JGKe1Ov7qCMqGNZ7V hosw== 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=ZSkw1ZA1261DaStlytHc0xDCbeaqhx8dwZf6J9LrX24=; b=RQ/WaKfQyLJfsgQcV3EjZ6g/VqRfaksNV1DSjhZagohZ96f/BZJxWc67vxQ1hhSuUZ f4VdQZyUQd8C4zJSzjvtEzSWI0IX+U8gpw7irBz62G/NmLJKalv01r88Y6F80laaeVFV GedhQ4hyDDsxcV7aTr/DOufH4asaNVg1Nhef7qKaRG1SqXC9pigu40dusDHuRes6t7/o ZLEljl/5T2iG5THH71eDXIaOHD4yB3zO9t8Yy80T9TtgdmtyM0I4lO5UNLgpTTbC8GOg tBXsOPlyOUNcpicaeID7KUV4XJ0qHGED7HlA02rnID5sbRg+MynoTLmvi3oY7aao7fkY Fxuw== X-Gm-Message-State: ALQs6tAzjN7W6lNvzaWsZf4hVrQw0aqSQSL2sQbBt0pNu6o3fYX4jSD5 tWDsgUpsJCrI5/PxEysQ52u0r2bqgf6vWw== X-Google-Smtp-Source: AIpwx49q6GW0gs1F/g/UtmzpmxigavbqWrThd2HyNsvjeasVY56jAJ1KVqiCrMsDgVGsdQ+HMCA0vg== X-Received: by 10.98.207.130 with SMTP id b124mr926454pfg.9.1523947918244; Mon, 16 Apr 2018 23:51:58 -0700 (PDT) Received: from maindev.thefacebook.com ([199.201.64.2]) by smtp.gmail.com with ESMTPSA id u13sm32268031pfd.112.2018.04.16.23.51.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Apr 2018 23:51:57 -0700 (PDT) From: "Nikita V. Shirokov" To: Alexei Starovoitov , Daniel Borkmann , Jakub Kicinski Cc: netdev@vger.kernel.org, "Nikita V. Shirokov" Subject: [PATCH bpf-next 08/10] [bpf]: make netronome nfp compatible w/ bpf_xdp_adjust_tail Date: Mon, 16 Apr 2018 23:51:29 -0700 Message-Id: <20180417065131.3632-9-tehnerd@tehnerd.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180417065131.3632-1-tehnerd@tehnerd.com> References: <20180417065131.3632-1-tehnerd@tehnerd.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org w/ bpf_xdp_adjust_tail helper xdp's data_end pointer could be changed as well (only "decrease" of pointer's location is going to be supported). changing of this pointer will change packet's size. for nfp driver we will just calculate packet's length unconditionally Signed-off-by: Nikita V. Shirokov Acked-by: Jakub Kicinski --- drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index 1eb6549f2a54..d9111c077699 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -1722,7 +1722,7 @@ static int nfp_net_rx(struct nfp_net_rx_ring *rx_ring, int budget) act = bpf_prog_run_xdp(xdp_prog, &xdp); - pkt_len -= xdp.data - orig_data; + pkt_len = xdp.data_end - xdp.data; pkt_off += xdp.data - orig_data; switch (act) {