I have been playing around with the STP settings of brctl and saw something strange. I was setting the hello time, so I executed the following: # brctl sethello br0 30 Then I had a look at the value that was set: # cat /sys/class/net/br0/bridge/hello_time 2999 Much bigger than expected. I started looking at the source. In the libbridge/libbridge_devif.c file of brctl, we have the following routine: int br_set_bridge_hello_time(const char *br, struct timeval *tv) { return br_set(br, "hello_time", __tv_to_jiffies(tv), BRCTL_SET_BRIDGE_HELLO_TIME); } Note the tv_to_jiffies() call. Then, I looked in the kernel file linux/net/bridge/br_sysfs_br.c at the following function: static void set_hello_time(struct net_bridge *br, unsigned long val) { unsigned long t = clock_t_to_jiffies(val); br->hello_time = t; if (br_is_root_bridge(br)) br->bridge_hello_time = t; } Note the clock_t_to_jiffies() call. Are we converting the time in brctl to jiffies and then when it enters the kernel, we again change the value again to jiffies? Or have I misses something completely? --joubert