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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Vadim Goncharov                      2:5020/400     03 Mar 2008  14:46:58
 To : Eugene Grosbein
 Subject : Re: netgraph: one-hook self-destroying nodes
 -------------------------------------------------------------------------------- 
 
 Hi Eugene Grosbein! 
 
 On Sat, 01 Mar 2008 22:47:44 +0300; Eugene Grosbein wrote about 'netgraph:
 one-hook self-destroying nodes':
 
  e> Hужно выстроить тестовую схемку, для учебных целей:
 
  e> #      USER-LEVEL       |       KERNEL-LEVEL
  e> #                       |
  e> # div4  *.4000  ------> | ----> ks_div - (inet/raw/divert) ---> (e) - echo
  e> #                       |
 
  e> То есть, всего две ноды, ng_ksocket с именем ks_div получает IP-пакеты
  e> из divert-сокета и отдаёт их в хук второй ноде ng_echo с именем echo,
  e> которая эти данные вертает взад, ks_div их принимает из хука и посылает
  e> обратно в divert-сокет.
 
  e> Может кто-нибудь привести команды для ngctl, которые строят такую схемку?
  e> У меня не получается замкнуть их друг на друга:
 
  e> # ngctl
  e> + mkpeer echo dummy e
  e> + name .:dummy echo
  e> + mkpeer ksocket dummy2 inet/raw/divert
  e> + name .:dummy2 ks_div
  e> + connect echo: ks_div: e inet/raw/divert
  e> ngctl: send msg: File exists
 
 Для нод, которые умеют ровно один хук или обладают каким-то еще специфическим
 свойством для хуков - только ng_tee (нет ничего зазорного в том, чтобы иметь
 в ядре модули базового обеспечения построения графа - ng_split, к примеру,
 и далее). Для твоего конкретного случая можно обойтись без ng_tee, зная, что
 ng_echo умеет произвольное число хуков:
 
 # kldload все_что_надо
 # ngctl
 + mkpeer echo dummy_s e_s
 + list
 There are 2 total nodes:
   Name: <unnamed>       Type: echo            ID: 00000002   Num hooks: 1
   Name: ngctl22623      Type: socket          ID: 00000001   Num hooks: 1
 + name .:dummy_s echo
 + list
 There are 2 total nodes:
   Name: echo            Type: echo            ID: 00000002   Num hooks: 1
   Name: ngctl22623      Type: socket          ID: 00000001   Num hooks: 1
 + mkpeer echo: ksocket e inet/raw/divert
 + ^D
 # ngctl
 + list
 There are 3 total nodes:
   Name: ngctl22671      Type: socket          ID: 00000005   Num hooks: 0
   Name: <unnamed>       Type: ksocket         ID: 00000004   Num hooks: 1
   Name: echo            Type: echo            ID: 00000002   Num hooks: 1
 + show echo:
   Name: echo            Type: echo            ID: 00000002   Num hooks: 1
   Local hook      Peer name       Peer type    Peer ID         Peer hook      
   ----------      ---------       ---------    -------         ---------      
   e               <unnamed>       ksocket      00000004        inet/raw/divert
 + name echo:e ks_div
 + show ks_div:
   Name: ks_div          Type: ksocket         ID: 00000004   Num hooks: 1
   Local hook      Peer name       Peer type    Peer ID         Peer hook      
   ----------      ---------       ---------    -------         ---------      
   inet/raw/divert echo            echo         00000002        e              
 
 Цель достигнута.
 
 Хотя udp.tunnel посоветовали совершенно верно.
 
 -- 
 WBR, Vadim Goncharov. ICQ#166852181       mailto:vadim_nuclight@mail.ru
 [Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight]
 --- slrn/0.9.8.1 on FreeBSD 6.2/i386
  * Origin: Nuclear Lightning @ Tomsk, TPU AVTF Hostel (2:5020/400@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 netgraph: one-hook self-destroying nodes   Eugene Grosbein   01 Mar 2008 23:47:44 
 Re: netgraph: one-hook self-destroying nodes   Alexander Motin   01 Mar 2008 20:16:01 
 Re: netgraph: one-hook self-destroying nodes   Alexander Kolesnikoff   02 Mar 2008 09:25:16 
 Re: netgraph: one-hook self-destroying nodes   Vadim Goncharov   03 Mar 2008 14:46:58 
Архивное /ru.unix.bsd/33696d89c517c.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional