73 lines
2.3 KiB
Text
73 lines
2.3 KiB
Text
|
The Gianfar Ethernet Driver
|
||
|
Sysfs File description
|
||
|
|
||
|
Author: Andy Fleming <afleming@freescale.com>
|
||
|
Updated: 2005-07-28
|
||
|
|
||
|
SYSFS
|
||
|
|
||
|
Several of the features of the gianfar driver are controlled
|
||
|
through sysfs files. These are:
|
||
|
|
||
|
bd_stash:
|
||
|
To stash RX Buffer Descriptors in the L2, echo 'on' or '1' to
|
||
|
bd_stash, echo 'off' or '0' to disable
|
||
|
|
||
|
rx_stash_len:
|
||
|
To stash the first n bytes of the packet in L2, echo the number
|
||
|
of bytes to buf_stash_len. echo 0 to disable.
|
||
|
|
||
|
WARNING: You could really screw these up if you set them too low or high!
|
||
|
fifo_threshold:
|
||
|
To change the number of bytes the controller needs in the
|
||
|
fifo before it starts transmission, echo the number of bytes to
|
||
|
fifo_thresh. Range should be 0-511.
|
||
|
|
||
|
fifo_starve:
|
||
|
When the FIFO has less than this many bytes during a transmit, it
|
||
|
enters starve mode, and increases the priority of TX memory
|
||
|
transactions. To change, echo the number of bytes to
|
||
|
fifo_starve. Range should be 0-511.
|
||
|
|
||
|
fifo_starve_off:
|
||
|
Once in starve mode, the FIFO remains there until it has this
|
||
|
many bytes. To change, echo the number of bytes to
|
||
|
fifo_starve_off. Range should be 0-511.
|
||
|
|
||
|
CHECKSUM OFFLOADING
|
||
|
|
||
|
The eTSEC controller (first included in parts from late 2005 like
|
||
|
the 8548) has the ability to perform TCP, UDP, and IP checksums
|
||
|
in hardware. The Linux kernel only offloads the TCP and UDP
|
||
|
checksums (and always performs the pseudo header checksums), so
|
||
|
the driver only supports checksumming for TCP/IP and UDP/IP
|
||
|
packets. Use ethtool to enable or disable this feature for RX
|
||
|
and TX.
|
||
|
|
||
|
VLAN
|
||
|
|
||
|
In order to use VLAN, please consult Linux documentation on
|
||
|
configuring VLANs. The gianfar driver supports hardware insertion and
|
||
|
extraction of VLAN headers, but not filtering. Filtering will be
|
||
|
done by the kernel.
|
||
|
|
||
|
MULTICASTING
|
||
|
|
||
|
The gianfar driver supports using the group hash table on the
|
||
|
TSEC (and the extended hash table on the eTSEC) for multicast
|
||
|
filtering. On the eTSEC, the exact-match MAC registers are used
|
||
|
before the hash tables. See Linux documentation on how to join
|
||
|
multicast groups.
|
||
|
|
||
|
PADDING
|
||
|
|
||
|
The gianfar driver supports padding received frames with 2 bytes
|
||
|
to align the IP header to a 16-byte boundary, when supported by
|
||
|
hardware.
|
||
|
|
||
|
ETHTOOL
|
||
|
|
||
|
The gianfar driver supports the use of ethtool for many
|
||
|
configuration options. You must run ethtool only on currently
|
||
|
open interfaces. See ethtool documentation for details.
|