эттул
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Оригинальный автор(ы) | Дэвид С. Миллер |
---|---|
Разработчик(и) | Бен Хатчингс |
Первоначальный выпуск | 1998 год |
Стабильная версия | 6.9 [1]
/ 23 мая 2024 г |
Репозиторий | |
Написано в | С |
Операционная система | Линукс |
Тип | сеть |
Лицензия | лицензия GPLv2 |
Веб-сайт | www |
ethtool — это основное средство в ядра Linux на базе операционных системах (в первую очередь Linux и Android ) для отображения и изменения параметров контроллеров сетевых интерфейсов (NIC) и связанного с ними программного обеспечения драйверов устройств из прикладных программ, работающих в пользовательском пространстве .
ethtool состоит из двух компонентов: API в ядре Linux, через который сетевые адаптеры могут отправлять и получать параметры через программное обеспечение драйвера устройства, и API пользовательского пространства , основанный на механизме ioctl SIOCETHTOOL Linux , с помощью которого прикладные программы могут взаимодействовать с ядром для отправки и получения. Параметры сетевой карты и драйвера сетевой карты.
Большинство дистрибутивов Linux предоставляют стандартную служебную программу под названием ethtool , которую можно использовать из оболочки для управления или сбора информации от сетевых карт с помощью API пользовательского пространства ethtool . В сообществе информационных технологий термин ethtool для обозначения этой служебной программы обычно используется .
ethtool Доступ к API пользовательского пространства можно получить из программ, написанных на C и C++, языках программирования через стандартную библиотеку C или стандартную библиотеку C++ соответственно.
Некоторые языки сценариев, такие как Perl и Python, API ethtool предоставляют привязки , которые позволяют программистам, использующим эти языки, писать сценарии, которые могут управлять сетевыми картами.
Операционные системы macOS предоставляют служебные программы, которые имеют пользовательский интерфейс , и FreeBSD аналогичный утилите Linux ethtool, но используют принципиально разные API для связи с ядрами своих операционных систем и сетевыми адаптерами.
Использование
[ редактировать ]Команда полезна для:
- Идентификация и диагностика устройств Ethernet
- Расширенная статистика Ethernet-устройств
- Управление скоростью, дуплексом, автосогласованием и управлением потоком данных для устройств Ethernet.
- Управляйте разгрузкой контрольной суммы и другими функциями аппаратной разгрузки, такими как большая разгрузка приема и большая разгрузка отправки.
- Управление размером кольца DMA и модерация прерываний
- Управление выбором очереди приема для устройств с несколькими очередями
- Обновление прошивки во флэш-памяти
Примеры
[ редактировать ]Для отображения текущих параметров первого сетевого порта ( эт0 ):
$ ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
Чтобы настроить его на скорость 1000 Мбит/с и дуплекс в 1000BASE-T :
$ ethtool -s eth0 speed 1000 duplex full autoneg off
Чтобы индикатор связи на устройстве eth0 мигал в течение двух минут:
$ ethtool -p eth0 120
Чтобы распечатать информацию о драйвере интерфейса eth0:
$ ethtool -i eth0
driver: mlx5_core
version: 4.9-2.2.4
firmware-version: 14.28.2006 (MT_2420110034)
expansion-rom-version:
bus-info: 0000:65:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes
mii-инструмент
[ редактировать ]mii-tool — более старая программа, выполняющая функции, аналогичные ethtool. С 2003 года [3] он считается устаревшим и заменен на ethtool.
Пример
[ редактировать ]Чтобы отобразить текущие параметры:
$ mii-tool
eth0: no autonegotiation, 100baseTx-HD, link ok
установить скорость сети до 1 Гбит/с и дуплекс полный Чтобы принудительно на порту 1 (eth0):
$ mii-tool -F 1000baseTx-FD eth0
$ mii-tool
eth0: 1 000 Mbit, full duplex, link ok
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «ethtool — утилита для управления сетевыми драйверами и оборудованием» . Проверено 17 июля 2024 г.
- ^ «9 примеров ethtool Linux для управления Ethernet-картой (NIC-картой)» . www.thegeekstuff.com . 28 октября 2010 г. Проверено 14 ноября 2020 г.
- ^ «Автосогласование и дуплексирование Ethernet в Linux» . lists.olug.org . Сентябрь 2003 года.