Перейти до

BGP 10G Soft Router Своими руками v1.0


Рекомендованные сообщения

может быть за счет оптимизаций над вычислением контрольных сумм?

Выберитесь из криокамеры, 21-й век на дворе, контрольные суммы уже считают аппаратно даже интегрированные на мат. платы риалтеки и иже с ними...

 

Не, ну для чего то ж эти jumbo-frame-ы придумали-то.

Их придумали тогда, когда компьютеры были большими и медленными, а сетевухи были еще очень глупыми, с маленькими буферами и без interrupt moderation, для того, чтобы на всем этом гогне хоть как-то прокачать гигабит, не забивая проц прерываниями.

 

и получится обмен файлами на 1Гбит в 1 поток, а не 200-300мбит как обычно.

ftp с гиговой сетевухой, тазик (не помню уже что, то ли атлон 2-головый, то ли семпрон ам3, то ли что-то более раритетное) с igb, клиент - семпрон сокет 754 с forcedeth сетевкой. wget тянул 110МБ/с+ превосходно через этот стенд. Потому даже в такой ситуации польза от JF сомнительна.

О всяческих segmentation offload'ах - вообще молчу.

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 477
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Сорри за оффтоп, но в данной теме оффтоп уже сплошной...     На Украинском форуме начинают как на русском, продолжают как на еврейском, и, часто минуя американский вариант, начинают меряться фуям

Nexus 9372 может уже 128к маршрутов, а 93180 - весь мильен. Вообще не вижу места серверу на бордере.

А смысл? Нынче железо настолько дёшево и быстро, что наоборот, в спец-железках все меньше и меньше смысла. Сервер за 300$ может жевать 10G, а это на минуточку уровень такого себе оператора средне

Posted Images

jumbo фреймы это транспортный уровень,

и для тазика лишняя математика, равно как и для аппаратного роутера,

просто на аппаратных роутерах, jumbo разбирается на аппаратном уровне.

Соственно на аппаратном уровне, пакет должны разбирать и сетевые.

Но это только теория, а производителей вагон и тележка.

 

Для роутера, для того чтобы прогнать через маску, будь это ацл маршрут, правила, или нат,

всеравно нужно курить каждый пакет.

Ссылка на сообщение
Поделиться на других сайтах

jumbo фреймы это транспортный уровень,

и для тазика лишняя математика, равно как и для аппаратного роутера,

просто на аппаратных роутерах, jumbo разбирается на аппаратном уровне.

 

Да никто ничего не разбирает. Jumbo frame - это всего лишь фрейм, размер которого - не 1500 байт, а больше. Все. Никаких других отличий он не имеет.

Ссылка на сообщение
Поделиться на других сайтах

продолжил експеримент. выставил рекомендованные размеры буферов, отключил flow control по рекомендации. все равно под нагрузкой перестает работать сетевая. в логах появляется ошибка

