Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Eugene Grosbein                      2:5006/1       17 Jan 2008  03:34:36
 To : Eugene Grosbein
 Subject : Re: lacp
 -------------------------------------------------------------------------------- 
 
 15 янв 2008, вторник, в 02:18 KRAT, Eugene Grosbein написал(а):
 
  EG> Первый вариант, заработавший в лабораторных условиях, получил:
  EG> на каждом роутере создаётся два отдельных бриджа, в каждом
  EG> из которых по одному (sic!) порту, в первом gif1, во втором gif2.
  EG> Таким образом, получается пара работающих EtherIP-туннелей между
  EG> роутерами,
  EG> для этого пришлось патчить gif(4).
 
 ftp://www.kuzbass.ru/pub/freebsd/lagg-0.1.tgz
 
 Патчи ложатся на RELENG_6 и RELENG_7
 (проверено на 6.2, 6.3-PRERELEASE и 7.0-PRERELEASE).
 Прикладывать:
 
 cd /usr/src/sys/net
 cat /path/to/dir-with-patched/*.diff | patch
 
 Далее пересобрать модули if_gif.ko, if_bridge.ko и if_lagg.ko
 либо ядро, если модули не используются. В случае использования
 этих трёх модулей ядро можно не пересобирать и не перегружать систему,
 а только модули.
 
 I. Обучение if_gif(4) и if_bridge(4) создавать туннели EtherIP
 без бриджевания трафика в физические интерфейсы.
 
 Для этого в if_bridge внесены добавления:
 
 - бридж теперь формирует и хранит struct arpcom (bridge_alloc/bridge_free),
   для того, чтобы вышедшие из туннеля EtherIP фреймы могли быть обработаны
   верхними уровнями стека (без arpcom гарантирован kernel panic);
 
 В if_gif внесены добавления:
 
 - if_gif более не убивает фреймы, которые if_bridge возвратил для
   передачи верхним уровням стека, а передаёт их в ether_demux,
   помечая при этом бродкасты и мультикасты как таковые - таким образом,
   начинает работать ARP внутри туннеля EtherIP.
 
 При создании бриджа с единственным портом в виде gif теперь получается
 полноценный ethernet-туннель, IP-адреса для туннеля надо ставить
 на самом бридже, на gif, кроме туннельных, IP-адресов не требуются.
 
 Патчи никак не влияют на работу if_gif и if_bridge, если те используются
 по-отдельности, поэтому пропатченная система без EtherIP-туннелей
 работает по-прежнему.
 
 II. Обучение if_lagg(4) использовать туннели EtherIP посредством
 if_gif(4) и if_bridge(4).
 
 Собственно патч на if_lagg минимален, в одну строчку -
 позволяет использовать не только ethernet-интерфейсы, но и
 if_bridge-интерфейсы.
 
 Для этого в if_bridge внесены добавления:
 
 - в bridge_softc добавлено поле struct ifmedia sc_media
   и бридж обучен симулировать наличие у него понятия
   "линка", его состояния и скорости.
   
   if_lagg для использования порта требует полного дуплекса и ненулевой
   скорости на этом порту, поэтому if_bridge симулирует линк 100BaseTX/FD.
 
 В if_gif внесены добавления:
 
 - if_gif передаёт пакеты, возвращённые бриджом для передачи верхним
   уровням стека в интерфейс lagg, если бридж является портом в таком
   интерфейсе.
 
 Патч никак не влияют на работу бриджей, не добавленных в какой-нибудь
 if_lagg в качестве портов, поэтому пропатченная система без интерфейсов lagg
 работает по-прежнему.
 
 Eugene
 -- 
 Рейтинг, рейтинг - юбер аллес! (суровая правда телеискусства)
 --- slrn/0.9.8.1 (FreeBSD)
  * Origin: Svyaz Service JSC (2:5006/1@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 lacp   Eugene Grosbein   03 Dec 2007 00:36:12 
 Re: lacp   Eugene Grosbein   03 Dec 2007 00:59:11 
 Re: lacp   Eugene Grosbein   23 Dec 2007 18:40:50 
 Re: lacp   Eugene Grosbein   13 Jan 2008 17:57:54 
 Re: lacp   Eugene Grosbein   15 Jan 2008 03:18:41 
 Re: lacp   Eugene Grosbein   17 Jan 2008 03:34:36 
 Re[2]: lacp   Alexey Markov   17 Jan 2008 12:46:14 
Архивное /ru.unix.bsd/26093dbeab4ec.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional