Size: a a a

2021 March 30

xy

xxxx yyyy in Accel-PPP
сейчас он сам берет через conf_get_opt, т.е. надо выносить это за пределы модуля?
источник

VG

Vladislav Grishenko in Accel-PPP
1. main::load config
2. main::enumerate modules->foreach(module init)
3. main::enable reload
+
1. load_config::new_list = allocate_new_list
2. load_config::lock
3. load_config::enumerate config_list->foreach(ref = 0)
3. load_config::load_file into new_list, reusing section/options from config_list, inc. ref
4. load_config::swap(config_list, new_list)
6. load_config::free(new_list) with ref == 0
7. load_config::unumerate modules->foreach(call reload)
5. load_config::unlock
+
module:reload use conf_get_opt
источник

xy

xxxx yyyy in Accel-PPP
конфиг лочим для себя самого? читатели как-нибудь обойдутся?
источник

xy

xxxx yyyy in Accel-PPP
ну примерно понятна мысль
источник

VG

Vladislav Grishenko in Accel-PPP
читатели тут conf_get_opt() для которого config_list-> будет валиден в любой момент времени.
а данные внутри под защитой лока в процессе релоада
источник

xy

xxxx yyyy in Accel-PPP
подумаю, как реализовать, может действительно получится
источник

VG

Vladislav Grishenko in Accel-PPP
время лока тут получается потенциально большое.
можно сократить до свапа, если не пытаться реиспользовать старый конфиг
источник

xy

xxxx yyyy in Accel-PPP
щас просто 1, 2 и 3 секция выполняются асинхронно, в этом проблема
источник

xy

xxxx yyyy in Accel-PPP
у тебя тут нет лока из читателя, время лока там минимально.
источник

xy

xxxx yyyy in Accel-PPP
просто надо читатель гарантировано позже запустить, после измеенения конфига
источник

VG

Vladislav Grishenko in Accel-PPP
если conf_get_opt надо использовать вне reload, то придется добавлять лок и туда. при этом будет требование, чтобы не залочиться там навсегда (на период чтения файла например) - а значит отказаться от реюза старого конфига
источник

VG

Vladislav Grishenko in Accel-PPP
соответственно после реалоада все ссылки будут невалидны, и модули не должны пытаться использовать их as is, только через копирования куданибудь в себя
источник

VG

Vladislav Grishenko in Accel-PPP
xxxx yyyy
просто надо читатель гарантировано позже запустить, после измеенения конфига
для этого и нужен эвент
источник

VG

Vladislav Grishenko in Accel-PPP
есть и, кажется, так и применяется
источник

VG

Vladislav Grishenko in Accel-PPP
Vladislav Grishenko
соответственно после реалоада все ссылки будут невалидны, и модули не должны пытаться использовать их as is, только через копирования куданибудь в себя
это еще дает x2 памяти, но кажется память в этом проекте тоже не проблема (особенно с учетом Ipv6 пулов)
источник

xy

xxxx yyyy in Accel-PPP
сейчас, однако, евент есть, но почему-то либо запаздывает, либо что, и в результате релоад и чтение конфига - в одно и то же время
источник

AT

Andrey Tuzhik in Accel-PPP
Dimka88
У меня есть стенд с 20к пользователями, как воспроизвести?
источник

AT

Andrey Tuzhik in Accel-PPP
в свете последних событий эта картинка теперь подходит )))
источник

Е

Евгений Вайд... in Accel-PPP
А с помощью BNG можно нагрузочное тестирование провести? Что бы каждый виртуальный абон гонял какой-нибудь трафик-флуд
источник

D

Dimka88 in Accel-PPP
Именно
источник