@@ -237,6 +237,24 @@ respective parameter. To disable the flow control at tx side, run::
$ ovs-vsctl set Interface dpdk-p0 options:tx-flow-ctrl=false
+Ingress Scheduling
+------------------
+
+The ingress scheduling feature is described in general in
+``ovs-vswitchd.conf.db (5)``.
+
+Ingress scheduling currently only supports setting a priority for incoming
+packets for an entire interface. Priority levels 0 (lowest) to 3 (highest) are
+supported. The default priority is 0.
+
+Interfaces of type ``dpdk`` and ``dpdkvhostuserclient`` support ingress
+scheduling.
+
+To prioritize packets on a particular port:
+
+ $ ovs-vsctl set Interface dpdk0 \
+ ingress_sched=port_prio=3
+
pdump
-----
@@ -1,6 +1,6 @@
{"name": "Open_vSwitch",
- "version": "7.15.1",
- "cksum": "3682332033 23608",
+ "version": "7.15.2",
+ "cksum": "2390903851 23814",
"tables": {
"Open_vSwitch": {
"columns": {
@@ -352,6 +352,11 @@
"minInteger": 1},
"min": 0,
"max": 1}},
+ "ingress_sched": {
+ "type": {"key": {"type": "string",
+ "enum": ["set", ["port_prio"]]},
+ "value": "string",
+ "min": 0, "max": 1}},
"error": {
"type": {"key": "string", "min": 0, "max": 1}}},
"indexes": [["name"]]},
@@ -3075,6 +3075,33 @@ ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \
</column>
</group>
+ <group title="Ingress Scheduling">
+ <p>
+ Configuration to allow certain traffic to be prioritized. This means
+ some combination of:
+ </p>
+ <ul>
+ <li>
+ prioritized packets are forwarded to their destination port before
+ non-prioritized
+ </li>
+ <li>
+ prioritized packets are less likely to be dropped in an overloaded
+ situation than prioritized packets
+ </li>
+ </ul>
+ <p>
+ Ingress scheduling is supported with the best effort of the Interface
+ type and datapath. Currently the only field supported is port_prio
+ which applies a priority to all incoming packets on the Interface.
+ </p>
+ <column name="ingress_sched" key="port_prio">
+ <p>
+ Priority levels are 0 (lowest) to 3 (highest).
+ </p>
+ </column>
+ </group>
+
<group title="Bidirectional Forwarding Detection (BFD)">
<p>
BFD, defined in RFC 5880 and RFC 5881, allows point-to-point
@@ -3631,6 +3658,19 @@ ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \
</column>
</group>
+ <group title="Ingress Scheduling">
+ <p>
+ Ingress Scheduling allows XXX TODO BOM
+ </p>
+
+ <column name="ingress_sched" key="port_prio" type='{"type": "integer"}'>
+ The ingress priority of the port: 0 lowest to 3 highest. Higher
+ priority ports are read more frequently than lower priority ports. This
+ providing enhanced protection against being dropped due to Rx queue
+ overflow to packets ingressing on those ports.
+ </column>
+ </group>
+
<group title="Common Columns">
The overall purpose of these columns is described under <code>Common
Columns</code> at the beginning of this document.
Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com> --- Documentation/howto/dpdk.rst | 18 ++++++++++++++++++ vswitchd/vswitch.ovsschema | 9 +++++++-- vswitchd/vswitch.xml | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-)