The Gianfar Ethernet Driver Sysfs File description Author: Andy Fleming 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.