Nov 27 21:29:41 gw_neo kernel: [56984.810590] ------------[ cut here ]------------
Nov 27 21:29:41 gw_neo kernel: [56984.810596] WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0xf4/0x154()
Nov 27 21:29:41 gw_neo kernel: [56984.810597] Hardware name: Z68A-D3H-B3
Nov 27 21:29:41 gw_neo kernel: [56984.810598] NETDEV WATCHDOG: eth2 (ixgbe): transmit queue 0 timed out
Nov 27 21:29:41 gw_neo kernel: [56984.810598] Modules linked in: tun xt_set ip_set_hash_ip ip_set 8021q igb(O) ixgbe(O) dca
Nov 27 21:29:41 gw_neo kernel: [56984.810604] Pid: 0, comm: swapper/0 Tainted: G		   O 3.6.6-gentoo #1
Nov 27 21:29:41 gw_neo kernel: [56984.810604] Call Trace:
Nov 27 21:29:41 gw_neo kernel: [56984.810605]  <IRQ>  [<ffffffff8148b10c>] ? dev_watchdog+0xf4/0x154
Nov 27 21:29:41 gw_neo kernel: [56984.810610]  [<ffffffff810302a7>] warn_slowpath_common+0x80/0x98
Nov 27 21:29:41 gw_neo kernel: [56984.810612]  [<ffffffff81030353>] warn_slowpath_fmt+0x41/0x43
Nov 27 21:29:41 gw_neo kernel: [56984.810614]  [<ffffffff8148af91>] ? netif_tx_lock+0x45/0x7a
Nov 27 21:29:41 gw_neo kernel: [56984.810616]  [<ffffffff8148b10c>] dev_watchdog+0xf4/0x154
Nov 27 21:29:41 gw_neo kernel: [56984.810619]  [<ffffffff8103d31e>] run_timer_softirq+0x1d1/0x29b
Nov 27 21:29:41 gw_neo kernel: [56984.810621]  [<ffffffff8148b018>] ? netif_tx_unlock+0x52/0x52
Nov 27 21:29:41 gw_neo kernel: [56984.810623]  [<ffffffff8101d2c9>] ? apic_write+0x11/0x13
Nov 27 21:29:41 gw_neo kernel: [56984.810625]  [<ffffffff810371b7>] __do_softirq+0xd4/0x1ad
Nov 27 21:29:41 gw_neo kernel: [56984.810628]  [<ffffffff8106dbff>] ? tick_program_event+0x1f/0x21
Nov 27 21:29:41 gw_neo kernel: [56984.810630]  [<ffffffff81577cec>] call_softirq+0x1c/0x30
Nov 27 21:29:41 gw_neo kernel: [56984.810631]  [<ffffffff81003ce8>] do_softirq+0x33/0x6b
Nov 27 21:29:41 gw_neo kernel: [56984.810633]  [<ffffffff8103743f>] irq_exit+0x3f/0x9a
Nov 27 21:29:41 gw_neo kernel: [56984.810635]  [<ffffffff8101d856>] smp_apic_timer_interrupt+0x77/0x85
Nov 27 21:29:41 gw_neo kernel: [56984.810637]  [<ffffffff81577607>] apic_timer_interrupt+0x67/0x70
Nov 27 21:29:41 gw_neo kernel: [56984.810638]  <EOI>  [<ffffffff812d3fec>] ? acpi_idle_enter_simple+0xbf/0xf5
Nov 27 21:29:41 gw_neo kernel: [56984.810643]  [<ffffffff812d3fe7>] ? acpi_idle_enter_simple+0xba/0xf5
Nov 27 21:29:41 gw_neo kernel: [56984.810645]  [<ffffffff8144a15a>] cpuidle_enter+0x12/0x14
Nov 27 21:29:41 gw_neo kernel: [56984.810647]  [<ffffffff8144a5f0>] cpuidle_enter_state+0x12/0x3a
Nov 27 21:29:41 gw_neo kernel: [56984.810648]  [<ffffffff8144a6f0>] cpuidle_idle_call+0xd8/0x14b
Nov 27 21:29:41 gw_neo kernel: [56984.810650]  [<ffffffff810096f7>] cpu_idle+0x56/0x7f
Nov 27 21:29:41 gw_neo kernel: [56984.810652]  [<ffffffff81552629>] rest_init+0x6d/0x6f
Nov 27 21:29:41 gw_neo kernel: [56984.810655]  [<ffffffff81ab2ae5>] start_kernel+0x33b/0x348
Nov 27 21:29:41 gw_neo kernel: [56984.810656]  [<ffffffff81ab251d>] ? repair_env_string+0x56/0x56
Nov 27 21:29:41 gw_neo kernel: [56984.810658]  [<ffffffff81ab22b2>] x86_64_start_reservations+0xb6/0xbb
Nov 27 21:29:41 gw_neo kernel: [56984.810659]  [<ffffffff81ab23a9>] x86_64_start_kernel+0xf2/0xf9
Nov 27 21:29:41 gw_neo kernel: [56984.810660] ---[ end trace 9b4294d240768f82 ]---
Nov 27 21:29:41 gw_neo kernel: [56984.810665] ixgbe 0000:01:00.0: eth2: Fake Tx hang detected with timeout of 5 seconds
Nov 27 21:29:41 gw_neo bird: KRT: Received route 10.250.250.0/24 with strange next-hop 10.250.250.1
Nov 27 21:29:51 gw_neo kernel: [56994.798027] ixgbe 0000:01:00.0: eth2: Fake Tx hang detected with timeout of 10 seconds

 

Может кто знает, что еще можно подправить?

