Message ID | cover.1569342607.git.lorenzo.bianconi@redhat.com |
---|---|
Headers | show |
Series | Introduce localnet egress QoS support | expand |
Acked-by: Mark Michelson <mmichels@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(-) >
I've pushed this to master. 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(-) >