This series adds missing XDP_REDIRECT case handling in QLogic Everest Ethernet driver with all necessary prerequisites and ops. QEDE Tx relies heavily on chain API, so make sure it is in its best at first. Alexander Lobakin (15): qed: reformat "qed_chain.h" a bit qed: reformat Makefile qed: move chain methods to a separate file qed: prevent possible double-frees of the chains qed: sanitize PBL chains allocation qed: move chain initialization inlines next to allocation functions qed: simplify initialization of the chains with an external PBL qed: simplify chain allocation with init params struct qed: add support for different page sizes for chains qed: optimize common chain accessors qed: introduce qed_chain_get_elem_used{,u32}() qede: reformat several structures in "qede.h" qede: reformat net_device_ops declarations qede: refactor XDP Tx processing qede: add .ndo_xdp_xmit() and XDP_REDIRECT support drivers/infiniband/hw/qedr/main.c | 20 +- drivers/infiniband/hw/qedr/verbs.c | 97 ++--- drivers/net/ethernet/qlogic/qed/Makefile | 37 +- drivers/net/ethernet/qlogic/qed/qed_chain.c | 367 ++++++++++++++++++ drivers/net/ethernet/qlogic/qed/qed_dev.c | 273 ------------- drivers/net/ethernet/qlogic/qed/qed_dev_api.h | 32 +- drivers/net/ethernet/qlogic/qed/qed_iscsi.c | 39 +- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 44 ++- .../net/ethernet/qlogic/qed/qed_sp_commands.c | 4 +- drivers/net/ethernet/qlogic/qed/qed_spq.c | 90 +++-- drivers/net/ethernet/qlogic/qede/qede.h | 175 +++++---- drivers/net/ethernet/qlogic/qede/qede_fp.c | 174 ++++++--- drivers/net/ethernet/qlogic/qede/qede_main.c | 185 +++++---- include/linux/qed/qed_chain.h | 328 ++++++---------- include/linux/qed/qed_if.h | 9 +- 15 files changed, 1016 insertions(+), 858 deletions(-) create mode 100644 drivers/net/ethernet/qlogic/qed/qed_chain.c -- Netdev folks, could you please take the entire series through your tree after the necessary acks and reviews? Patches 8-9 also touch qedr driver under rdma tree, but these changes can't be separated as it would break incremental buildability and bisecting. -- 2.25.1