The "start-rate" configuration in "sessions" section seems to have no effect. If we set the rate to 1 session per second, the effective rate is much higher.
To Reproduce
Version (bngblaster -v):
Version: 0.9.6
Compiler: GNU (11.4.0)
IO Modes: packet_mmap_raw (default), packet_mmap, raw
Looking at the code, we can indeed see that bbl_ctrl_job() (which is called every second if my understanding is correct) only decrements the "rate" variable in case of teardown, but there is no such mechanism for session setup. Adding it would actually limit the number of session setups per second, but it would maybe be too "bursty". For instance, if the rate is 100, bngblaster would create a burst of 100 sessions every second.
I'm aware that the "max-outstanding" could also help to limit the rate.
Bug description
The "start-rate" configuration in "sessions" section seems to have no effect. If we set the rate to 1 session per second, the effective rate is much higher.
To Reproduce
Version (
bngblaster -v
):JSON configuration:
Expected behavior
The start rate should be limited to 1 session/s.
Additional context
Looking at the code, we can indeed see that bbl_ctrl_job() (which is called every second if my understanding is correct) only decrements the "rate" variable in case of teardown, but there is no such mechanism for session setup. Adding it would actually limit the number of session setups per second, but it would maybe be too "bursty". For instance, if the rate is 100, bngblaster would create a burst of 100 sessions every second.
I'm aware that the "max-outstanding" could also help to limit the rate.