Andy Fleming | 7f7f531 | 2005-11-11 12:38:59 -0600 | [diff] [blame] | 1 | The Gianfar Ethernet Driver |
| 2 | Sysfs File description |
| 3 | |
| 4 | Author: Andy Fleming <afleming@freescale.com> |
| 5 | Updated: 2005-07-28 |
| 6 | |
| 7 | SYSFS |
| 8 | |
| 9 | Several of the features of the gianfar driver are controlled |
| 10 | through sysfs files. These are: |
| 11 | |
| 12 | bd_stash: |
| 13 | To stash RX Buffer Descriptors in the L2, echo 'on' or '1' to |
| 14 | bd_stash, echo 'off' or '0' to disable |
| 15 | |
| 16 | rx_stash_len: |
| 17 | To stash the first n bytes of the packet in L2, echo the number |
| 18 | of bytes to buf_stash_len. echo 0 to disable. |
| 19 | |
| 20 | WARNING: You could really screw these up if you set them too low or high! |
| 21 | fifo_threshold: |
| 22 | To change the number of bytes the controller needs in the |
| 23 | fifo before it starts transmission, echo the number of bytes to |
| 24 | fifo_thresh. Range should be 0-511. |
| 25 | |
| 26 | fifo_starve: |
| 27 | When the FIFO has less than this many bytes during a transmit, it |
| 28 | enters starve mode, and increases the priority of TX memory |
| 29 | transactions. To change, echo the number of bytes to |
| 30 | fifo_starve. Range should be 0-511. |
| 31 | |
| 32 | fifo_starve_off: |
| 33 | Once in starve mode, the FIFO remains there until it has this |
| 34 | many bytes. To change, echo the number of bytes to |
| 35 | fifo_starve_off. Range should be 0-511. |
| 36 | |
| 37 | CHECKSUM OFFLOADING |
| 38 | |
| 39 | The eTSEC controller (first included in parts from late 2005 like |
| 40 | the 8548) has the ability to perform TCP, UDP, and IP checksums |
| 41 | in hardware. The Linux kernel only offloads the TCP and UDP |
| 42 | checksums (and always performs the pseudo header checksums), so |
| 43 | the driver only supports checksumming for TCP/IP and UDP/IP |
| 44 | packets. Use ethtool to enable or disable this feature for RX |
| 45 | and TX. |
| 46 | |
| 47 | VLAN |
| 48 | |
| 49 | In order to use VLAN, please consult Linux documentation on |
| 50 | configuring VLANs. The gianfar driver supports hardware insertion and |
| 51 | extraction of VLAN headers, but not filtering. Filtering will be |
| 52 | done by the kernel. |
| 53 | |
| 54 | MULTICASTING |
| 55 | |
| 56 | The gianfar driver supports using the group hash table on the |
| 57 | TSEC (and the extended hash table on the eTSEC) for multicast |
| 58 | filtering. On the eTSEC, the exact-match MAC registers are used |
| 59 | before the hash tables. See Linux documentation on how to join |
| 60 | multicast groups. |
| 61 | |
| 62 | PADDING |
| 63 | |
| 64 | The gianfar driver supports padding received frames with 2 bytes |
| 65 | to align the IP header to a 16-byte boundary, when supported by |
| 66 | hardware. |
| 67 | |
| 68 | ETHTOOL |
| 69 | |
| 70 | The gianfar driver supports the use of ethtool for many |
| 71 | configuration options. You must run ethtool only on currently |
| 72 | open interfaces. See ethtool documentation for details. |