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