On 5 Jun 2023, at 8:25, Adrian Moreno wrote:

> On 6/5/23 08:22, Adrian Moreno wrote:
>>
>> On 6/2/23 16:13, Adrian Moreno wrote:
>>> There are currently two issues that limit our ability to configure QoS
>>> on certain cards in linux:
>>>
>>> 1) Firstly, the maximum link speed (which is used as maximum rate in
>>> some tc classes), is obtained from netdev feature bits.
>>> This is quite problematic because netdev feature bits do not keep up
>>> with the new feature bits being added to ethtool. Therefore, cards whose
>>> speed is not supported by OpenFlow currently report an incorrect speed
>>> and this can affect QoS configuration.
>>>
>>> This series addresses this problem by adding a new netdev function that
>>> gets the actual link speed so we don't rely on feature bits which are
>>> difficult to keep in sync.
>>>
>>> 2) The tc layer uses 32bit Bps rates which means we cannot express rates
>>> higher than ~34Gbps.
>>>
>>> This series addresses this problem using 64-bit tc attributes when
>>> needed.
>>>
>>> ---
>>> v0 -> v1
>>> - Fix style issues.
>>> - Add a test that checks we can expose a 50Gbps speed using a tap
>>>    interface.
>>> - Add an implementation of get_speed for netdev-bsd.
>>> - Expose both HAVE_TCA_HTB_RATE64 and HAVE_TCA_POLICE_PKTRATE64 as AC
>>>    variables and skip tests if the running kernel does not support them.
>>>
>>> Adrian Moreno (7):
>>>    netdev: add netdev_get_speed() to nedev API
>>>    netdev-linux: use speed as max rate in tc classes
>>>    netdev-linux: use 64-bit rtab tables
>>>    netdev-linux: use 64-bit rates in htb tc classes
>>>    netdev-linux: remove tc_matchall_fill_police
>>>    netdev-linux: refactor nl_msg_put_act_police
>>>    netdev-linux: support 64-bit rates in tc policing
>>>
>>>   acinclude.m4                 |  20 ++++
>>>   include/openvswitch/netdev.h |   1 +
>>>   lib/dpif.h                   |   4 +-
>>>   lib/netdev-bsd.c             |  21 ++++
>>>   lib/netdev-dpdk.c            |  52 +++++++++
>>>   lib/netdev-linux-private.h   |   1 +
>>>   lib/netdev-linux.c           | 210 +++++++++++++++++++++--------------
>>>   lib/netdev-linux.h           |   2 +-
>>>   lib/netdev-provider.h        |   9 ++
>>>   lib/netdev.c                 |  23 ++++
>>>   lib/tc.c                     |   2 +
>>>   ofproto/ofproto-dpif-sflow.c |  11 +-
>>>   ofproto/ofproto.c            |   6 +-
>>>   tests/atlocal.in             |   5 +
>>>   tests/system-interface.at    |  30 +++++
>>>   tests/system-traffic.at      |  49 ++++++++
>>>   vswitchd/bridge.c            |  30 +++--
>>>   17 files changed, 373 insertions(+), 103 deletions(-)
>>>
>>
>> Sorry, I forgot to add v1 to this series. I'll re-send with the right 
>> version.
>>
>
> Ok, I was just noticed only the cover letter is unversioned.

Technically this is v2, as without any version it’s v1 :)

I’ll start reviewing this version as is.

//Eelco


_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to