Have some questions about egress queue buffer size on SRX 650
edit class-of-service schedulers]root# set VIDEO buffer-size ?Possible completions: exact Enforce exact buffer size percent Buffer size as a percentage (0..100)> remainder Remainder of buffer size available temporal Buffer size as temporal value (microseconds)[edit class-of-service schedulers]
1) If we choose exact, what is the value we are limiting this queue as I do not see any option to specify:
[edit class-of-service schedulers]root# set VIDEO buffer-size exact
2) If we choose " percent" :
[edit class-of-service schedulers]root# set VIDEO buffer-size percent 20
20% of total buffer size ? If yes, what is the Total buffer size?
3) If we choose Schedulers with Varying Priority i.e:
Scheduler VIDEO buffer -Size remainder transmit-rate percent 20, Scheduler Priority High
Scheduler VOICE bufffer-size remiander transmit-rate percent 40 Scheduler Prority High
Scheduler NETWORK-CONTRL remainder transmit-rate percent 30 Scheduler Priority Strict high
Scheduler BE buffer-size remainder transmit-rate percent 10 scheduler priority LOW
How are above buffer allocated above? does trasnmit-rate has any bearing on the amount of buffer each traffic class get above?
This is my assumption:
Strict Priority queue ( Network Control) can use up to the full amount of total Buffer availble, whatever is left can be allocated to " HIGH" QUEUE" and so forth.
Are left over buffers are shared with queues who needs more buffer than allocated ?
Thanks and have a nice weekend!!
1) It will be set to 9192 and you will see a log entry fwdd_cos_set_delay_bandwidth:queue:19 delay buffer size(0) too low, setting to default 9192
2) Total buffer size is platform and configuration dependent. I believe that for SRX650 it's 200ms and 4s with q-pic-large-buffer enabled. You can easily figure it out by yourself. Set it to some arbitrary high value and look in the syslog for COSD_LARGE_DELAY_BUFFER_INVALID in the log.
3)I was sure that using buffer-size remainder more than once will give a commit error but it works. How exacly I don't know. I can't find it documented anywhere and it's not something you could test easily. On the other hand I know that if you set it as percent the buffer size is elastic. It can expand over the limit together with transmit-rate. If you set it as temporal it's not-elastic. I believe that percent exact combination will too make in not-elastic.Best to stick to recommended rule and set matching transmit rates and buffer sizes.Beware that SRX will not warn you when you exceed maximum buffer size. You will find warnings in the log and interface CoS configuration will fallback to default settings.Configuring large delay buffershttps://www.juniper.net/documentation/en_US/junos/topics/task/configuration/cos-configuring-delay-buffer-size.htmlRegards, Wojtek