mirror of
https://github.com/openvswitch/ovs
synced 2025-10-29 15:28:56 +00:00
netdev: Don't divide by zero when "linux-htb" zero min-rate is used
A "min-rate" of zero for the "linux-htb" QoS type would cause a divide by zero exception. This patch prevents that by just returning zero. A later patch will try to enforce reasonable values for "min-rate". Bug #3745
This commit is contained in:
@@ -2938,7 +2938,7 @@ tc_bytes_to_ticks(unsigned int rate, unsigned int size)
|
|||||||
if (!buffer_hz) {
|
if (!buffer_hz) {
|
||||||
read_psched();
|
read_psched();
|
||||||
}
|
}
|
||||||
return ((unsigned long long int) ticks_per_s * size) / rate;
|
return rate ? ((unsigned long long int) ticks_per_s * size) / rate : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns the number of bytes that need to be reserved for qdisc buffering at
|
/* Returns the number of bytes that need to be reserved for qdisc buffering at
|
||||||
@@ -3284,9 +3284,7 @@ tc_put_rtab(struct ofpbuf *msg, uint16_t type, const struct tc_ratespec *rate)
|
|||||||
/* Calculates the proper value of 'buffer' or 'cbuffer' in HTB options given a
|
/* Calculates the proper value of 'buffer' or 'cbuffer' in HTB options given a
|
||||||
* rate of 'Bps' bytes per second, the specified 'mtu', and a user-requested
|
* rate of 'Bps' bytes per second, the specified 'mtu', and a user-requested
|
||||||
* burst size of 'burst_bytes'. (If no value was requested, a 'burst_bytes' of
|
* burst size of 'burst_bytes'. (If no value was requested, a 'burst_bytes' of
|
||||||
* 0 is fine.)
|
* 0 is fine.) */
|
||||||
*
|
|
||||||
* This */
|
|
||||||
static int
|
static int
|
||||||
tc_calc_buffer(unsigned int Bps, int mtu, uint64_t burst_bytes)
|
tc_calc_buffer(unsigned int Bps, int mtu, uint64_t burst_bytes)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user