Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [kernel] netif_receive_skb не появляется на мосту, почему? 
V
    Опции темы
null56
Дата 6.7.2011, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 4
Всего: 12



Всем привет

Задача: перехватить skb_buff, поправить его немного (ВКЛЮЧАЯ СЕТЕВОЙ ИНТЕРФЕЙС ethN) и отправить netif_receive_skb. Все работает корректно, но когда появляется bridge объединяющий интерфейсы, на самом мосту, при изменении интерфейса явно, пакет не появляется. что еще нужно сделать, кроме как присвоить новый девайс пакету, чтобы он попал на бридж?
Цитата

boff_skb->dev = НОВЫЙ ДЕВВАЙС


надеюсь вопрос понятен
заранее благодарен за помощь

Это сообщение отредактировал(а) null56 - 6.7.2011, 11:03
PM MAIL   Вверх
null56
Дата 6.7.2011, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 4
Всего: 12



вообще подозрение на
Код

/*
 * Return NULL if skb is handled
 * note: already called with rcu_read_lock
 */
struct sk_buff *br_handle_frame(struct sk_buff *skb)

http://lxr.linux.no/linux+*/net/bridge/br_input.c#L138
может быть ее дернуть
PM MAIL   Вверх
null56
Дата 7.7.2011, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 4
Всего: 12



подсказали мне, но вот не ясно, конечное ли это решение
в исходниках бриджа есть функция, где пакет поднимается вышележащим протоколам
http://lxr.linux.no/#linux+v2.6.39/net/bridge/br_input.c#L28
вот тут видно, что задается устройство бриджа
я поступил несколько иначе, а посылаю(netif_receive_skb) один пакет с устройством своего сетевого интерфейса, и копию с интерфейсом физическим
вроде работает, но это временное решение
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.