This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
software:freebsd:ng_vlan [2015/05/16 14:00] – [Сообщения] root | software:freebsd:ng_vlan [2022/02/02 00:51] – root | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== QinQ: ng_vlan patch ====== | + | ====== |
Патч добавляет функционал в нетграф ноду ng_vlan, в том числе становится возможным делать QinQ. | Патч добавляет функционал в нетграф ноду ng_vlan, в том числе становится возможным делать QinQ. | ||
[[http:// | [[http:// | ||
[[http:// | [[http:// | ||
+ | **Включено в кодовую базу FreeBSD**, патч применять больше не требуетсяю\\ | ||
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 | + | Включить " |
- | ngctl msg re0: setautosrc 0 | + | < |
+ | ngctl msg re0: setautosrc 0</ | ||
- | ngctl mkpeer re0: vlan lower downstream | + | Подключаем ng_vlan к re0 адаптеру, |
- | ngctl connect re0: re0:lower upper nomatch | + | < |
+ | ngctl connect re0: re0:lower upper nomatch</ | ||
- | ngctl mkpeer re0:lower eiface vlan1001 ether | + | Создаём интерфейсы для вланов и подключаем их к ng_vlan на re0: |
- | ngctl mkpeer re0:lower eiface vlan1002 ether | + | < |
+ | ngctl mkpeer re0:lower eiface vlan1002 ether</ | ||
- | ngctl name re0: | + | Задаём имя интерфейса, |
+ | < | ||
ifconfig ngeth0 link 00: | ifconfig ngeth0 link 00: | ||
- | ifconfig ngeth0 inet 192.168.0.36 netmask 255.255.255.0 | + | ifconfig ngeth0 inet 192.168.0.36 netmask 255.255.255.0</ |
- | ngctl name re0: | + | Задаём имя интерфейса, |
+ | < | ||
ifconfig ngeth1 link 00: | ifconfig ngeth1 link 00: | ||
- | ifconfig ngeth1 inet 192.168.254.36 netmask 255.255.255.0 | + | ifconfig ngeth1 inet 192.168.254.36 netmask 255.255.255.0</ |
- | ngctl msg re0:lower addfilter '{ vid=1001 hook=" | + | Добавляем фильтр в ng_vlan для влана 1001: |
- | ngctl msg re0:lower addfilter '{ vid=1002 pcp=6 cfi=1 hook=" | + | < |
+ | Добавляем фильтр в ng_vlan для влана 1002, так же задаем доп параметры: | ||
+ | < | ||
- | + | Проверяем что фильтры добавились, | |
- | # ngctl msg re0:lower gettable | + | < |
Rec'd response " | Rec'd response " | ||
- | Args: { n=2 filter=[ { hook=" | + | Args: { n=2 filter=[ { hook=" |
- | # ngctl msg re0:lower getencap | + | Проверяем режим инкапсуляции пакетов: |
+ | < | ||
Rec'd response " | Rec'd response " | ||
- | Args: 1 | + | Args: 1</ |
- | # ngctl msg re0:lower getencapproto | + | Проверяем номер протокола для инкапсуляции/ |
+ | < | ||
Rec'd response " | Rec'd response " | ||
- | Args: 0x8100 | + | Args: 0x8100</ |
- | # ngctl msg re0:lower delvidflt 1001 | + | Удаляем фильтр для влан 1001 (интерфейс __ngeth0__ при этом не удаляется из системы!): |
+ | < | ||
- | # ngctl msg re0:lower gettable | + | Проверяем что удалилось: |
+ | < | ||
Rec'd response " | Rec'd response " | ||
- | Args: { n=1 filter=[ { hook=" | + | Args: { n=1 filter=[ { hook=" |
- | # ngctl msg re0:lower delfilter '" | + | Удаляем фильтр для влан 1002 (интерфейс __ngeth1__ при этом не удаляется из системы!): |
+ | < | ||
- | # ngctl msg re0:lower gettable | + | Убеждаемся что все фильтры удалены: |
+ | < | ||
Rec'd response " | Rec'd response " | ||
- | Args: {} | + | Args: {}</ |