Signed-off-by: Billy O'Mahony <billy.o.mah...@intel.com> --- Documentation/howto/dpdk.rst | 18 ++++++++++++++++++ vswitchd/vswitch.ovsschema | 9 +++++++-- vswitchd/vswitch.xml | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-)
diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst index d717d2e..b9d55d8 100644 --- a/Documentation/howto/dpdk.rst +++ b/Documentation/howto/dpdk.rst @@ -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 ----- diff --git a/vswitchd/vswitch.ovsschema b/vswitchd/vswitch.ovsschema index 90e50b6..5552d87 100644 --- a/vswitchd/vswitch.ovsschema +++ b/vswitchd/vswitch.ovsschema @@ -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"]]}, diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 0c6a43d..24bdc0b 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -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. -- 2.7.4 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev