![]() |
|
Модераторы: xvr |
![]()
|
|
| dima3351 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 3.3.2006 Репутация: нет Всего: нет |
да нет конечно же)
вообще надо было мне еще давно сказать /usr/src/linux/drivers/net/dummy.c и я был бы щастлив) |
|||
|
||||
| BlackStar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 13.12.2006 Репутация: 2 Всего: 5 |
Обращайся, рад был помочь.
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
dima3351,
Ну я тебя не так понял значит Но вслудующий раз стоит просто спросить "Где копнуть". Пошлют куда надо, гарантия Галку поставьте на тему. |
|||
|
||||
| dima3351 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 3.3.2006 Репутация: нет Всего: нет |
Продолжаю непонимать...
Вот есть у нас 2 сетевых "устройства": [root@ws11 cs]# ifconfig dummy0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 inet addr:127.0.0.2 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:376 errors:0 dropped:0 overruns:0 frame:0 TX packets:376 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:32168 (31.4 Kb) TX bytes:32168 (31.4 Kb) Предположим, я запустил некоторое простейшую серверную программку... [root@ws11 cs]# ./server 80000 & ...и клиент к нему [root@ws11 cs]# ./client 127.0.0.2 qwer 80000 Сервер нормально пишет, что к нему кто-то подключился... Client connected: 127.0.0.2 Received: qwer Но, посмотрев еще раз вывод ifconfig, видим, что пакеты шли через loopback... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:831 errors:0 dropped:0 overruns:0 frame:0 TX packets:831 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:73464 (71.7 Kb) TX bytes:73464 (71.7 Kb) Читаем заголовок dummy.c: The purpose of this driver is to provide a device to point a route through, but not to actually transmit packets. Ага, значит так и должно быть (?) Получается, что dummy.c не позволяет даже передавать пакеты, только устанавливать соединение (?) Поправьте меня, если не прав. Тут я подумал - ну тогда надо посмотреть этот самый loopback.c, через который мои пакеты таки доходят. В нем регистрация проходит не через стандартные module_init и module_exit, а через статическую компиляцию с другими сишниками (net_init.o), но это не самое главное. Плохо то, что я не вижу в нем сильных отличий от dummy. Похожее заполнение struct net_device, похожее hard_start_xmit... В чем фишка-то? Объясните плз... |
|||
|
||||
| BlackStar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 13.12.2006 Репутация: 2 Всего: 5 |
Честно говоря сам до конца не понимаю как работает dummy, но различие с loopback.c в hard_start_xmit: dummy осбождает пакет (dev_kfree_skb), loopback отправляет его на верхний уровень (netif_rx).
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |