From: Jesse Gross <jesse@nicira.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: [PATCH v2 00/14] Move vlan acceleration into networking core.
Date: Wed, 20 Oct 2010 16:56:00 -0700 [thread overview]
Message-ID: <1287618974-4714-1-git-send-email-jesse@nicira.com> (raw)
Hardware vlan acceleration behaves fairly differently from other types of
offloading, which limits its usefulness. This patch series aims to bring
it more in line with other common forms of acceleration, such as checksum
offloading and TSO. In doing this it eliminates common driver bugs, increases
flexibility, and improves performance, while reducing the number of lines of
code.
The first eleven patches can be applied immediately, while the last three need
to wait until all drivers that support vlan acceleration are updated. If
people agree that this patch set makes sense I will go ahead and switch over
the dozen or so drivers that would need to change.
Changes since v1:
* Break apart patches and use temporary variables for better readibility.
* Use rcu_dereference_rtnl() in vlan_find_dev().
* Restructure netif_needs_gso() for better common case performance.
* Make ebtables consistently use the outer vlan tag if two are present.
* Drop check for vlan group on transmit in all drivers.
* Send vlan traffic through __netif_receive_skb both tagged and untagged for
consistent results between accelerated and non-acclerated traffic.
* Add support for Ethtool.
* Enable vlan accleration on bridge devices.
* Convert bnx2x driver.
Hao Zheng (1):
bnx2x: Update bnx2x to use new vlan accleration.
Jesse Gross (13):
ebtables: Allow filtering of hardware accelerated vlan frames.
vlan: Rename VLAN_GROUP_ARRAY_LEN to VLAN_N_VID.
vlan: Don't check for vlan group before vlan_tx_tag_present.
vlan: Enable software emulation for vlan accleration.
vlan: Avoid hash table lookup to find group.
vlan: Centralize handling of hardware acceleration.
ethtool: Add support for vlan accleration.
bridge: Add support for TX vlan offload.
bnx2: Update bnx2 to use new vlan accleration.
ixgbe: Update ixgbe to use new vlan accleration.
lro: Remove explicit vlan support.
bonding: Update bonding for new vlan model.
vlan: Remove accleration legacy functions.
drivers/net/8139cp.c | 2 +-
drivers/net/amd8111e.c | 2 +-
drivers/net/atl1c/atl1c_main.c | 2 +-
drivers/net/atl1e/atl1e_main.c | 2 +-
drivers/net/atlx/atl1.c | 2 +-
drivers/net/atlx/atl2.c | 2 +-
drivers/net/benet/be.h | 2 +-
drivers/net/benet/be_main.c | 9 +-
drivers/net/bna/bnad.c | 2 +-
drivers/net/bnx2.c | 99 +++++++------------------
drivers/net/bnx2.h | 4 -
drivers/net/bnx2x/bnx2x.h | 10 ---
drivers/net/bnx2x/bnx2x_cmn.c | 63 +++-------------
drivers/net/bnx2x/bnx2x_ethtool.c | 33 ++++----
drivers/net/bnx2x/bnx2x_main.c | 8 --
drivers/net/bonding/bond_alb.c | 8 +-
drivers/net/bonding/bond_ipv6.c | 5 +-
drivers/net/bonding/bond_main.c | 143 +++++++-----------------------------
drivers/net/bonding/bonding.h | 1 -
drivers/net/chelsio/sge.c | 2 +-
drivers/net/cxgb3/sge.c | 4 +-
drivers/net/e1000/e1000_main.c | 4 +-
drivers/net/e1000e/netdev.c | 4 +-
drivers/net/ehea/ehea_main.c | 2 +-
drivers/net/enic/enic_main.c | 2 +-
drivers/net/forcedeth.c | 11 +--
drivers/net/gianfar.c | 4 +-
drivers/net/igb/igb_main.c | 4 +-
drivers/net/igbvf/netdev.c | 2 +-
drivers/net/ixgb/ixgb_main.c | 2 +-
drivers/net/ixgbe/ixgbe.h | 4 +-
drivers/net/ixgbe/ixgbe_ethtool.c | 12 +++-
drivers/net/ixgbe/ixgbe_main.c | 139 +++++++++++++++-------------------
drivers/net/ixgbevf/ixgbevf_main.c | 4 +-
drivers/net/mlx4/en_tx.c | 4 +-
drivers/net/qlcnic/qlcnic_main.c | 2 +-
drivers/net/qlge/qlge_main.c | 2 +-
drivers/net/r8169.c | 2 +-
drivers/net/s2io.c | 2 +-
drivers/net/sky2.c | 2 +-
drivers/net/tg3.c | 4 +-
drivers/net/via-velocity.c | 2 +-
drivers/net/vmxnet3/vmxnet3_drv.c | 2 +-
drivers/net/vxge/vxge-main.c | 4 +-
drivers/s390/net/qeth_l3_main.c | 6 +-
include/linux/ethtool.h | 2 +
include/linux/if_vlan.h | 88 +++++++---------------
include/linux/inet_lro.h | 20 -----
include/linux/netdevice.h | 28 ++++---
net/8021q/vlan.c | 84 ++++-----------------
net/8021q/vlan.h | 17 ----
net/8021q/vlan_core.c | 132 +++++----------------------------
net/8021q/vlan_dev.c | 2 +-
net/bridge/br_device.c | 8 ++-
net/bridge/br_netfilter.c | 16 ++--
net/bridge/netfilter/ebt_vlan.c | 25 ++++--
net/bridge/netfilter/ebtables.c | 15 +++-
net/core/dev.c | 83 ++++++++++++---------
net/core/ethtool.c | 3 +-
net/ipv4/inet_lro.c | 74 +++----------------
60 files changed, 395 insertions(+), 833 deletions(-)
next reply other threads:[~2010-10-20 23:56 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-20 23:56 Jesse Gross [this message]
2010-10-20 23:56 ` [PATCH v2 01/14] ebtables: Allow filtering of hardware accelerated vlan frames Jesse Gross
2010-10-20 23:56 ` [PATCH v2 02/14] vlan: Rename VLAN_GROUP_ARRAY_LEN to VLAN_N_VID Jesse Gross
2010-10-20 23:56 ` [PATCH v2 03/14] vlan: Don't check for vlan group before vlan_tx_tag_present Jesse Gross
2010-10-20 23:56 ` [PATCH v2 04/14] vlan: Enable software emulation for vlan accleration Jesse Gross
2010-10-21 3:32 ` John Fastabend
2010-10-21 15:30 ` Ben Hutchings
2010-10-21 21:44 ` Jesse Gross
2010-10-22 14:12 ` [PATCH net-next-2.6] net: Fix some corner cases in dev_can_checksum() Ben Hutchings
2010-10-22 14:18 ` Ben Hutchings
2010-10-26 0:21 ` Jesse Gross
2010-10-26 13:29 ` Ben Hutchings
2010-10-26 18:11 ` Jesse Gross
2010-10-27 18:00 ` David Miller
2010-10-20 23:56 ` [PATCH v2 05/14] vlan: Avoid hash table lookup to find group Jesse Gross
2010-10-20 23:56 ` [PATCH v2 06/14] vlan: Centralize handling of hardware acceleration Jesse Gross
2010-10-20 23:56 ` [PATCH v2 07/14] ethtool: Add support for vlan accleration Jesse Gross
2010-10-21 3:27 ` John Fastabend
2010-10-21 19:43 ` Jesse Gross
2010-10-20 23:56 ` [PATCH v2 08/14] bridge: Add support for TX vlan offload Jesse Gross
2010-10-20 23:56 ` [PATCH v2 09/14] bnx2: Update bnx2 to use new vlan accleration Jesse Gross
2010-10-21 15:31 ` Ben Hutchings
2010-10-21 21:38 ` Jesse Gross
2010-10-20 23:56 ` [PATCH v2 10/14] ixgbe: Update ixgbe " Jesse Gross
2010-10-22 13:24 ` Michał Mirosław
2010-10-25 17:50 ` Peter P Waskiewicz Jr
2010-10-25 21:40 ` Michał Mirosław
2010-10-25 22:02 ` John Fastabend
2010-10-25 23:23 ` Michał Mirosław
2010-10-26 0:08 ` Jesse Gross
2010-10-20 23:56 ` [PATCH v2 11/14] bnx2x: Update bnx2x " Jesse Gross
2010-10-21 13:54 ` Vladislav Zolotarov
2010-10-21 14:02 ` Vladislav Zolotarov
2010-10-21 14:50 ` Vladislav Zolotarov
2010-10-21 21:36 ` Jesse Gross
2010-10-22 0:57 ` Dmitry Kravkov
2010-10-24 9:21 ` Vladislav Zolotarov
2010-10-24 10:11 ` Vladislav Zolotarov
2010-10-26 0:29 ` Jesse Gross
2010-10-26 9:14 ` Vladislav Zolotarov
2010-10-26 17:57 ` Jesse Gross
2010-10-21 21:34 ` Jesse Gross
2010-10-20 23:56 ` [PATCH v2 12/14] lro: Remove explicit vlan support Jesse Gross
2010-10-20 23:56 ` [PATCH v2 13/14] bonding: Update bonding for new vlan model Jesse Gross
2010-10-20 23:56 ` [PATCH v2 14/14] vlan: Remove accleration legacy functions Jesse Gross
2010-10-21 2:02 ` [PATCH v2 00/14] Move vlan acceleration into networking core David Dillow
2010-10-21 19:32 ` Jesse Gross
2010-10-21 8:33 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1287618974-4714-1-git-send-email-jesse@nicira.com \
--to=jesse@nicira.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).