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:00]
– [Сообщения] 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 70: Line 71:
  
 ===== Тюнинг системы ===== ===== Тюнинг системы =====
-В [i]loader.conf[/i] +В **/boot/loader.conf**\\ 
-[i]kern.ipc.max_linkhdr[/i] - рекомендую увеличить, это критично для тех, кто генерирует трафик, маршрутизации это мало касается: +**kern.ipc.max_linkhdr** - рекомендую увеличить, это критично для тех, кто генерирует трафик, маршрутизации это мало касается: 
-20 - 1 VLAN tag (.Q) +  * **20** - 1 VLAN tag (.Q) 
-24 - 2 VLAN tags (QinQ) +  * **24** - 2 VLAN tags (QinQ) 
-28 - 3 VLAN tags (QinQinQ) +  * **28** - 3 VLAN tags (QinQinQ) 
-32 - 4 VLAN tags (...)+  * **32** - 4 VLAN tags (...)
  
  
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.1431784814.txt.gz · Last modified: 2015/05/16 14:00 by root