@@ -1124,7 +1124,7 @@ A: A policing policy can be configured on an interface to drop packets
generate to 10Mbps:
ovs-vsctl set interface vif1.0 ingress_policing_rate=10000
- ovs-vsctl set interface vif1.0 ingress_policing_burst=1000
+ ovs-vsctl set interface vif1.0 ingress_policing_burst=8000
Traffic policing can interact poorly with some network protocols and
can have surprising results. The "Ingress Policing" section of
@@ -2045,7 +2045,7 @@ netdev_linux_set_policing(struct netdev *netdev_,
int error;
kbits_burst = (!kbits_rate ? 0 /* Force to 0 if no rate specified. */
- : !kbits_burst ? 1000 /* Default to 1000 kbits if 0. */
+ : !kbits_burst ? 8000 /* Default to 8000 kbits if 0. */
: kbits_burst); /* Stick with user-specified value. */
ovs_mutex_lock(&netdev->mutex);
@@ -4720,21 +4720,15 @@ tc_add_policer(struct netdev *netdev,
tc_police.mtu = mtu;
tc_fill_rate(&tc_police.rate, ((uint64_t) kbits_rate * 1000)/8, mtu);
- /* The following appears wrong in two ways:
- *
- * - tc_bytes_to_ticks() should take "bytes" as quantity for both of its
- * arguments (or at least consistently "bytes" as both or "bits" as
- * both), but this supplies bytes for the first argument and bits for the
- * second.
- *
- * - In networking a kilobit is usually 1000 bits but this uses 1024 bits.
+ /* The following appears wrong in one way: In networking a kilobit is
+ * usually 1000 bits but this uses 1024 bits.
*
* However if you "fix" those problems then "tc filter show ..." shows
* "125000b", meaning 125,000 bits, when OVS configures it for 1000 kbit ==
* 1,000,000 bits, whereas this actually ends up doing the right thing from
* tc's point of view. Whatever. */
tc_police.burst = tc_bytes_to_ticks(
- tc_police.rate.rate, MIN(UINT32_MAX / 1024, kbits_burst) * 1024);
+ tc_police.rate.rate, MIN(UINT32_MAX / 1024, kbits_burst) * 1024 / 8);
tcmsg = tc_make_request(netdev, RTM_NEWTFILTER,
NLM_F_EXCL | NLM_F_CREATE, &request);
@@ -2434,7 +2434,7 @@
<column name="ingress_policing_burst">
<p>Maximum burst size for data received on this interface, in kb. The
- default burst size if set to <code>0</code> is 1000 kb. This value
+ default burst size if set to <code>0</code> is 8000 kbit. This value
has no effect if <ref column="ingress_policing_rate"/>
is <code>0</code>.</p>
<p>
@@ -2442,7 +2442,7 @@
which is important for protocols like TCP that react severely to
dropped packets. The burst size should be at least the size of the
interface's MTU. Specifying a value that is numerically at least as
- large as 10% of <ref column="ingress_policing_rate"/> helps TCP come
+ large as 80% of <ref column="ingress_policing_rate"/> helps TCP come
closer to achieving the full rate.
</p>
</column>