Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/834103/?format=api
{ "id": 834103, "url": "http://patchwork.ozlabs.org/api/1.2/patches/834103/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20171103205630.1083-2-jakub.kicinski@netronome.com/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/1.2/projects/7/?format=api", "name": "Linux network development", "link_name": "netdev", "list_id": "netdev.vger.kernel.org", "list_email": "netdev@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20171103205630.1083-2-jakub.kicinski@netronome.com>", "list_archive_url": null, "date": "2017-11-03T20:56:16", "name": "[net-next,v2,01/15] net: bpf: rename ndo_xdp to ndo_bpf", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "9331386ccbb07e9ff7a1bcdc74efd2c4b3a98e2c", "submitter": { "id": 67484, "url": "http://patchwork.ozlabs.org/api/1.2/people/67484/?format=api", "name": "Jakub Kicinski", "email": "jakub.kicinski@netronome.com" }, "delegate": { "id": 34, "url": "http://patchwork.ozlabs.org/api/1.2/users/34/?format=api", "username": "davem", "first_name": "David", "last_name": "Miller", "email": "davem@davemloft.net" }, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20171103205630.1083-2-jakub.kicinski@netronome.com/mbox/", "series": [ { "id": 11839, "url": "http://patchwork.ozlabs.org/api/1.2/series/11839/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=11839", "date": "2017-11-03T20:56:15", "name": "bpf: add offload as a first class citizen", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/11839/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/834103/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/834103/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netdev-owner@vger.kernel.org>", "X-Original-To": "patchwork-incoming@ozlabs.org", "Delivered-To": "patchwork-incoming@ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=netronome-com.20150623.gappssmtp.com\n\theader.i=@netronome-com.20150623.gappssmtp.com\n\theader.b=\"AJ42ecm3\"; dkim-atps=neutral" ], "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yTDn13fqCz9s7p\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSat, 4 Nov 2017 07:57:57 +1100 (AEDT)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1756064AbdKCU5z (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 3 Nov 2017 16:57:55 -0400", "from mail-pf0-f193.google.com ([209.85.192.193]:56579 \"EHLO\n\tmail-pf0-f193.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751451AbdKCU4q (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Fri, 3 Nov 2017 16:56:46 -0400", "by mail-pf0-f193.google.com with SMTP id b85so3016389pfj.13\n\tfor <netdev@vger.kernel.org>; Fri, 03 Nov 2017 13:56:45 -0700 (PDT)", "from jkicinski-Precision-T1700.netronome.com ([75.53.12.129])\n\tby smtp.gmail.com with ESMTPSA id\n\to10sm9989029pgq.69.2017.11.03.13.56.44\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tFri, 03 Nov 2017 13:56:44 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=netronome-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=EVtYtejTNLqvkHHO6ONEx7yhCh/ec4cTMWMmRCFTDHA=;\n\tb=AJ42ecm37lUYCzlHL0zEfFu3MBfTFJ1yifsD9lgnggl0zdthWbau9k9Dm4Ysy6zdVZ\n\tfsv44IXWtJRg+bONwwyWy1z0uU0Xh337n8LAYH/SwdUD2PhYUeTFAd4w1o7yycTC4RoS\n\tEftZBDKWLhNfAHuxDbyrc8wdsqO9oA6L6CHEFbVQeZkp5M7cYux4el1EHoMdOG/9x+R/\n\tPBQC4XQaKQLeLzAGMgiONIQxTvtHyef4ZSwmnyqBDh+M5yocG2s1C9daWux5oB6SGSsn\n\tVgVRKLl4E2pEalYhaHKXcuYIrk0G+EvEwDHXhYi/nzBsdt89FRaBNVc1up7d+rrjAYMt\n\tubjg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=EVtYtejTNLqvkHHO6ONEx7yhCh/ec4cTMWMmRCFTDHA=;\n\tb=YiO4tSrPgbZ4AmEUT8w3CjlfxKZ90wKucf+V3DHW1ufWFxsxujazQ2y9aOo+yufnU3\n\tL3feL1lAll98fmiGU8iBC8/3SpLZZidT1But854uVbXKsWdAnFym/uPykxNYe6A0fChy\n\tH7d/QrDSr8mfMdTCoxd8ehTOIs+tRKG2nmGnx7nRa8O7yPZKonlM1rjqleyJioy3hS+/\n\tjgby1iFmcauYD0w+kIt9jVDR0J7IK/jFU0G1xOYYlJU9/gMltR1gkWyfUQnh1rRGTAdh\n\tnK29tH0LigkM7TY5TpoTVxp8oa6RK0ine/JXyQOCpxyWvcC3PBwLcmqbHZ3BbM716r45\n\tUEoQ==", "X-Gm-Message-State": "AMCzsaXPzOBEEO+aXO8iAGiEDBY5gz9Q+iPQ5yy75HGWz3hnUQuUha6p\n\tIwEM6RtoiXgscQVfgi5+yO9DTxzu", "X-Google-Smtp-Source": "ABhQp+RgHrL8c+1+xPR2uFIlkQgJdDowlIwEIkPRLg+Qqj6T+FFjc3p8BPkS51LGaMaVn3T7/+ABgQ==", "X-Received": "by 10.98.205.68 with SMTP id o65mr8962646pfg.117.1509742605177; \n\tFri, 03 Nov 2017 13:56:45 -0700 (PDT)", "From": "Jakub Kicinski <jakub.kicinski@netronome.com>", "To": "netdev@vger.kernel.org", "Cc": "oss-drivers@netronome.com, alexei.starovoitov@gmail.com,\n\tdaniel@iogearbox.net, Jakub Kicinski <jakub.kicinski@netronome.com>", "Subject": "[PATCH net-next v2 01/15] net: bpf: rename ndo_xdp to ndo_bpf", "Date": "Fri, 3 Nov 2017 13:56:16 -0700", "Message-Id": "<20171103205630.1083-2-jakub.kicinski@netronome.com>", "X-Mailer": "git-send-email 2.14.1", "In-Reply-To": "<20171103205630.1083-1-jakub.kicinski@netronome.com>", "References": "<20171103205630.1083-1-jakub.kicinski@netronome.com>", "Sender": "netdev-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "ndo_xdp is a control path callback for setting up XDP in the\ndriver. We can reuse it for other forms of communication\nbetween the eBPF stack and the drivers. Rename the callback\nand associated structures and definitions.\n\nSigned-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>\nReviewed-by: Simon Horman <simon.horman@netronome.com>\nReviewed-by: Quentin Monnet <quentin.monnet@netronome.com>\n---\n drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-\n drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 +-\n drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h | 2 +-\n drivers/net/ethernet/cavium/thunder/nicvf_main.c | 4 +--\n drivers/net/ethernet/intel/i40e/i40e_main.c | 6 ++--\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 +--\n drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 6 ++--\n drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 4 +--\n .../net/ethernet/netronome/nfp/nfp_net_common.c | 4 +--\n drivers/net/ethernet/qlogic/qede/qede.h | 2 +-\n drivers/net/ethernet/qlogic/qede/qede_filter.c | 2 +-\n drivers/net/ethernet/qlogic/qede/qede_main.c | 4 +--\n drivers/net/tun.c | 4 +--\n drivers/net/virtio_net.c | 4 +--\n include/linux/netdevice.h | 23 ++++++++-------\n net/core/dev.c | 34 +++++++++++-----------\n net/core/rtnetlink.c | 4 +--\n 17 files changed, 56 insertions(+), 55 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c\nindex 4e3d569bf32e..96416f5d97f3 100644\n--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c\n+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c\n@@ -7775,7 +7775,7 @@ static const struct net_device_ops bnxt_netdev_ops = {\n #endif\n \t.ndo_udp_tunnel_add\t= bnxt_udp_tunnel_add,\n \t.ndo_udp_tunnel_del\t= bnxt_udp_tunnel_del,\n-\t.ndo_xdp\t\t= bnxt_xdp,\n+\t.ndo_bpf\t\t= bnxt_xdp,\n \t.ndo_bridge_getlink\t= bnxt_bridge_getlink,\n \t.ndo_bridge_setlink\t= bnxt_bridge_setlink,\n \t.ndo_get_phys_port_name = bnxt_get_phys_port_name\ndiff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c\nindex 06ce63c00821..261e5847557a 100644\n--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c\n+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c\n@@ -208,7 +208,7 @@ static int bnxt_xdp_set(struct bnxt *bp, struct bpf_prog *prog)\n \treturn 0;\n }\n \n-int bnxt_xdp(struct net_device *dev, struct netdev_xdp *xdp)\n+int bnxt_xdp(struct net_device *dev, struct netdev_bpf *xdp)\n {\n \tstruct bnxt *bp = netdev_priv(dev);\n \tint rc;\ndiff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h\nindex 12a5ad66b564..414b748038ca 100644\n--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h\n+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h\n@@ -16,6 +16,6 @@ void bnxt_tx_int_xdp(struct bnxt *bp, struct bnxt_napi *bnapi, int nr_pkts);\n bool bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons,\n \t\t struct page *page, u8 **data_ptr, unsigned int *len,\n \t\t u8 *event);\n-int bnxt_xdp(struct net_device *dev, struct netdev_xdp *xdp);\n+int bnxt_xdp(struct net_device *dev, struct netdev_bpf *xdp);\n \n #endif\ndiff --git a/drivers/net/ethernet/cavium/thunder/nicvf_main.c b/drivers/net/ethernet/cavium/thunder/nicvf_main.c\nindex 71989e180289..a063c36c4c58 100644\n--- a/drivers/net/ethernet/cavium/thunder/nicvf_main.c\n+++ b/drivers/net/ethernet/cavium/thunder/nicvf_main.c\n@@ -1741,7 +1741,7 @@ static int nicvf_xdp_setup(struct nicvf *nic, struct bpf_prog *prog)\n \treturn 0;\n }\n \n-static int nicvf_xdp(struct net_device *netdev, struct netdev_xdp *xdp)\n+static int nicvf_xdp(struct net_device *netdev, struct netdev_bpf *xdp)\n {\n \tstruct nicvf *nic = netdev_priv(netdev);\n \n@@ -1774,7 +1774,7 @@ static const struct net_device_ops nicvf_netdev_ops = {\n \t.ndo_tx_timeout = nicvf_tx_timeout,\n \t.ndo_fix_features = nicvf_fix_features,\n \t.ndo_set_features = nicvf_set_features,\n-\t.ndo_xdp\t\t= nicvf_xdp,\n+\t.ndo_bpf\t\t= nicvf_xdp,\n };\n \n static int nicvf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex dfecaeda0654..05b94d87a6c3 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -11648,12 +11648,12 @@ static int i40e_xdp_setup(struct i40e_vsi *vsi,\n }\n \n /**\n- * i40e_xdp - implements ndo_xdp for i40e\n+ * i40e_xdp - implements ndo_bpf for i40e\n * @dev: netdevice\n * @xdp: XDP command\n **/\n static int i40e_xdp(struct net_device *dev,\n-\t\t struct netdev_xdp *xdp)\n+\t\t struct netdev_bpf *xdp)\n {\n \tstruct i40e_netdev_priv *np = netdev_priv(dev);\n \tstruct i40e_vsi *vsi = np->vsi;\n@@ -11705,7 +11705,7 @@ static const struct net_device_ops i40e_netdev_ops = {\n \t.ndo_features_check\t= i40e_features_check,\n \t.ndo_bridge_getlink\t= i40e_ndo_bridge_getlink,\n \t.ndo_bridge_setlink\t= i40e_ndo_bridge_setlink,\n-\t.ndo_xdp\t\t= i40e_xdp,\n+\t.ndo_bpf\t\t= i40e_xdp,\n };\n \n /**\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex 507977994a03..e5dcb25be398 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n@@ -10004,7 +10004,7 @@ static int ixgbe_xdp_setup(struct net_device *dev, struct bpf_prog *prog)\n \treturn 0;\n }\n \n-static int ixgbe_xdp(struct net_device *dev, struct netdev_xdp *xdp)\n+static int ixgbe_xdp(struct net_device *dev, struct netdev_bpf *xdp)\n {\n \tstruct ixgbe_adapter *adapter = netdev_priv(dev);\n \n@@ -10113,7 +10113,7 @@ static const struct net_device_ops ixgbe_netdev_ops = {\n \t.ndo_udp_tunnel_add\t= ixgbe_add_udp_tunnel_port,\n \t.ndo_udp_tunnel_del\t= ixgbe_del_udp_tunnel_port,\n \t.ndo_features_check\t= ixgbe_features_check,\n-\t.ndo_xdp\t\t= ixgbe_xdp,\n+\t.ndo_bpf\t\t= ixgbe_xdp,\n \t.ndo_xdp_xmit\t\t= ixgbe_xdp_xmit,\n \t.ndo_xdp_flush\t\t= ixgbe_xdp_flush,\n };\ndiff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c\nindex d611df2f274d..736a6ccaf05e 100644\n--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c\n+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c\n@@ -2916,7 +2916,7 @@ static u32 mlx4_xdp_query(struct net_device *dev)\n \treturn prog_id;\n }\n \n-static int mlx4_xdp(struct net_device *dev, struct netdev_xdp *xdp)\n+static int mlx4_xdp(struct net_device *dev, struct netdev_bpf *xdp)\n {\n \tswitch (xdp->command) {\n \tcase XDP_SETUP_PROG:\n@@ -2958,7 +2958,7 @@ static const struct net_device_ops mlx4_netdev_ops = {\n \t.ndo_udp_tunnel_del\t= mlx4_en_del_vxlan_port,\n \t.ndo_features_check\t= mlx4_en_features_check,\n \t.ndo_set_tx_maxrate\t= mlx4_en_set_tx_maxrate,\n-\t.ndo_xdp\t\t= mlx4_xdp,\n+\t.ndo_bpf\t\t= mlx4_xdp,\n };\n \n static const struct net_device_ops mlx4_netdev_ops_master = {\n@@ -2995,7 +2995,7 @@ static const struct net_device_ops mlx4_netdev_ops_master = {\n \t.ndo_udp_tunnel_del\t= mlx4_en_del_vxlan_port,\n \t.ndo_features_check\t= mlx4_en_features_check,\n \t.ndo_set_tx_maxrate\t= mlx4_en_set_tx_maxrate,\n-\t.ndo_xdp\t\t= mlx4_xdp,\n+\t.ndo_bpf\t\t= mlx4_xdp,\n };\n \n struct mlx4_en_bond {\ndiff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c\nindex 28ae00b3eb88..3b7b7bb84eb0 100644\n--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c\n+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c\n@@ -3831,7 +3831,7 @@ static u32 mlx5e_xdp_query(struct net_device *dev)\n \treturn prog_id;\n }\n \n-static int mlx5e_xdp(struct net_device *dev, struct netdev_xdp *xdp)\n+static int mlx5e_xdp(struct net_device *dev, struct netdev_bpf *xdp)\n {\n \tswitch (xdp->command) {\n \tcase XDP_SETUP_PROG:\n@@ -3883,7 +3883,7 @@ static const struct net_device_ops mlx5e_netdev_ops = {\n \t.ndo_rx_flow_steer\t = mlx5e_rx_flow_steer,\n #endif\n \t.ndo_tx_timeout = mlx5e_tx_timeout,\n-\t.ndo_xdp\t\t = mlx5e_xdp,\n+\t.ndo_bpf\t\t = mlx5e_xdp,\n #ifdef CONFIG_NET_POLL_CONTROLLER\n \t.ndo_poll_controller = mlx5e_netpoll,\n #endif\ndiff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c\nindex 185a3dd35a3f..f6c6ad4e8a59 100644\n--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c\n+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c\n@@ -3378,7 +3378,7 @@ nfp_net_xdp_setup(struct nfp_net *nn, struct bpf_prog *prog, u32 flags,\n \treturn 0;\n }\n \n-static int nfp_net_xdp(struct net_device *netdev, struct netdev_xdp *xdp)\n+static int nfp_net_xdp(struct net_device *netdev, struct netdev_bpf *xdp)\n {\n \tstruct nfp_net *nn = netdev_priv(netdev);\n \n@@ -3441,7 +3441,7 @@ const struct net_device_ops nfp_net_netdev_ops = {\n \t.ndo_get_phys_port_name\t= nfp_port_get_phys_port_name,\n \t.ndo_udp_tunnel_add\t= nfp_net_add_vxlan_port,\n \t.ndo_udp_tunnel_del\t= nfp_net_del_vxlan_port,\n-\t.ndo_xdp\t\t= nfp_net_xdp,\n+\t.ndo_bpf\t\t= nfp_net_xdp,\n };\n \n /**\ndiff --git a/drivers/net/ethernet/qlogic/qede/qede.h b/drivers/net/ethernet/qlogic/qede/qede.h\nindex adb700512baa..a3a70ade411f 100644\n--- a/drivers/net/ethernet/qlogic/qede/qede.h\n+++ b/drivers/net/ethernet/qlogic/qede/qede.h\n@@ -503,7 +503,7 @@ void qede_fill_rss_params(struct qede_dev *edev,\n void qede_udp_tunnel_add(struct net_device *dev, struct udp_tunnel_info *ti);\n void qede_udp_tunnel_del(struct net_device *dev, struct udp_tunnel_info *ti);\n \n-int qede_xdp(struct net_device *dev, struct netdev_xdp *xdp);\n+int qede_xdp(struct net_device *dev, struct netdev_bpf *xdp);\n \n #ifdef CONFIG_DCB\n void qede_set_dcbnl_ops(struct net_device *ndev);\ndiff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c\nindex f79e36e4060a..c1a0708a7d7c 100644\n--- a/drivers/net/ethernet/qlogic/qede/qede_filter.c\n+++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c\n@@ -1065,7 +1065,7 @@ static int qede_xdp_set(struct qede_dev *edev, struct bpf_prog *prog)\n \treturn 0;\n }\n \n-int qede_xdp(struct net_device *dev, struct netdev_xdp *xdp)\n+int qede_xdp(struct net_device *dev, struct netdev_bpf *xdp)\n {\n \tstruct qede_dev *edev = netdev_priv(dev);\n \ndiff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c\nindex e5ee9f274a71..8f9b3eb82137 100644\n--- a/drivers/net/ethernet/qlogic/qede/qede_main.c\n+++ b/drivers/net/ethernet/qlogic/qede/qede_main.c\n@@ -556,7 +556,7 @@ static const struct net_device_ops qede_netdev_ops = {\n \t.ndo_udp_tunnel_add = qede_udp_tunnel_add,\n \t.ndo_udp_tunnel_del = qede_udp_tunnel_del,\n \t.ndo_features_check = qede_features_check,\n-\t.ndo_xdp = qede_xdp,\n+\t.ndo_bpf = qede_xdp,\n #ifdef CONFIG_RFS_ACCEL\n \t.ndo_rx_flow_steer = qede_rx_flow_steer,\n #endif\n@@ -594,7 +594,7 @@ static const struct net_device_ops qede_netdev_vf_xdp_ops = {\n \t.ndo_udp_tunnel_add = qede_udp_tunnel_add,\n \t.ndo_udp_tunnel_del = qede_udp_tunnel_del,\n \t.ndo_features_check = qede_features_check,\n-\t.ndo_xdp = qede_xdp,\n+\t.ndo_bpf = qede_xdp,\n };\n \n /* -------------------------------------------------------------------------\ndiff --git a/drivers/net/tun.c b/drivers/net/tun.c\nindex 8125956f62a1..1a326b697221 100644\n--- a/drivers/net/tun.c\n+++ b/drivers/net/tun.c\n@@ -1141,7 +1141,7 @@ static u32 tun_xdp_query(struct net_device *dev)\n \treturn 0;\n }\n \n-static int tun_xdp(struct net_device *dev, struct netdev_xdp *xdp)\n+static int tun_xdp(struct net_device *dev, struct netdev_bpf *xdp)\n {\n \tswitch (xdp->command) {\n \tcase XDP_SETUP_PROG:\n@@ -1185,7 +1185,7 @@ static const struct net_device_ops tap_netdev_ops = {\n \t.ndo_features_check\t= passthru_features_check,\n \t.ndo_set_rx_headroom\t= tun_set_headroom,\n \t.ndo_get_stats64\t= tun_net_get_stats64,\n-\t.ndo_xdp\t\t= tun_xdp,\n+\t.ndo_bpf\t\t= tun_xdp,\n };\n \n static void tun_flow_init(struct tun_struct *tun)\ndiff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c\nindex fc059f193e7d..edf984406ba0 100644\n--- a/drivers/net/virtio_net.c\n+++ b/drivers/net/virtio_net.c\n@@ -2088,7 +2088,7 @@ static u32 virtnet_xdp_query(struct net_device *dev)\n \treturn 0;\n }\n \n-static int virtnet_xdp(struct net_device *dev, struct netdev_xdp *xdp)\n+static int virtnet_xdp(struct net_device *dev, struct netdev_bpf *xdp)\n {\n \tswitch (xdp->command) {\n \tcase XDP_SETUP_PROG:\n@@ -2115,7 +2115,7 @@ static const struct net_device_ops virtnet_netdev = {\n #ifdef CONFIG_NET_POLL_CONTROLLER\n \t.ndo_poll_controller = virtnet_netpoll,\n #endif\n-\t.ndo_xdp\t\t= virtnet_xdp,\n+\t.ndo_bpf\t\t= virtnet_xdp,\n \t.ndo_xdp_xmit\t\t= virtnet_xdp_xmit,\n \t.ndo_xdp_flush\t\t= virtnet_xdp_flush,\n \t.ndo_features_check\t= passthru_features_check,\ndiff --git a/include/linux/netdevice.h b/include/linux/netdevice.h\nindex 7de7656550c2..9af9feaaeb64 100644\n--- a/include/linux/netdevice.h\n+++ b/include/linux/netdevice.h\n@@ -779,10 +779,10 @@ enum tc_setup_type {\n \tTC_SETUP_CBS,\n };\n \n-/* These structures hold the attributes of xdp state that are being passed\n- * to the netdevice through the xdp op.\n+/* These structures hold the attributes of bpf state that are being passed\n+ * to the netdevice through the bpf op.\n */\n-enum xdp_netdev_command {\n+enum bpf_netdev_command {\n \t/* Set or clear a bpf program used in the earliest stages of packet\n \t * rx. The prog will have been loaded as BPF_PROG_TYPE_XDP. The callee\n \t * is responsible for calling bpf_prog_put on any old progs that are\n@@ -801,8 +801,8 @@ enum xdp_netdev_command {\n \n struct netlink_ext_ack;\n \n-struct netdev_xdp {\n-\tenum xdp_netdev_command command;\n+struct netdev_bpf {\n+\tenum bpf_netdev_command command;\n \tunion {\n \t\t/* XDP_SETUP_PROG */\n \t\tstruct {\n@@ -1124,9 +1124,10 @@ struct dev_ifalias {\n *\tappropriate rx headroom value allows avoiding skb head copy on\n *\tforward. Setting a negative value resets the rx headroom to the\n *\tdefault value.\n- * int (*ndo_xdp)(struct net_device *dev, struct netdev_xdp *xdp);\n+ * int (*ndo_bpf)(struct net_device *dev, struct netdev_bpf *bpf);\n *\tThis function is used to set or query state related to XDP on the\n- *\tnetdevice. See definition of enum xdp_netdev_command for details.\n+ *\tnetdevice and manage BPF offload. See definition of\n+ *\tenum bpf_netdev_command for details.\n * int (*ndo_xdp_xmit)(struct net_device *dev, struct xdp_buff *xdp);\n *\tThis function is used to submit a XDP packet for transmit on a\n *\tnetdevice.\n@@ -1315,8 +1316,8 @@ struct net_device_ops {\n \t\t\t\t\t\t struct sk_buff *skb);\n \tvoid\t\t\t(*ndo_set_rx_headroom)(struct net_device *dev,\n \t\t\t\t\t\t int needed_headroom);\n-\tint\t\t\t(*ndo_xdp)(struct net_device *dev,\n-\t\t\t\t\t struct netdev_xdp *xdp);\n+\tint\t\t\t(*ndo_bpf)(struct net_device *dev,\n+\t\t\t\t\t struct netdev_bpf *bpf);\n \tint\t\t\t(*ndo_xdp_xmit)(struct net_device *dev,\n \t\t\t\t\t\tstruct xdp_buff *xdp);\n \tvoid\t\t\t(*ndo_xdp_flush)(struct net_device *dev);\n@@ -3311,10 +3312,10 @@ struct sk_buff *validate_xmit_skb_list(struct sk_buff *skb, struct net_device *d\n struct sk_buff *dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,\n \t\t\t\t struct netdev_queue *txq, int *ret);\n \n-typedef int (*xdp_op_t)(struct net_device *dev, struct netdev_xdp *xdp);\n+typedef int (*bpf_op_t)(struct net_device *dev, struct netdev_bpf *bpf);\n int dev_change_xdp_fd(struct net_device *dev, struct netlink_ext_ack *extack,\n \t\t int fd, u32 flags);\n-u8 __dev_xdp_attached(struct net_device *dev, xdp_op_t xdp_op, u32 *prog_id);\n+u8 __dev_xdp_attached(struct net_device *dev, bpf_op_t xdp_op, u32 *prog_id);\n \n int __dev_forward_skb(struct net_device *dev, struct sk_buff *skb);\n int dev_forward_skb(struct net_device *dev, struct sk_buff *skb);\ndiff --git a/net/core/dev.c b/net/core/dev.c\nindex 1423cf4d695c..10cde58d3275 100644\n--- a/net/core/dev.c\n+++ b/net/core/dev.c\n@@ -4545,7 +4545,7 @@ static int __netif_receive_skb(struct sk_buff *skb)\n \treturn ret;\n }\n \n-static int generic_xdp_install(struct net_device *dev, struct netdev_xdp *xdp)\n+static int generic_xdp_install(struct net_device *dev, struct netdev_bpf *xdp)\n {\n \tstruct bpf_prog *old = rtnl_dereference(dev->xdp_prog);\n \tstruct bpf_prog *new = xdp->prog;\n@@ -7090,26 +7090,26 @@ int dev_change_proto_down(struct net_device *dev, bool proto_down)\n }\n EXPORT_SYMBOL(dev_change_proto_down);\n \n-u8 __dev_xdp_attached(struct net_device *dev, xdp_op_t xdp_op, u32 *prog_id)\n+u8 __dev_xdp_attached(struct net_device *dev, bpf_op_t bpf_op, u32 *prog_id)\n {\n-\tstruct netdev_xdp xdp;\n+\tstruct netdev_bpf xdp;\n \n \tmemset(&xdp, 0, sizeof(xdp));\n \txdp.command = XDP_QUERY_PROG;\n \n \t/* Query must always succeed. */\n-\tWARN_ON(xdp_op(dev, &xdp) < 0);\n+\tWARN_ON(bpf_op(dev, &xdp) < 0);\n \tif (prog_id)\n \t\t*prog_id = xdp.prog_id;\n \n \treturn xdp.prog_attached;\n }\n \n-static int dev_xdp_install(struct net_device *dev, xdp_op_t xdp_op,\n+static int dev_xdp_install(struct net_device *dev, bpf_op_t bpf_op,\n \t\t\t struct netlink_ext_ack *extack, u32 flags,\n \t\t\t struct bpf_prog *prog)\n {\n-\tstruct netdev_xdp xdp;\n+\tstruct netdev_bpf xdp;\n \n \tmemset(&xdp, 0, sizeof(xdp));\n \tif (flags & XDP_FLAGS_HW_MODE)\n@@ -7120,7 +7120,7 @@ static int dev_xdp_install(struct net_device *dev, xdp_op_t xdp_op,\n \txdp.flags = flags;\n \txdp.prog = prog;\n \n-\treturn xdp_op(dev, &xdp);\n+\treturn bpf_op(dev, &xdp);\n }\n \n /**\n@@ -7137,24 +7137,24 @@ int dev_change_xdp_fd(struct net_device *dev, struct netlink_ext_ack *extack,\n {\n \tconst struct net_device_ops *ops = dev->netdev_ops;\n \tstruct bpf_prog *prog = NULL;\n-\txdp_op_t xdp_op, xdp_chk;\n+\tbpf_op_t bpf_op, bpf_chk;\n \tint err;\n \n \tASSERT_RTNL();\n \n-\txdp_op = xdp_chk = ops->ndo_xdp;\n-\tif (!xdp_op && (flags & (XDP_FLAGS_DRV_MODE | XDP_FLAGS_HW_MODE)))\n+\tbpf_op = bpf_chk = ops->ndo_bpf;\n+\tif (!bpf_op && (flags & (XDP_FLAGS_DRV_MODE | XDP_FLAGS_HW_MODE)))\n \t\treturn -EOPNOTSUPP;\n-\tif (!xdp_op || (flags & XDP_FLAGS_SKB_MODE))\n-\t\txdp_op = generic_xdp_install;\n-\tif (xdp_op == xdp_chk)\n-\t\txdp_chk = generic_xdp_install;\n+\tif (!bpf_op || (flags & XDP_FLAGS_SKB_MODE))\n+\t\tbpf_op = generic_xdp_install;\n+\tif (bpf_op == bpf_chk)\n+\t\tbpf_chk = generic_xdp_install;\n \n \tif (fd >= 0) {\n-\t\tif (xdp_chk && __dev_xdp_attached(dev, xdp_chk, NULL))\n+\t\tif (bpf_chk && __dev_xdp_attached(dev, bpf_chk, NULL))\n \t\t\treturn -EEXIST;\n \t\tif ((flags & XDP_FLAGS_UPDATE_IF_NOEXIST) &&\n-\t\t __dev_xdp_attached(dev, xdp_op, NULL))\n+\t\t __dev_xdp_attached(dev, bpf_op, NULL))\n \t\t\treturn -EBUSY;\n \n \t\tprog = bpf_prog_get_type(fd, BPF_PROG_TYPE_XDP);\n@@ -7162,7 +7162,7 @@ int dev_change_xdp_fd(struct net_device *dev, struct netlink_ext_ack *extack,\n \t\t\treturn PTR_ERR(prog);\n \t}\n \n-\terr = dev_xdp_install(dev, xdp_op, extack, flags, prog);\n+\terr = dev_xdp_install(dev, bpf_op, extack, flags, prog);\n \tif (err < 0 && prog)\n \t\tbpf_prog_put(prog);\n \ndiff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c\nindex de24d394c69e..1d08f5995a67 100644\n--- a/net/core/rtnetlink.c\n+++ b/net/core/rtnetlink.c\n@@ -1269,10 +1269,10 @@ static u8 rtnl_xdp_attached_mode(struct net_device *dev, u32 *prog_id)\n \t\t*prog_id = generic_xdp_prog->aux->id;\n \t\treturn XDP_ATTACHED_SKB;\n \t}\n-\tif (!ops->ndo_xdp)\n+\tif (!ops->ndo_bpf)\n \t\treturn XDP_ATTACHED_NONE;\n \n-\treturn __dev_xdp_attached(dev, ops->ndo_xdp, prog_id);\n+\treturn __dev_xdp_attached(dev, ops->ndo_bpf, prog_id);\n }\n \n static int rtnl_xdp_fill(struct sk_buff *skb, struct net_device *dev)\n", "prefixes": [ "net-next", "v2", "01/15" ] }