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