[v2,net-next,0/9] Remove skb_mac_header() dependency in DSA xmit path

Message ID 20230420225601.2358327-1-vladimir.oltean@nxp.com
Headers
Series Remove skb_mac_header() dependency in DSA xmit path |

Message

Vladimir Oltean April 20, 2023, 10:55 p.m. UTC
  Eric started working on removing skb_mac_header() assumptions from the
networking xmit path, and I offered to help for DSA:
https://lore.kernel.org/netdev/20230321164519.1286357-1-edumazet@google.com/

The majority of this patch set is a straightforward replacement of
skb_mac_header() with skb->data (hidden either behind skb_eth_hdr(), or
behind skb_vlan_eth_hdr()). The only patch which is more "interesting"
is 9/9.

Another potential caller of __skb_vlan_pop() on xmit (and therefore
also of skb_mac_header()) is tcf_vlan_act(), but I haven't had the time
to investigate that (enough to submit changes other than what's here).

v1->v2:
- 09/09: document the vlan_tci argument of vlan_remove_tag() in the kdoc

v1 at:
https://lore.kernel.org/netdev/20230322233823.1806736-1-vladimir.oltean@nxp.com/

Cc: Madalin Bucur <madalin.bucur@nxp.com>

Vladimir Oltean (9):
  net: vlan: don't adjust MAC header in __vlan_insert_inner_tag() unless
    set
  net: vlan: introduce skb_vlan_eth_hdr()
  net: dpaa: avoid one skb_reset_mac_header() in dpaa_enable_tx_csum()
  net: dsa: tag_ocelot: do not rely on skb_mac_header() for VLAN xmit
  net: dsa: tag_ksz: do not rely on skb_mac_header() in TX paths
  net: dsa: tag_sja1105: don't rely on skb_mac_header() in TX paths
  net: dsa: tag_sja1105: replace skb_mac_header() with vlan_eth_hdr()
  net: dsa: update TX path comments to not mention skb_mac_header()
  net: dsa: tag_ocelot: call only the relevant portion of
    __skb_vlan_pop() on TX

 .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.c   |  3 +-
 drivers/net/ethernet/emulex/benet/be_main.c   |  2 +-
 .../net/ethernet/freescale/dpaa/dpaa_eth.c    |  9 ++---
 .../net/ethernet/hisilicon/hns3/hns3_enet.c   |  2 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c   |  2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  2 +-
 .../ethernet/qlogic/netxen/netxen_nic_main.c  |  2 +-
 .../net/ethernet/qlogic/qlcnic/qlcnic_io.c    |  4 +--
 drivers/net/ethernet/sfc/tx_tso.c             |  2 +-
 .../net/ethernet/stmicro/stmmac/stmmac_main.c |  7 ++--
 drivers/staging/gdm724x/gdm_lte.c             |  4 +--
 include/linux/if_vlan.h                       | 36 +++++++++++++++++--
 net/batman-adv/soft-interface.c               |  2 +-
 net/core/skbuff.c                             |  8 +----
 net/dsa/tag.h                                 |  2 +-
 net/dsa/tag_8021q.c                           |  4 +--
 net/dsa/tag_ksz.c                             | 18 +++++-----
 net/dsa/tag_ocelot.c                          |  4 +--
 net/dsa/tag_sja1105.c                         |  4 +--
 19 files changed, 66 insertions(+), 51 deletions(-)
  

Comments

patchwork-bot+netdevbpf@kernel.org April 23, 2023, 1:20 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Fri, 21 Apr 2023 01:55:52 +0300 you wrote:
> Eric started working on removing skb_mac_header() assumptions from the
> networking xmit path, and I offered to help for DSA:
> https://lore.kernel.org/netdev/20230321164519.1286357-1-edumazet@google.com/
> 
> The majority of this patch set is a straightforward replacement of
> skb_mac_header() with skb->data (hidden either behind skb_eth_hdr(), or
> behind skb_vlan_eth_hdr()). The only patch which is more "interesting"
> is 9/9.
> 
> [...]

Here is the summary with links:
  - [v2,net-next,1/9] net: vlan: don't adjust MAC header in __vlan_insert_inner_tag() unless set
    https://git.kernel.org/netdev/net-next/c/f90615ada0b1
  - [v2,net-next,2/9] net: vlan: introduce skb_vlan_eth_hdr()
    https://git.kernel.org/netdev/net-next/c/1f5020acb33f
  - [v2,net-next,3/9] net: dpaa: avoid one skb_reset_mac_header() in dpaa_enable_tx_csum()
    https://git.kernel.org/netdev/net-next/c/e2fdfd711912
  - [v2,net-next,4/9] net: dsa: tag_ocelot: do not rely on skb_mac_header() for VLAN xmit
    https://git.kernel.org/netdev/net-next/c/eabb1494c9f2
  - [v2,net-next,5/9] net: dsa: tag_ksz: do not rely on skb_mac_header() in TX paths
    https://git.kernel.org/netdev/net-next/c/499b2491d550
  - [v2,net-next,6/9] net: dsa: tag_sja1105: don't rely on skb_mac_header() in TX paths
    https://git.kernel.org/netdev/net-next/c/f9346f00b5af
  - [v2,net-next,7/9] net: dsa: tag_sja1105: replace skb_mac_header() with vlan_eth_hdr()
    https://git.kernel.org/netdev/net-next/c/b5653b157e55
  - [v2,net-next,8/9] net: dsa: update TX path comments to not mention skb_mac_header()
    https://git.kernel.org/netdev/net-next/c/f0a9d563064c
  - [v2,net-next,9/9] net: dsa: tag_ocelot: call only the relevant portion of __skb_vlan_pop() on TX
    https://git.kernel.org/netdev/net-next/c/0bcf2e4aca6c

You are awesome, thank you!