diff mbox

[ovs-dev,RFC,v2,4/4] docs: Document ingress scheduling feature

Message ID 1499792313-27606-5-git-send-email-billy.o.mahony@intel.com
State Superseded
Headers show

Commit Message

Billy O'Mahony July 11, 2017, 4:58 p.m. UTC
Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
---
 Documentation/howto/dpdk.rst | 31 +++++++++++++++++++++++++++++++
 vswitchd/vswitch.xml         | 31 +++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+)

Comments

Darrell Ball July 11, 2017, 6:29 p.m. UTC | #1
On 7/11/17, 9:58 AM, "ovs-dev-bounces@openvswitch.org on behalf of Billy O'Mahony" <ovs-dev-bounces@openvswitch.org on behalf of billy.o.mahony@intel.com> wrote:

    Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
    ---
     Documentation/howto/dpdk.rst | 31 +++++++++++++++++++++++++++++++
     vswitchd/vswitch.xml         | 31 +++++++++++++++++++++++++++++++
     2 files changed, 62 insertions(+)
    
    diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst
    index 93248b4..07fb97d 100644
    --- a/Documentation/howto/dpdk.rst
    +++ b/Documentation/howto/dpdk.rst
    @@ -188,6 +188,37 @@ 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)``.
    +
    +Interfaces of type ``dpdk`` support ingress scheduling only for
    +either ether_type or else a fully specificed combination of src and
    +dst ip address and port numbers for TCP or UDP packets.
    +
    +To prioritize packets for Precision Time Protocol:
    +
    +    $ ovs-vsctl set Interface dpdk-p0 \
    +        other_config:ingress_sched=eth_type=0x88F7
    +
    +To prioritize UDP packets between specific IP source and destination:
    +
    +    $ ovs-vsctl set Interface dpdk-p0 \
    +        other_config:ingress_sched=udp,ip_src=1.1.1.1,ip_dst=2.2.2.2,\
    +        udp_src=11,udp_dst=22
    +
    +If unsupported ingress scheduling configuration is specified or it cannot be
    +applied for any reason a warning message is logged and the Interface operates
    +as if no ingress scheduling was configured.
    +
    +Interfaces of type ``dpdkvhostuserclient``, ``dpdkr`` and ``dpdkvhostuser`` do
    +not support ingress scheduling.
    +
    +Currently only the match fields listed above are supported. No wildcarding of
    +fields is supported.
    +

I had a previous comment about this in Patch 2.
No wildcarding ?; meaning we need to specify either the 5 tuple exact match and ethertype
or just ethertype ?



     pdump
     -----
     
    diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
    index 0bf986d..299d725 100644
    --- a/vswitchd/vswitch.xml
    +++ b/vswitchd/vswitch.xml
    @@ -2842,6 +2842,37 @@
           </column>
         </group>
     
    +    <group title="Ingress Scheduling">
    +      <p>
    +       Packets matching the ingress_sched value are 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.
    +       It may be dependant on the interface type and it's supporting
    +       implementation devices. Different interface types may have different
    +       levels of support for the feature and the same interface type attached
    +       to different devices (physical NICs or vhost ports, device driver,
    +       NIC model) may also offer different levels of support.
    +      </p>
    +      <column name="other_config" key="ingress_sched">
    +        <p>
    +         The format of the ingress_sched field is specified in ovs-fields(7) in
    +         the ``Matching'' and ``FIELD REFERENCE'' sections.
    +        </p>
    +      </column>
    +    </group>
    +
         <group title="Bidirectional Forwarding Detection (BFD)">
           <p>
             BFD, defined in RFC 5880 and RFC 5881, allows point-to-point
    -- 
    2.7.4
    
    _______________________________________________
    dev mailing list
    dev@openvswitch.org
    https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=cYvXqJfbNkGW_Hacwk5ZCIh4KMLFD_2r5ssimwwuVmA&s=5-_svanz4DDwQU7zBthfGajskziYym_GEuVpDJogHaA&e=
Billy O'Mahony July 12, 2017, 6:19 p.m. UTC | #2
Hi Darrell,

Thanks for reviewing.

