← Documents Documentation/networking/device_drivers/ethernet/freescale/gianfar.rst GitHub 원문 ↗

Linux 6.18.37 · Networking

The Gianfar Ethernet Driver

Gianfar의 TCP·UDP checksum offload 범위, VLAN header 처리와 kernel filtering, TSEC/eTSEC multicast lookup, 수신 정렬 padding과 ethtool 사용 조건을 설명합니다.

Source pathDocumentation/networking/device_drivers/ethernet/freescale/gianfar.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

gianfar.rst:1-51

Gianfar는 eTSEC의 하드웨어 기능을 Linux 네트워크 스택의 책임과 분명히 나눕니다. checksum은 TCP·UDP만 offload하고, VLAN header 삽입·추출은 하드웨어가 처리하지만 filtering은 커널이 맡습니다. multicast는 exact-match와 hash table을 순서대로 사용합니다.

Checksum 책임
항목eTSECLinux gianfar
TCP checksum지원offload
UDP checksum지원offload
IP checksum지원offload하지 않음
pseudo header계산 가능커널이 항상 계산

하드웨어 능력과 Linux가 실제로 사용하는 범위입니다.

Offload 제어
방향제어
RXethtool enable·disable
TXethtool enable·disable

checksum 기능은 방향별로 ethtool에서 제어합니다.

VLAN 처리 경계
기능담당
VLAN header insertiongianfar hardware
VLAN header extractiongianfar hardware
VLAN filteringLinux kernel

header 조작과 filtering의 담당이 다릅니다.

Multicast lookup 순서
multicast frameexact-match MAC registersextended hash tableaccept 또는 filter
TSECgroup hash tableaccept 또는 filter

eTSEC은 정확한 MAC 일치를 먼저 시도한 뒤 hash table을 사용합니다.

수신 정렬 padding
received framehardware 지원 확인2 bytes paddingIP header at 16-byte boundary

2-byte padding으로 IP header의 16-byte alignment를 맞춥니다.

ethtool 실행 조건
인터페이스 상태ethtool
open지원
closed실행하지 않음

닫힌 인터페이스에는 ethtool을 실행하면 안 됩니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ===========================
4 The Gianfar Ethernet Driver
5 ===========================
6
7 :Author: Andy Fleming <[email protected]>
8 :Updated: 2005-07-28
9
10
11 Checksum Offloading
12 ===================
13
14 The eTSEC controller (first included in parts from late 2005 like
15 the 8548) has the ability to perform TCP, UDP, and IP checksums
16 in hardware. The Linux kernel only offloads the TCP and UDP
17 checksums (and always performs the pseudo header checksums), so
18 the driver only supports checksumming for TCP/IP and UDP/IP
19 packets. Use ethtool to enable or disable this feature for RX
20 and TX.
21
22 VLAN
23 ====
24
25 In order to use VLAN, please consult Linux documentation on
26 configuring VLANs. The gianfar driver supports hardware insertion and
27 extraction of VLAN headers, but not filtering. Filtering will be
28 done by the kernel.
29
30 Multicasting
31 ============
32
33 The gianfar driver supports using the group hash table on the
34 TSEC (and the extended hash table on the eTSEC) for multicast
35 filtering. On the eTSEC, the exact-match MAC registers are used
36 before the hash tables. See Linux documentation on how to join
37 multicast groups.
38
39 Padding
40 =======
41
42 The gianfar driver supports padding received frames with 2 bytes
43 to align the IP header to a 16-byte boundary, when supported by
44 hardware.
45
46 Ethtool
47 =======
48
49 The gianfar driver supports the use of ethtool for many
50 configuration options. You must run ethtool only on currently
51 open interfaces. See ethtool documentation for details.
52

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

드라이버 정보와 checksum offloading

1-20

이 문서는 `GPL-2.0` 라이선스를 따릅니다.

Gianfar Ethernet 드라이버

저자: Andy Fleming <[email protected]>

갱신일: 2005-07-28

Checksum offloading

2005년 말의 `8548` 같은 부품에 처음 포함된 eTSEC controller는 TCP, UDP, IP checksum을 하드웨어에서 계산할 수 있습니다.

Linux 커널은 TCP와 UDP checksum만 offload하고 pseudo header checksum은 항상 직접 계산합니다. 따라서 드라이버는 TCP/IP와 UDP/IP packet의 checksum만 지원합니다.

RX와 TX에서 이 기능을 활성화하거나 비활성화하려면 ethtool을 사용합니다.

.. SPDX-License-Identifier: GPL-2.0

===========================
The Gianfar Ethernet Driver
===========================

:Author: Andy Fleming <[email protected]>
:Updated: 2005-07-28


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과 multicast filtering

21-38

VLAN

VLAN을 사용하려면 VLAN 구성에 관한 Linux 문서를 참고하십시오.

gianfar 드라이버는 VLAN header의 하드웨어 삽입과 추출을 지원하지만 filtering은 지원하지 않습니다. filtering은 커널이 수행합니다.

Multicasting

gianfar 드라이버는 multicast filtering을 위해 TSEC의 group hash table과 eTSEC의 extended hash table을 사용할 수 있습니다.

eTSEC에서는 hash table보다 exact-match MAC register를 먼저 사용합니다. multicast group 가입 방법은 Linux 문서를 참고하십시오.


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과 ethtool 사용 조건

39-51

Padding

하드웨어가 지원하면 gianfar 드라이버는 수신 frame에 2 bytes를 padding해 IP header를 16-byte 경계에 정렬할 수 있습니다.

Ethtool

gianfar 드라이버는 여러 구성 옵션에 ethtool을 사용할 수 있습니다. ethtool은 현재 open 상태인 인터페이스에만 실행해야 합니다. 자세한 내용은 ethtool 문서를 참고하십시오.

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.