Re: Validation of forward_delay seems wrong...

Nikolay Aleksandrov
2019-07-03T01:08:56Z

On 02/07/2019 23:47, Andrew Lunn wrote:
> Hi Nikolay
>
> The man page says that the bridge forward_delay is in units of
> seconds, and should be between 2 and 30.
>
> I've tested on a couple of different kernel versions, and this appears
> to be not working correctly:
>
> ip link set br0 type bridge forward_delay 2
> RTNETLINK answers: Numerical result out of range
>
> ip link set br0 type bridge forward_delay 199
> RTNETLINK answers: Numerical result out of range
>
> ip link set br0 type bridge forward_delay 200
> #
>
> ip link set br0 type bridge forward_delay 3000
> #
>
> ip link set br0 type bridge forward_delay 3001
> RTNETLINK answers: Numerical result out of range
>
> I've not checked what delay is actually being used here, but clearly
> something is mixed up.
>
> grep HZ .config
> CONFIG_HZ_PERIODIC=y
> # CONFIG_NO_HZ_IDLE is not set
> # CONFIG_NO_HZ_FULL is not set
> # CONFIG_NO_HZ is not set
> CONFIG_HZ_FIXED=0
> CONFIG_HZ_100=y
> # CONFIG_HZ_200 is not set
> # CONFIG_HZ_250 is not set
> # CONFIG_HZ_300 is not set
> # CONFIG_HZ_500 is not set
> # CONFIG_HZ_1000 is not set
> CONFIG_HZ=100
>
> Thanks
> Andrew
>

Hi Andrew,
The man page is wrong, these have been in USER_HZ scaled clock_t format from the beginning.
TBH a lot of the time/delay bridge config options are messed up like that.
We've been discussing adding special _ms versions in iproute2 to make them
more user-friendly and understandable. Will cook a patch for the man page.

Cheers,
Nik