> -----Original Message-----
> From: Darrell Ball [mailto:dball@vmware.com]
> Sent: Tuesday, July 11, 2017 7:29 PM
> To: O Mahony, Billy <billy.o.mahony@intel.com>; dev@openvswitch.org
> Subject: Re: [ovs-dev] [RFC v2 4/4] docs: Document ingress scheduling
> feature
> 
> 
> 
> On 7/11/17, 9:58 AM, "ovs-dev-bounces@openvswitch.org on behalf of Billy
> O'Mahony" <ovs-dev-bounces@openvswitch.org on behalf of
> billy.o.mahony@intel.com> wrote:
> 
>     Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
>     ---
>      Documentation/howto/dpdk.rst | 31
> +++++++++++++++++++++++++++++++
>      vswitchd/vswitch.xml         | 31 +++++++++++++++++++++++++++++++
>      2 files changed, 62 insertions(+)
> 
>     diff --git a/Documentation/howto/dpdk.rst
> b/Documentation/howto/dpdk.rst
>     index 93248b4..07fb97d 100644
>     --- a/Documentation/howto/dpdk.rst
>     +++ b/Documentation/howto/dpdk.rst
>     @@ -188,6 +188,37 @@ 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)``.
>     +
>     +Interfaces of type ``dpdk`` support ingress scheduling only for
>     +either ether_type or else a fully specificed combination of src and
>     +dst ip address and port numbers for TCP or UDP packets.
>     +
>     +To prioritize packets for Precision Time Protocol:
>     +
>     +    $ ovs-vsctl set Interface dpdk-p0 \
>     +        other_config:ingress_sched=eth_type=0x88F7
>     +
>     +To prioritize UDP packets between specific IP source and destination:
>     +
>     +    $ ovs-vsctl set Interface dpdk-p0 \
>     +        other_config:ingress_sched=udp,ip_src=1.1.1.1,ip_dst=2.2.2.2,\
>     +        udp_src=11,udp_dst=22
>     +
>     +If unsupported ingress scheduling configuration is specified or it cannot
> be
>     +applied for any reason a warning message is logged and the Interface
> operates
>     +as if no ingress scheduling was configured.
>     +
>     +Interfaces of type ``dpdkvhostuserclient``, ``dpdkr`` and ``dpdkvhostuser``
> do
>     +not support ingress scheduling.
>     +
>     +Currently only the match fields listed above are supported. No
> wildcarding of
>     +fields is supported.
>     +
> 
> I had a previous comment about this in Patch 2.
> No wildcarding ?; meaning we need to specify either the 5 tuple exact match
> and ethertype or just ethertype ?
> 

[[BO'M]] What I mean is that saying something like 
nw_src=10.1.0.0/255.255.0.0
is not  supported by dpdk_netdev devices (currently).

> 
> 
>      pdump
>      -----
> 
>     diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
>     index 0bf986d..299d725 100644
>     --- a/vswitchd/vswitch.xml
>     +++ b/vswitchd/vswitch.xml
>     @@ -2842,6 +2842,37 @@
>            </column>
>          </group>
> 
>     +    <group title="Ingress Scheduling">
>     +      <p>
>     +       Packets matching the ingress_sched value are 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.
>     +       It may be dependant on the interface type and it's supporting
>     +       implementation devices. Different interface types may have different
>     +       levels of support for the feature and the same interface type attached
>     +       to different devices (physical NICs or vhost ports, device driver,
>     +       NIC model) may also offer different levels of support.
>     +      </p>
>     +      <column name="other_config" key="ingress_sched">
>     +        <p>
>     +         The format of the ingress_sched field is specified in ovs-fields(7) in
>     +         the ``Matching'' and ``FIELD REFERENCE'' sections.
>     +        </p>
>     +      </column>
>     +    </group>
>     +
>          <group title="Bidirectional Forwarding Detection (BFD)">
>            <p>
>              BFD, defined in RFC 5880 and RFC 5881, allows point-to-point
>     --
>     2.7.4
> 
>     _______________________________________________
>     dev mailing list
>     dev@openvswitch.org
>     https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__mail.openvswitch.org_mailman_listinfo_ovs-
> 2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-
> uZnsw&m=cYvXqJfbNkGW_Hacwk5ZCIh4KMLFD_2r5ssimwwuVmA&s=5-
> _svanz4DDwQU7zBthfGajskziYym_GEuVpDJogHaA&e=
>
diff mbox

Patch

diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst
index 93248b4..07fb97d 100644
--- a/Documentation/howto/dpdk.rst
+++ b/Documentation/howto/dpdk.rst
@@ -188,6 +188,37 @@  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)``.
+
+Interfaces of type ``dpdk`` support ingress scheduling only for
+either ether_type or else a fully specificed combination of src and
+dst ip address and port numbers for TCP or UDP packets.
+
+To prioritize packets for Precision Time Protocol:
+
+    $ ovs-vsctl set Interface dpdk-p0 \
+        other_config:ingress_sched=eth_type=0x88F7
+
+To prioritize UDP packets between specific IP source and destination:
+
+    $ ovs-vsctl set Interface dpdk-p0 \
+        other_config:ingress_sched=udp,ip_src=1.1.1.1,ip_dst=2.2.2.2,\
+        udp_src=11,udp_dst=22
+
+If unsupported ingress scheduling configuration is specified or it cannot be
+applied for any reason a warning message is logged and the Interface operates
+as if no ingress scheduling was configured.
+
+Interfaces of type ``dpdkvhostuserclient``, ``dpdkr`` and ``dpdkvhostuser`` do
+not support ingress scheduling.
+
+Currently only the match fields listed above are supported. No wildcarding of
+fields is supported.
+
 pdump
 -----
 
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 0bf986d..299d725 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -2842,6 +2842,37 @@ 
       </column>
     </group>
 
+    <group title="Ingress Scheduling">
+      <p>
+       Packets matching the ingress_sched value are 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.
+       It may be dependant on the interface type and it's supporting
+       implementation devices. Different interface types may have different
+       levels of support for the feature and the same interface type attached
+       to different devices (physical NICs or vhost ports, device driver,
+       NIC model) may also offer different levels of support.
+      </p>
+      <column name="other_config" key="ingress_sched">
+        <p>
+         The format of the ingress_sched field is specified in ovs-fields(7) in
+         the ``Matching'' and ``FIELD REFERENCE'' sections.
+        </p>
+      </column>
+    </group>
+
     <group title="Bidirectional Forwarding Detection (BFD)">
       <p>
         BFD, defined in RFC 5880 and RFC 5881, allows point-to-point