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
software:freebsd:ng_vlan [2015/05/16 14:01]
– [Тюнинг системы] root
software:freebsd:ng_vlan [2022/03/02 23:11] (current)
– [FreeBSD 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]]\\
 [[http://www.freebsd.org/cgi/query-pr.cgi?pr=161908|http://www.freebsd.org/cgi/query-pr.cgi?pr=161908]]\\ [[http://www.freebsd.org/cgi/query-pr.cgi?pr=161908|http://www.freebsd.org/cgi/query-pr.cgi?pr=161908]]\\
 +<note important>Включено в кодовую базу FreeBSD, патч применять больше не требуется.</note>\\
  
  
Line 82: Line 83:
 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> 
 + 
 + 
 +{{tag>software freebsd net netgraph vlan deprecated mysoft}}
software/freebsd/ng_vlan.1431784910.txt.gz · Last modified: 2015/05/16 14:01 by root