Site Tools


software:freebsd:ng_vlan

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
software:freebsd:ng_vlan [2015/05/16 14:01]
– [Тюнинг системы] root
software:freebsd:ng_vlan [2015/05/17 03:39]
– [QinQ: ng_vlan patch] root
Line 1: Line 1:
-====== QinQ: ng_vlan patch ======+====== FreeBSD QinQ: ng_vlan patch ======
 Патч добавляет функционал в нетграф ноду ng_vlan, в том числе становится возможным делать QinQ. Патч добавляет функционал в нетграф ноду ng_vlan, в том числе становится возможным делать QinQ.
 [[http://www.netlab.linkpc.net/download/software/FreeBSD/patches/ng_vlan.patch|http://www.netlab.linkpc.net/download/software/FreeBSD/patches/ng_vlan.patch]]\\ [[http://www.netlab.linkpc.net/download/software/FreeBSD/patches/ng_vlan.patch|http://www.netlab.linkpc.net/download/software/FreeBSD/patches/ng_vlan.patch]]\\
Line 82: Line 82:
 kldload ng_ether kldload ng_ether
  
-ngctl msg re0: setpromisc 1 +Включить "неразборчивый" режим = отключить mac фильтры на сетевом адаптере и отключить автоматическое установку mac адреса на исходящих пакетах: 
-ngctl msg re0: setautosrc 0+<code>ngctl msg re0: setpromisc 1 
 +ngctl msg re0: setautosrc 0</code>
  
-ngctl mkpeer re0: vlan lower downstream +Подключаем ng_vlan к re0 адаптеру, таким образом чтобы все пакеты не попавшие в vlan фильтры ушли в ядро: 
-ngctl connect re0: re0:lower upper nomatch+<code>ngctl mkpeer re0: vlan lower downstream 
 +ngctl connect re0: re0:lower upper nomatch</code>
  
-ngctl mkpeer re0:lower eiface vlan1001 ether +Создаём интерфейсы для вланов и подключаем их к ng_vlan на re0: 
-ngctl mkpeer re0:lower eiface vlan1002 ether+<code>ngctl mkpeer re0:lower eiface vlan1001 ether 
 +ngctl mkpeer re0:lower eiface vlan1002 ether</code>
  
-ngctl name re0:lower:vlan1001 ngeth0+Задаём имя интерфейса, mac и ip адрес для созданного влан 1001 интерфейса: 
 +<code>ngctl name re0:lower:vlan1001 ngeth0
 ifconfig ngeth0 link 00:1a:4d:55:9a:43 ifconfig ngeth0 link 00:1a:4d:55:9a:43
-ifconfig ngeth0 inet 192.168.0.36 netmask 255.255.255.0+ifconfig ngeth0 inet 192.168.0.36 netmask 255.255.255.0</code>
  
-ngctl name re0:lower:vlan1002 ngeth1+Задаём имя интерфейса, mac и ip адрес для созданного влан 1002 интерфейса: 
 +<code>ngctl name re0:lower:vlan1002 ngeth1
 ifconfig ngeth1 link 00:1a:4d:55:9a:44 ifconfig ngeth1 link 00:1a:4d:55:9a:44
-ifconfig ngeth1 inet 192.168.254.36 netmask 255.255.255.0+ifconfig ngeth1 inet 192.168.254.36 netmask 255.255.255.0</code>
  
-ngctl msg re0:lower addfilter '{ vid=1001 hook="vlan1001" }' +Добавляем фильтр в ng_vlan для влана 1001: 
-ngctl msg re0:lower addfilter '{ vid=1002 pcp=6 cfi=1 hook="vlan1002" }'+<code>ngctl msg re0:lower addfilter '{ vid=1001 hook="vlan1001" }'</code>
  
 +Добавляем фильтр в ng_vlan для влана 1002, так же задаем доп параметры:
 +<code>ngctl msg re0:lower addfilter '{ vid=1002 pcp=6 cfi=1 hook="vlan1002" }'</code>
  
- +Проверяем что фильтры добавились, смотрим какие фильтры есть: 
-# ngctl msg re0:lower gettable+<code># ngctl msg re0:lower gettable
 Rec'd response "gettable" (4) from "[156]:": Rec'd response "gettable" (4) from "[156]:":
-Args: { n=2 filter=[ { hook="vlan1001" vid=1001 } { hook="vlan1002" vid=1002 pcp=6 cfi=1 } ] }+Args: { n=2 filter=[ { hook="vlan1001" vid=1001 } { hook="vlan1002" vid=1002 pcp=6 cfi=1 } ] }</code>
  
-# ngctl msg re0:lower getencap+Проверяем режим инкапсуляции пакетов: 
 +<code># ngctl msg re0:lower getencap
 Rec'd response "getencap" (5) from "[156]:": Rec'd response "getencap" (5) from "[156]:":
-Args: 1+Args: 1</code>
  
-# ngctl msg re0:lower getencapproto+Проверяем номер протокола для инкапсуляции/декапсуляции: 
 +<code># ngctl msg re0:lower getencapproto
 Rec'd response "getencapproto" (7) from "[156]:": Rec'd response "getencapproto" (7) from "[156]:":
-Args: 0x8100+Args: 0x8100</code>
  
-# ngctl msg re0:lower delvidflt 1001+Удаляем фильтр для влан 1001 (интерфейс __ngeth0__ при этом не удаляется из системы!): 
 +<code># ngctl msg re0:lower delvidflt 1001</code>
  
-# ngctl msg re0:lower gettable+Проверяем что удалилось: 
 +<code># ngctl msg re0:lower gettable
 Rec'd response "gettable" (4) from "[156]:": Rec'd response "gettable" (4) from "[156]:":
-Args: { n=1 filter=[ { hook="vlan1002" vid=1002 pcp=6 cfi=1 } ] }+Args: { n=1 filter=[ { hook="vlan1002" vid=1002 pcp=6 cfi=1 } ] } </code>
  
-# ngctl msg re0:lower delfilter '"vlan1002"'+Удаляем фильтр для влан 1002 (интерфейс __ngeth1__ при этом не удаляется из системы!): 
 +<code># ngctl msg re0:lower delfilter '"vlan1002"'</code>
  
-# ngctl msg re0:lower gettable+Убеждаемся что все фильтры удалены: 
 +<code># ngctl msg re0:lower gettable
 Rec'd response "gettable" (4) from "[156]:": Rec'd response "gettable" (4) from "[156]:":
-Args: {}+Args: {}</code> 
software/freebsd/ng_vlan.txt · Last modified: 2022/03/02 23:11 by root