[ovs-dev] [PATCH v2 ovn 0/3] Introduce localnet egress QoS support

Mark Michelson mmichels at redhat.com
Fri Sep 27 20:50:45 UTC 2019


Acked-by: Mark Michelson <mmichels at redhat.com>

On 9/24/19 12:39 PM, Lorenzo Bianconi wrote:
> OVN applies logical switch QoS settings to egress interfaces. It
> currently works by analyzing each br-int interface to see what the remote-ip
> is on it, and then adding qdiscs to the tunnel-egress-iface associated
> with this br-int interface.
> 
> This doesn't work as well when working with VLAN networks. In VLAN
> networks, the interface on br-int associated with the localnet port on
> the logical switch will be a patch port. It's connected to another
> bridge, making it difficult to determine which interface (or interfaces) is
> the egress interface on that connected bridge.
> 
> This series aims to mend this. On the bridge that is patched to br-int,
> interfaces can have the boolean external-ids:ovn-egress-iface set to
> true if this is an egress interface. This way, QoS can be applied to
> these interfaces the same as is applied to tunnel interfaces.
> 
> Moreover rework qos code in order to add the capability to select automatically
> the queue_id used to identify the device queue
> 
> Finally add the set_queue action to logical flows in Egress Port Security - L2 stage
> for localnet QoS capable ports in order to set the physical_interface qdisc id
> 
> Changes since v1:
> - split build_lswitch_port_sec in build_lswitch_input_port_sec and
>    build_lswitch_output_port_sec
> - removed unnecessary log messages
> 
> Changes since RFC:
> - introduce build_lswitch_port_sec as a container for {in/out}_port_sec logical
>    flow configuration
> - move ovn-egress-iface lookup in consider_localnet_port in order to avoid an
>    unnecessary port_binding lookup
> 
> Lorenzo Bianconi (3):
>    Add egress QoS mapping for non-tunnel interfaces
>    northd: add the possibility to define localnet as qos capable port
>    northd: interoduce logical flow for localnet egress shaping
> 
>   controller/binding.c        |  51 ++++++-
>   controller/binding.h        |   4 +
>   controller/ovn-controller.c |   3 +-
>   controller/patch.c          |  76 +++++-----
>   controller/patch.h          |   4 +
>   northd/ovn-northd.8.xml     |   7 +-
>   northd/ovn-northd.c         | 276 ++++++++++++++++++++++--------------
>   7 files changed, 276 insertions(+), 145 deletions(-)
> 



More information about the dev mailing list