The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Работа SIOCETHTOOL"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Работа SIOCETHTOOL"  
Сообщение от Lex Grant email(ok) on 13-Авг-07, 15:26 
Добрый день!
По мере надобности мне потребовалось использовать возможности утилиты ifplugstatus, а именно воспользоваться функцией interface_detect_beat_ethtool(fd,iface) файла interface.c, которая проверяет, поднят ли интерфейс сетевой платы.
Соответственно, там создается ioctl-запрос следующего вида (соответственно, привожу кусок):

if (ioctl(fd, SIOCETHTOOL, &ifr) == -1)
   {
   if(interface_do_message)
      daemon_log(LOG_ERR, "ETHTOOL_GLINK FAILED: %s", strerror(errno));
   return IFSTATUS_ERR
   }
Каким образом включается возможность использования параметра SIOCETHTOOL для ioctl-запроса? Что именно отвечает за его работу?

Буду очень благодарен за помощь.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Работа SIOCETHTOOL"  
Сообщение от vic (??) on 13-Авг-07, 16:50 
Наличие соответствующего драйвера, кажись он называется mii.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Работа SIOCETHTOOL"  
Сообщение от Lex Grant email(??) on 13-Авг-07, 17:07 
>Наличие соответствующего драйвера, кажись он называется mii.

А можно поподробнее? Различаются ли по написанию версии ifplugd (используют SIOCETHTOOL или нет)? Если этот драйвер установлен, возможность использования этой функции предоставляется автоматом?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Работа SIOCETHTOOL"  
Сообщение от vic (??) on 13-Авг-07, 18:16 
>>Наличие соответствующего драйвера, кажись он называется mii.
>
>А можно поподробнее? Различаются ли по написанию версии ifplugd (используют SIOCETHTOOL или
>нет)? Если этот драйвер установлен, возможность использования этой функции предоставляется автоматом?
>

ioctl() это системный вызов, он всегда есть.
SIOCETHTOOL - константа по которой ядро определяет что делать.
Драйвер(модуль ядра) если не загружен, то функция вернет ошибку, так же ошибка будет если сетевая карта не поддерживает эту функциональность (или ее драйвер). Немного напутал, т.к. константа есть в linux/sockios.h т.е. она есть в ядре, но как я понимаю реализация этой функциональности все же в mii (имхо).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Работа SIOCETHTOOL"  
Сообщение от Lex Grant email(??) on 15-Авг-07, 15:40 
Все понял! Действительно - интерфейс mii, и действительно библиотека sockios.h. Спасибо!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру