| 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. |