Ссылка на сообщение
Поделиться на других сайтах

по просьбам выкладываю патченные драйвера кому лень патчить ;)

 

http://zion.m3x.org/ixgbe.tar

Ссылка на сообщение
Поделиться на других сайтах

по просьбам выкладываю патченные драйвера кому лень патчить ;)

 

http://zion.m3x.org/ixgbe.tar

у кого нибуть есть патченные драйвера под фрю

Ссылка на сообщение
Поделиться на других сайтах

так и не смог заставить работать 10G на i5. Собственно что было сделано - откатил ядро на версию < 3.3. Т.е. с 3,6,6 перешел на 3,0,53.

дополнительно выполнил команды

 

ethtool -K ethX tso off tx on sg on gro off lro off

ifconfig ethX txqueuelen 10000

 

драйвера сетевых откатил на "проверенную" версию, т.е. на другой машине аналогичная карточка с такими драйверами работает отлично.

Попытался нагрузить сервер iperf-ом. получил показания прием/отдача 5/3 G одновременно. Или 8G в одну сторону. Можно было бы получить и больше, но не хватило мощностей для создания нагрузки.

И что получил в итоге - теперь сервер не подвисает наглухо, теперь он просто перегружается.

На момент ребута загрузка интерфейса составляла 3,5/1,5G.

LA~0.1

CPU SI 35-40% на каждом ядре.

CPU idle time 65% в ЧНН.

 

и рушилось все это дело с такими ошибками

Dec  3 14:20:40 gw_neo kernel: [31341.684411] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:40 gw_neo kernel: [31341.883829] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected
Dec  3 14:20:42 gw_neo kernel: [31343.682696] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:42 gw_neo kernel: [31343.882122] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected
Dec  3 14:20:44 gw_neo kernel: [31345.680983] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:44 gw_neo kernel: [31345.880408] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected
Dec  3 14:20:46 gw_neo kernel: [31347.679258] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:46 gw_neo kernel: [31347.878714] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected
Dec  3 14:20:48 gw_neo kernel: [31349.677562] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:48 gw_neo kernel: [31349.876988] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected
Dec  3 14:20:48 gw_neo bird: KRT: Received route 10.250.250.0/24 with strange next-hop 10.250.250.1
Dec  3 14:20:50 gw_neo kernel: [31351.675838] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:50 gw_neo kernel: [31351.875269] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected
Dec  3 14:20:50 gw_neo kernel: [31351.675838] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:50 gw_neo kernel: [31351.875269] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected
Dec  3 14:20:50 gw_neo kernel: [31352.219332] ------------[ cut here ]------------
Dec  3 14:20:50 gw_neo kernel: [31352.219338] WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0xeb/0x14b()
Dec  3 14:20:50 gw_neo kernel: [31352.219339] Hardware name: Z68A-D3H-B3
Dec  3 14:20:50 gw_neo kernel: [31352.219340] NETDEV WATCHDOG: eth2 (ixgbe): transmit queue 0 timed out
Dec  3 14:20:50 gw_neo kernel: [31352.219341] Modules linked in: tun xt_set ip_set_hash_ip ip_set 8021q igb ixgbe dca
Dec  3 14:20:50 gw_neo kernel: [31352.219346] Pid: 0, comm: swapper Tainted: G	    W   3.0.53-gentoo #1
Dec  3 14:20:50 gw_neo kernel: [31352.219347] Call Trace:
Dec  3 14:20:50 gw_neo kernel: [31352.219348]  <IRQ>  [<ffffffff8103aa51>] warn_slowpath_common+0x80/0x98
Dec  3 14:20:50 gw_neo kernel: [31352.219354]  [<ffffffff8103aafd>] warn_slowpath_fmt+0x41/0x43
Dec  3 14:20:50 gw_neo kernel: [31352.219356]  [<ffffffff81443e82>] ? netif_tx_lock+0x45/0x76
Dec  3 14:20:50 gw_neo kernel: [31352.219358]  [<ffffffff81443fec>] dev_watchdog+0xeb/0x14b
Dec  3 14:20:50 gw_neo kernel: [31352.219360]  [<ffffffff81046ef2>] run_timer_softirq+0x1c4/0x28d
Dec  3 14:20:50 gw_neo kernel: [31352.219362]  [<ffffffff81443f01>] ? netif_tx_unlock+0x4e/0x4e
Dec  3 14:20:50 gw_neo kernel: [31352.219365]  [<ffffffff81017cce>] ? lapic_next_event+0x10/0x14
Dec  3 14:20:50 gw_neo kernel: [31352.219367]  [<ffffffff81040242>] __do_softirq+0xbe/0x17b
Dec  3 14:20:50 gw_neo kernel: [31352.219370]  [<ffffffff81061a02>] ? tick_program_event+0x1a/0x1c
Dec  3 14:20:50 gw_neo kernel: [31352.219374]  [<ffffffff8152ed0c>] call_softirq+0x1c/0x30
Dec  3 14:20:50 gw_neo kernel: [31352.219377]  [<ffffffff81003ae6>] do_softirq+0x33/0x69
Dec  3 14:20:50 gw_neo kernel: [31352.219379]  [<ffffffff810404a7>] irq_exit+0x3f/0x9c
Dec  3 14:20:50 gw_neo kernel: [31352.219381]  [<ffffffff8101815b>] smp_apic_timer_interrupt+0x77/0x85
Dec  3 14:20:50 gw_neo kernel: [31352.219383]  [<ffffffff8152e4d3>] apic_timer_interrupt+0x13/0x20
Dec  3 14:20:50 gw_neo kernel: [31352.219384]  <EOI>  [<ffffffff812b5793>] ? acpi_idle_enter_bm+0x200/0x234
Dec  3 14:20:50 gw_neo kernel: [31352.219388]  [<ffffffff812b578e>] ? acpi_idle_enter_bm+0x1fb/0x234
Dec  3 14:20:50 gw_neo kernel: [31352.219390]  [<ffffffff814153e6>] cpuidle_idle_call+0xd9/0x157
Dec  3 14:20:50 gw_neo kernel: [31352.219393]  [<ffffffff8100123c>] cpu_idle+0x56/0x78
Dec  3 14:20:50 gw_neo kernel: [31352.219395]  [<ffffffff8150ab49>] rest_init+0x6d/0x6f
Dec  3 14:20:50 gw_neo kernel: [31352.219397]  [<ffffffff81a9cad4>] start_kernel+0x343/0x34e
Dec  3 14:20:50 gw_neo kernel: [31352.219399]  [<ffffffff81a9c2a6>] x86_64_start_reservations+0xb6/0xba
Dec  3 14:20:50 gw_neo kernel: [31352.219401]  [<ffffffff81a9c39c>] x86_64_start_kernel+0xf2/0xf9
Dec  3 14:20:50 gw_neo kernel: [31352.219402] ---[ end trace 8720a024bf0aa566 ]---
Dec  3 14:20:50 gw_neo kernel: [31352.219407] ixgbe 0000:01:00.0: eth2: Fake Tx hang detected with timeout of 5 seconds
Dec  3 14:20:52 gw_neo kernel: [31353.674115] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:52 gw_neo kernel: [31353.873555] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected
Dec  3 14:20:54 gw_neo kernel: [31355.672422] ixgbe 0000:01:00.0: eth2: -1 Spoofed packets detected
Dec  3 14:20:54 gw_neo kernel: [31355.871891] ixgbe 0000:01:00.1: eth3: -1 Spoofed packets detected

 

Куда еще копать - не знаю.

Осталось только проверить гипертрейнинг.... Дальше фантазия заканчивается

Ссылка на сообщение
Поделиться на других сайтах

Какой гипертрейдинг на i5?

А копать ИМХО в сторону железа (глюкавая карточка/глюкавая память/глюкавая мать). Для начала - memtest86 на сутки-другие, потом - перетыкивание карточки в другой подручный тазик, потом - замена карточки...

Ссылка на сообщение
Поделиться на других сайтах

Так есть те, у кого на фряхе 10G крутится ?

 

У нас есть. Двухпортовая Х520-DA2, апнут один порт.

Бегает до 2800\2800 по 10Г линку. Сервер занимается БГП (несколько аплинков) + шейпер. Загрузка гдето 27%

Проц Intel® Core™ i7-3930K CPU @ 3.20GHz

 

ApmeM, мать то какая ? Марка\производитель ?

У меня тут была похожая темка про мамки АсРок... не жильцы при больших нагрузках.

Ссылка на сообщение
Поделиться на других сайтах

to Elisium:

А какие модули используете, и что за железка на втором конце линка ?

Медный шнурок 10Г

На другом конце длинк 3420.

п.с. Драйвера, само собой, патченные для неродных СФП+.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

растет по чуть чуть ;)
поставил свежие дрова и ядро :)
хотя итак все жило без проблем

post-4093-0-11003100-1366129894_thumb.png

Ссылка на сообщение
Поделиться на других сайтах

Up time скоко?

 

растет по чуть чуть ;)

поставил свежие дрова и ядро :)

хотя итак все жило без проблем

10.5.0.3_tg3_6-month.png

Up time скоко?

 

два месяца было

ядро обновлял пришлось ребутнуться

Ссылка на сообщение
Поделиться на других сайтах
  • 2 months later...

Прошло несколько месяцев. Попробую еще раз задать интересующий меня вопрос:

На фряхе так никому и не удалось собрать рабочий 10Г софт роутер?

Ссылка на сообщение
Поделиться на других сайтах

Почему не удалось? Работает. Без извращений никак: НАТит,  шейпит. Графики похожи.

CPU: Intel® Xeon® CPU E31270

avail memory = 8212676608 (7832 MB)

ix0: <Intel® PRO/10GbE PCI-Express Network Driver, Version - 2.4.8> port 0xe020-0xe03f mem 0xfb280000-0xfb2fffff,0xfb704000-0xfb707fff irq 17 at device 0.0 on pci2

ix1: <Intel® PRO/10GbE PCI-Express Network Driver, Version - 2.4.8> port 0xe000-0xe01f mem 0xfb180000-0xfb1fffff,0xfb700000-0xfb703fff irq 18 at device 0.1 on pci2

 

 

netstat -w1 -I ххх
input (user0) output
packets errs idrops bytes packets errs bytes colls
77489 0 0 24148429 115693 0 141062643 0
73964 0 0 24211243 112355 0 136747843 0
74133 0 0 22569613 108376 0 131884464 0
75460 0 0 24975746 109987 0 132511907 0
72825 0 0 26353052 100845 0 118390713 0
71768 0 0 25226660 103174 0 122400746 0
73587 0 0 24539708 106375 0 125208926 0

Не час пик.

Ссылка на сообщение
Поделиться на других сайтах

Почему не удалось? Работает. Без извращений никак: НАТит,  шейпит. Графики похожи.

CPU: Intel® Xeon® CPU E31270

avail memory = 8212676608 (7832 MB)

ix0: <Intel® PRO/10GbE PCI-Express Network Driver, Version - 2.4.8> port 0xe020-0xe03f mem 0xfb280000-0xfb2fffff,0xfb704000-0xfb707fff irq 17 at device 0.0 on pci2

ix1: <Intel® PRO/10GbE PCI-Express Network Driver, Version - 2.4.8> port 0xe000-0xe01f mem 0xfb180000-0xfb1fffff,0xfb700000-0xfb703fff irq 18 at device 0.1 on pci2

 

 

netstat -w1 -I ххх

input (user0) output

packets errs idrops bytes packets errs bytes colls

77489 0 0 24148429 115693 0 141062643 0

73964 0 0 24211243 112355 0 136747843 0

74133 0 0 22569613 108376 0 131884464 0

75460 0 0 24975746 109987 0 132511907 0

72825 0 0 26353052 100845 0 118390713 0

71768 0 0 25226660 103174 0 122400746 0

73587 0 0 24539708 106375 0 125208926 0

Не час пик.

 

Какая версия фри? Какие дрова? В 8.3 не подымается линк, на свитче активен, на сетевой пусто :(

Ссылка на сообщение
Поделиться на других сайтах

Я написал, графики похожие.

Чуть больше 2х. 

 

вот
packets errs idrops bytes packets errs bytes colls
131721 0 0 41411104 230504 0 293796288 0
137513 0 0 42369197 249114 0 318266887 0
137495 0 0 41307320 248265 0 318069772 0
131563 0 0 41534123 232846 0 299400594 0
129189 0 0 39348142 230539 0 295692121 0
131099 0 0 38836366 231288 0 296942489 0

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.


×
×
  • Створити нове...