linux/drivers/net/ethernet/qlogic/qlcnic
Jesse Gross 5f35227ea3 net: Generalize ndo_gso_check to ndo_features_check
GSO isn't the only offload feature with restrictions that
potentially can't be expressed with the current features mechanism.
Checksum is another although it's a general issue that could in
theory apply to anything. Even if it may be possible to
implement these restrictions in other ways, it can result in
duplicate code or inefficient per-packet behavior.

This generalizes ndo_gso_check so that drivers can remove any
features that don't make sense for a given packet, similar to
netif_skb_features(). It also converts existing driver
restrictions to the new format, completing the work that was
done to support tunnel protocols since the issues apply to
checksums as well.

By actually removing features from the set that are used to do
offloading, it solves another problem with the existing
interface. In these cases, GSO would run with the original set
of features and not do anything because it appears that
segmentation is not required.

CC: Tom Herbert <therbert@google.com>
CC: Joe Stringer <joestringer@nicira.com>
CC: Eric Dumazet <edumazet@google.com>
CC: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by:  Tom Herbert <therbert@google.com>
Fixes: 04ffcb255f ("net: Add ndo_gso_check")
Tested-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-12-26 17:20:56 -05:00
..
Makefile net: ethernet: qlogic: qlcnic: Remove duplicate object file from Makefile 2014-08-11 12:44:35 -07:00
qlcnic_83xx_hw.c qlcnic: Use usleep_range() instead of msleep() for sleep less than 20ms 2014-08-29 20:15:36 -07:00
qlcnic_83xx_hw.h qlcnic: Add support to run firmware POST 2014-08-29 20:15:37 -07:00
qlcnic_83xx_init.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-10-02 11:25:43 -07:00
qlcnic_83xx_vnic.c qlcnic: Use bool for rx_mac_learn. 2014-01-23 16:13:08 -08:00
qlcnic_ctx.c qlcnic: Fix number of arguments in destroy tx context command 2014-10-14 17:05:18 -04:00
qlcnic_dcb.c Update setapp/getapp prototypes in dcbnl_rtnl_ops to return int instead of u8 2014-07-17 16:02:29 -07:00
qlcnic_dcb.h qlcnic: Issue INIT_NIC command only once. 2013-12-17 17:09:43 -05:00
qlcnic_ethtool.c qlcnic: Fix ordering of stats in stats buffer. 2014-09-26 15:11:31 -04:00
qlcnic_hdr.h qlcnic: Support for 16 virtual NIC functions. 2013-12-17 17:09:44 -05:00
qlcnic_hw.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-10-08 21:40:54 -04:00
qlcnic_hw.h qlcnic: Add VXLAN Rx offload support 2014-03-24 00:44:23 -04:00
qlcnic_init.c qlcnic: Use usleep_range() instead of msleep() for sleep less than 20ms 2014-08-29 20:15:36 -07:00
qlcnic_io.c qlcnic: Set skb->csum_level for encapsulated checksum 2014-08-29 20:41:12 -07:00
qlcnic_main.c net: Generalize ndo_gso_check to ndo_features_check 2014-12-26 17:20:56 -05:00
qlcnic_minidump.c qlcnic: Fix endianess issue in FW dump template header 2014-08-21 17:43:15 -07:00
qlcnic_sriov_common.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-05 16:22:02 -07:00
qlcnic_sriov_pf.c net-next:v4: Add support to configure SR-IOV VF minimum and maximum Tx rate through ip tool. 2014-05-23 15:04:02 -04:00
qlcnic_sriov.h net-next:v4: Add support to configure SR-IOV VF minimum and maximum Tx rate through ip tool. 2014-05-23 15:04:02 -04:00
qlcnic_sysfs.c qlcnic: Fix flash access interface to application 2014-08-21 17:43:15 -07:00
qlcnic.h qlcnic: Update version to 5.3.62 2014-08-29 20:15:37 -07:00