From patchwork Tue Jan 30 03:46:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 595 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 04B3543A05; Tue, 30 Jan 2024 04:49:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 854384029A; Tue, 30 Jan 2024 04:49:38 +0100 (CET) Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by mails.dpdk.org (Postfix) with ESMTP id B846340275 for ; Tue, 30 Jan 2024 04:49:36 +0100 (CET) Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-1d7232dcb3eso16207235ad.2 for ; Mon, 29 Jan 2024 19:49:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1706586576; x=1707191376; darn=dpdk.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=sXzsb6u7j6jqIhkysF76nMRnYvM9fGGa2JzKQevhle4=; b=a7H1xWAldcuZdjp38eJEaKwGkAfiiR8/BETrig0+WmIf7Dr/KaEvoiM4Z1qV5TGsSS 1BismyTQ5WaAOieWVNToxXLuCDxN5JcfA+YbWHN3UNvWNYOgO+zaeZTV5BftnjWeoVrU 7Y/0+DsdTXnoJSVqEqJjzwx2TuAaFCLah3lgAZRyv5iB6pXyxm3RwlaFhTn34dDEToYD w7fWTveaVgd0bvRzNbStuQDj37tb8EjNh87p8XYjrd0WvgJJW+S6qdyQ9vFN4kf5cjXw l5VX2D3kigjaSpCSef/TkL/bAKcgxr7wz+pbvsH3K+ASzxKFSPlOurUGNcXGFWLsCo7I e46w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706586576; x=1707191376; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=sXzsb6u7j6jqIhkysF76nMRnYvM9fGGa2JzKQevhle4=; b=OHrwzhihciniFNUNu4j/awqLN/CCC17RSUnAYiPil+lF76YqmGvMF87ssAIJpfr6zh X6LYcNouYXoiS7yM7V/yKlDjilhbaZ8imqwQ/UnTtOWewpwt+2p9rfPKvyfJlZTAstqA zHCT9eQAUPb7w7uW2KGKaE4gDUsCQo0RicWJTaugr4MvsDK8ODEn1IfKwUYMmYX7y+jc hPS0oSIMOEKZ64kJlPSgFuPlJj8Wjz6x3hCq/Qa0oPMkGKX/TLmqPlmWDtmb3JGhTAMh vv0qULvL8z1d+XlnfZEy6Fk4CP3gAodkrUBZ8xCvUbNL2nEwXl6n+ZRTTJtRT41PnvC6 lKTw== X-Gm-Message-State: AOJu0YxBI/EoQjVQvAW9JZiAYG8pfDXyzbx29eARGtKLGPIdKGyydDHh tMhQjrrQXWAs+waq0fhpEYidN0vG9C3gPitn0RlJNJjLRCRFAlojvZ0jUxUqJ2OxF8rRrSSlGbk y394= X-Google-Smtp-Source: AGHT+IHDLNrrk3ttjrqySm18csddGP3PcmONqFXZKBaiZDvDXa1jzdr9Zr3Q7r854YWZxIb2YZottQ== X-Received: by 2002:a17:902:c3d1:b0:1d8:ef9d:7ced with SMTP id j17-20020a170902c3d100b001d8ef9d7cedmr2435640plj.26.1706586575533; Mon, 29 Jan 2024 19:49:35 -0800 (PST) Received: from hermes.local (204-195-123-141.wavecable.com. [204.195.123.141]) by smtp.gmail.com with ESMTPSA id ix6-20020a170902f80600b001d77a0e1374sm6150672plb.151.2024.01.29.19.49.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jan 2024 19:49:34 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [RFC 0/2] net/tap RSS BPF rewrite Date: Mon, 29 Jan 2024 19:46:50 -0800 Message-ID: <20240130034925.44869-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This is a early (alpha) view of my recent work to to update (gut job) of the RSS handling in the tap device. The rework was so big that it did not make sense to do it in incremental stages. Overall it comes out much simpler and cleaner. Much more testing is needed, at this point it will load the program and try and setup filter (but fails). Stephen Hemminger (2): tap: stop "vendoring" linux bpf headers tap: rework BPF handling .gitignore | 3 - drivers/net/tap/bpf/.gitignore | 2 + drivers/net/tap/bpf/Makefile | 21 +- drivers/net/tap/bpf/README | 12 + drivers/net/tap/bpf/bpf_api.h | 276 - drivers/net/tap/bpf/bpf_elf.h | 53 - drivers/net/tap/bpf/bpf_extract.py | 86 - drivers/net/tap/bpf/tap_bpf_program.c | 255 - drivers/net/tap/bpf/tap_rss.c | 269 + drivers/net/tap/meson.build | 26 +- drivers/net/tap/rte_eth_tap.c | 2 + drivers/net/tap/rte_eth_tap.h | 9 +- drivers/net/tap/tap_bpf.h | 121 - drivers/net/tap/tap_bpf_api.c | 190 - drivers/net/tap/tap_bpf_insns.h | 1743 ---- drivers/net/tap/tap_flow.c | 530 +- drivers/net/tap/tap_flow.h | 11 +- drivers/net/tap/tap_rss.h | 14 +- drivers/net/tap/tap_rss.skel.h | 11625 ++++++++++++++++++++++++ drivers/net/tap/tap_rss.stub.h | 45 + 20 files changed, 12137 insertions(+), 3156 deletions(-) create mode 100644 drivers/net/tap/bpf/.gitignore create mode 100644 drivers/net/tap/bpf/README delete mode 100644 drivers/net/tap/bpf/bpf_api.h delete mode 100644 drivers/net/tap/bpf/bpf_elf.h delete mode 100644 drivers/net/tap/bpf/bpf_extract.py delete mode 100644 drivers/net/tap/bpf/tap_bpf_program.c create mode 100644 drivers/net/tap/bpf/tap_rss.c delete mode 100644 drivers/net/tap/tap_bpf.h delete mode 100644 drivers/net/tap/tap_bpf_api.c delete mode 100644 drivers/net/tap/tap_bpf_insns.h create mode 100644 drivers/net/tap/tap_rss.skel.h create mode 100644 drivers/net/tap/tap_rss.stub.h