From patchwork Fri Feb 16 20:53:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Billy O'Mahony X-Patchwork-Id: 874654 X-Patchwork-Delegate: ian.stokes@intel.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zjlk53FyYz9t2l for ; Sat, 17 Feb 2018 07:54:05 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id C7E8911F8; Fri, 16 Feb 2018 20:53:30 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 0099311DE for ; Fri, 16 Feb 2018 20:53:28 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 4CB2C124 for ; Fri, 16 Feb 2018 20:53:27 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Feb 2018 12:53:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,520,1511856000"; d="scan'208";a="28653660" Received: from sivswdev01.ir.intel.com (HELO localhost.localdomain) ([10.237.217.45]) by orsmga003.jf.intel.com with ESMTP; 16 Feb 2018 12:53:25 -0800 From: Billy O'Mahony To: dev@openvswitch.org Date: Fri, 16 Feb 2018 20:53:20 +0000 Message-Id: <1518814401-21311-2-git-send-email-billy.o.mahony@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: <1518814401-21311-1-git-send-email-billy.o.mahony@intel.com> References: <1518814401-21311-1-git-send-email-billy.o.mahony@intel.com> X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, T_RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [RFC 1/2] ingress scheduling: schema and docs X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Signed-off-by: Billy O'Mahony --- 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 \ + +

+ Configuration to allow certain traffic to be prioritized. This means + some combination of: +

+
    +
  • + prioritized packets are forwarded to their destination port before + non-prioritized +
  • +
  • + prioritized packets are less likely to be dropped in an overloaded + situation than prioritized packets +
  • +
+

+ 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. +

+ +

+ Priority levels are 0 (lowest) to 3 (highest). +

+
+
+

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 \ + +

+ Ingress Scheduling allows XXX TODO BOM +

+ + + 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. + +
+ The overall purpose of these columns is described under Common Columns at the beginning of this document.