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(-) -- 2.40.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev