
Dmitry
25.09.2018
11:33:11
пишут длайвера для своих недожелезок

Lev
25.09.2018
12:06:25
Слушайте, а у кого-нибудь есть проверенный конфиг strongswan'а с минимально необходимым но достаточноым для современных клиентов набором механизмов авторизации? А то там такое разнообразие конфигов, что глаза разбегаются.

Andrey
25.09.2018
12:32:19

Lev
25.09.2018
12:32:40

Google

Andrey
25.09.2018
12:35:56
https://genneko.github.io/playing-with-bsd/networking/freebsd-vti-ipsec/

Roman
25.09.2018
12:37:06

Andrey
25.09.2018
12:37:18
на самом деле для использования if_ipsec надо использовать auto=route, и нужно запатчить ядро+strongswan маленькими патчиками
но в целом, пример конфига достаточно прост и работоспособен

Dmitry
25.09.2018
12:37:41

Roman
25.09.2018
12:38:43

Andrey
25.09.2018
12:39:45
no feed troll

Lev
25.09.2018
12:39:58

Andrey
25.09.2018
12:40:56

Dmitry
25.09.2018
12:41:02
с каких это пор netgraph медленный ?

Andrey
25.09.2018
12:41:17
всегда так было

Lev
25.09.2018
12:41:51

Google

Roman
25.09.2018
12:42:28

Lev
25.09.2018
12:42:55

Dmitry
25.09.2018
12:43:36

Andrey
25.09.2018
12:44:06
у нас просто разные скорости :)
мне приходится работать с 10-ками и 100-ми гигабит и нетграф для этого непригоден полностью

Dmitry
25.09.2018
12:44:57
его ж вроде еще в девятке перевели на rwlock

Andrey
25.09.2018
12:45:14
рволок это прошлый век и основной тормоз стека

Roman
25.09.2018
12:45:24

Lev
25.09.2018
12:45:45

Dmitry
25.09.2018
12:45:51

El Mariachi
25.09.2018
12:46:12
джинсы подворачивать и лодыжки оголять

Lev
25.09.2018
12:46:13

Roman
25.09.2018
12:46:31

Andrey
25.09.2018
12:46:33
оно нисколько не скалируется на количество ядер, даже если ты используешь только rlock, на многих ядрах ты получишь такой контеншен, что ни о какой производительности речи нет.

Roman
25.09.2018
12:46:59

Andrey
25.09.2018
12:47:03
сейчас модно ConcurrencyKit

Lev
25.09.2018
12:47:05
Надо транспорт между нодами на принципы Дезрупотра переписать
Между нодами NG

Andrey
25.09.2018
12:47:16
RCU защищено патентами

Roman
25.09.2018
12:47:45

Google

Lev
25.09.2018
12:47:46
В общем-то single producer single consumer queue без локов — это очень просто уже
Дальше пихаем каждую ноду в свой тред
Ну или делаем M:N
M:N лучше на большом количестве нод, но сложенее, скедулер будет нужен под это

Dmitry
25.09.2018
12:48:30
не получится. принцип netgraph как раз именно взаимодействие нод

Lev
25.09.2018
12:48:39
В общем-то, понятно что делать

Dmitry
25.09.2018
12:48:49
а при переходе пакета из ноды в ноду как раз rwlock и торчит

Lev
25.09.2018
12:48:53
Локи будут нужны только для сна на пустой/полной очереди
Это ОЧЕНЬ быстро.

Andrey
25.09.2018
12:49:33

Lev
25.09.2018
12:49:38
А пока у нас steady state и всё качает локов не будт

Dmitry
25.09.2018
12:50:27
смысл в том, что пакет идет от хука к хуку, и при передаче пакета, нужно убедиться что хук соседней ноды существует, и соседняя нода не "мертвая"

Lev
25.09.2018
12:50:31
(если что, я писал такую систему в юзерленде, и оно отлично получается, если у нас нет циклов, т.е. есть DAG. Если есть циклы начинаются проблемы)

Dmitry
25.09.2018
12:51:31
и во время этой проверки нужно заблокировать изменения самой структуры netgraph

Lev
25.09.2018
12:51:37
Не, без CAS'ов и атомиков мы не обйодёмя. но без локов в обещем случае, когда всё стабильно —вполне.

Google

Lev
25.09.2018
12:52:40
А slow path будет с локами. Только если мы всё настроили и качаем 10 гигабит, то локи не нужны.
Я могу сразу предсказать где будет следующий затык: аллокация и деаллокация буферов.

Roman
25.09.2018
12:53:01

Lev
25.09.2018
12:53:06
Т.е. подсистема памяти
Она и сейчас-то сосёт если ZFS с сетью подрались (т.е. торрент в 256 потоков качаем на 100 мегабит — и привет, система колом стоит, сетевой стек висит в локах на памяти)

Roman
25.09.2018
12:53:45

Andrey
25.09.2018
12:54:23
на словах всё выгляди тпросто, на деле нужно пару человеколет чтобы весь нетграф переделать и довести до пригодного в прод вида

Dmitry
25.09.2018
12:54:43
я предлагал переписать весь netgrap с одним большим локом, который отвечает именно за изменение структуры. т.е. весь netgraph лочится один раз, а пакеты внутри бегают уже без локов

Andrey
25.09.2018
12:55:26
сейчас в ядре есть CK, и EBR на его основе. Приступай, если есть желание :)

Lev
25.09.2018
12:55:38

Admin
ERROR: S client not available

Dmitry
25.09.2018
12:56:00

Andrey
25.09.2018
12:56:27
причем epoch(9) предлогает вполне понятное и простое KPI

Lev
25.09.2018
12:56:36
желание есть, навыков нету
А у меня сил нет. Даже свои мелочи по году доделать не могу в последнее время. Что уж за такую глыбу взяться параллельно основной работе…

Andrey
25.09.2018
12:56:54
для реализации lockless fastpath + определение живости через epoch
как тут справедливо замечали, если нет цели, то смысла браться нет. Если цель есть, но нет мотивации, тоже смысла нет.

Roman
25.09.2018
12:57:42

Lev
25.09.2018
12:57:59
Вот и упираемся в то, чего не хватает FreeBSD — ДЕНЕГ :-) На такую работу я бы пошёл. Да никто не заплатит

Andrey
25.09.2018
12:58:12
напиши в ff

Google

Andrey
25.09.2018
12:58:35
распиши как ты всё сделаешь клёво, и устройся в ff

Andrey
25.09.2018
12:58:45
почему фоундейшен же гранты даёт

Andrey
25.09.2018
12:59:13
ещё думаю полезной фичей для фри была бы нормальная реализация SMB

Roman
25.09.2018
12:59:20

Andrey
25.09.2018
12:59:24
к zfs к примеру

Dmitry
25.09.2018
12:59:44
к zfs прикрутить aesni не мешало бы

Andrey
25.09.2018
13:01:04

Lev
25.09.2018
13:02:15

Andrey
25.09.2018
13:02:45
ну чтоб можно было как в соляре взять и расшарить датасет по smb
у нас просто сейчас даже mount_smbfs говорят не работает с современными виндами

Dmitry
25.09.2018
13:03:34
zfs умеет контрольные суммы sha256, новые процы тоже умеют sha256

Roman
25.09.2018
13:03:39

Andrey
25.09.2018
13:03:52
именно
поэтому эта работа заведомо обречена на провал, т.к. никому не нужна
проще сразу взять готове решения на dpdk и допилить их

Dmitry
25.09.2018
13:04:55
ну на mpd5 до сих пор куча народа сидит

Andrey
25.09.2018
13:05:36
эта куча постоянно жалуется на паники в netgraph, и даже это некому исправить

Roman
25.09.2018
13:05:52

Dmitry
25.09.2018
13:06:15
ng_car, ng_bpf
ng_netflow

Lev
25.09.2018
13:06:48

Andrey
25.09.2018
13:07:06
NFS'ом у нас занимается один дедушка Рик

Lev
25.09.2018
13:07:22