xref: /linux/Documentation/networking/device_drivers/ethernet/freescale/gianfar.rst (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
1*132db935SJakub Kicinski.. SPDX-License-Identifier: GPL-2.0
2*132db935SJakub Kicinski
3*132db935SJakub Kicinski===========================
4*132db935SJakub KicinskiThe Gianfar Ethernet Driver
5*132db935SJakub Kicinski===========================
6*132db935SJakub Kicinski
7*132db935SJakub Kicinski:Author: Andy Fleming <afleming@freescale.com>
8*132db935SJakub Kicinski:Updated: 2005-07-28
9*132db935SJakub Kicinski
10*132db935SJakub Kicinski
11*132db935SJakub KicinskiChecksum Offloading
12*132db935SJakub Kicinski===================
13*132db935SJakub Kicinski
14*132db935SJakub KicinskiThe eTSEC controller (first included in parts from late 2005 like
15*132db935SJakub Kicinskithe 8548) has the ability to perform TCP, UDP, and IP checksums
16*132db935SJakub Kicinskiin hardware.  The Linux kernel only offloads the TCP and UDP
17*132db935SJakub Kicinskichecksums (and always performs the pseudo header checksums), so
18*132db935SJakub Kicinskithe driver only supports checksumming for TCP/IP and UDP/IP
19*132db935SJakub Kicinskipackets.  Use ethtool to enable or disable this feature for RX
20*132db935SJakub Kicinskiand TX.
21*132db935SJakub Kicinski
22*132db935SJakub KicinskiVLAN
23*132db935SJakub Kicinski====
24*132db935SJakub Kicinski
25*132db935SJakub KicinskiIn order to use VLAN, please consult Linux documentation on
26*132db935SJakub Kicinskiconfiguring VLANs.  The gianfar driver supports hardware insertion and
27*132db935SJakub Kicinskiextraction of VLAN headers, but not filtering.  Filtering will be
28*132db935SJakub Kicinskidone by the kernel.
29*132db935SJakub Kicinski
30*132db935SJakub KicinskiMulticasting
31*132db935SJakub Kicinski============
32*132db935SJakub Kicinski
33*132db935SJakub KicinskiThe gianfar driver supports using the group hash table on the
34*132db935SJakub KicinskiTSEC (and the extended hash table on the eTSEC) for multicast
35*132db935SJakub Kicinskifiltering.  On the eTSEC, the exact-match MAC registers are used
36*132db935SJakub Kicinskibefore the hash tables.  See Linux documentation on how to join
37*132db935SJakub Kicinskimulticast groups.
38*132db935SJakub Kicinski
39*132db935SJakub KicinskiPadding
40*132db935SJakub Kicinski=======
41*132db935SJakub Kicinski
42*132db935SJakub KicinskiThe gianfar driver supports padding received frames with 2 bytes
43*132db935SJakub Kicinskito align the IP header to a 16-byte boundary, when supported by
44*132db935SJakub Kicinskihardware.
45*132db935SJakub Kicinski
46*132db935SJakub KicinskiEthtool
47*132db935SJakub Kicinski=======
48*132db935SJakub Kicinski
49*132db935SJakub KicinskiThe gianfar driver supports the use of ethtool for many
50*132db935SJakub Kicinskiconfiguration options.  You must run ethtool only on currently
51*132db935SJakub Kicinskiopen interfaces.  See ethtool documentation for details.
52