sunvnet: add jumbo frames support
Subsystems (2)
v7 cover sunvnet: add jumbo frames support
This patch set updates the sunvnet driver to version 1.6 of the VIO protocol to support per-port exchange of MTU information and allow non-standard MTU sizes, including jumbo frames.
Using large MTUs shows a nearly 5X throughput improvement Linux-Solaris and > 10X throughput improvement Linux-Linux.
Changes from v6:
-made kernel transmit path zero-copy to remove memory n^2 scaling issue
raised by Raghuram Kothakota <[email protected]>
Changes from v5:
- fixed comment per Sowmini Varadhan <[email protected]>
Changes from v4:
- changed VNET_MAXPACKET per David Laight <[email protected]>
- added cookies to support non-contiguous buffers of max size
Changes from v3:
- added version functions per Dave Miller <[email protected]>
- moved rmtu to vnet_port per Dave Miller <[email protected]>
- explicitly set options bits and capability flags to 0 per Raghuram Kothakota <[email protected]>
Changes from v2:
- make checkpatch clean
Changes from v1:
- fix brace formatting per Dave Miller <[email protected]>
David L Stevens (4):
sunvnet: upgrade to VIO protocol version 1.6
sunvnet: make transmit path zero-copy in the kernel
sunvnet: allow admin to set sunvnet MTU
sunvnet: generate ICMP PTMUD messages for smaller port MTUs
arch/sparc/include/asm/vio.h | 44 +++++- arch/sparc/kernel/ldc.c | 2 +- arch/sparc/kernel/viohs.c | 14 ++- drivers/net/ethernet/sun/sunvnet.c | 313 +++++++++++++++++++++++++++++------- drivers/net/ethernet/sun/sunvnet.h | 9 +- 5 files changed, 315 insertions(+), 67 deletions(-)