Hi All, rather than waiting for more polished PATCH v1 next week as I suggested this morning please find v2 RFC patchset updated with documentation changes and also some results from testing with this patchset.
Initial results: * even when userspace OVS is very much overloaded and dropping significant numbers of packets the drop rate for prioritized traffic is running at 1/1000th of the drop rate for non-prioritized traffic. * the latency profile of prioritized traffic through userspace OVS is also much improved 1e0 |* |* 1e-1 |* | Non-prioritized pkt latency |* * Prioritized pkt latency 1e-2 |* |* 1e-3 |* | |* | 1e-4 |* | | | |* |* | | 1e-5 |* |* | | | |* |* |* | | | 1e-6 |* |* |* |* | | |* |* |* |* |* | 1e-7 |* |* |* |* |* |* |* |* |* |* |* |* 1e-8 |* |* |* |* |* |* 0-1 1-20 20-40 40-50 50-60 60-70 ... 120-400 Latency (us) Proportion of packets per latency bin @ 80% Max Throughput (Log scale) The patch works for the supported field types but should not be considered complete - at this stage I'd like to get an idea if people agree with general layout of the implementation. With this patchset prioritized ingress scheduling can be achieved based on: * eth_type * src & dst ip and port numbers for UDP & TCP packets The patch uses Flow Director filter API in DPDK and has only been tested on a Fortville (XL710) NIC. This is RFC so there are things it does not take into account: * reconfiguration - of the ingress_sched config of pmd masks and so on. * ovs-appctl dpif-netdev/pmd-*-show o/p should indicate rxq prioritization. * any requirements for a more granular prioritization mechanism * ... Regards, Billy. Billy O'Mahony (4): netdev: Add set_ingress_sched to netdev api netdev-dpdk: Apply ingress_sched config to dpdk phy ports dpif-netdev: Add rxq prioritization docs: Document ingress scheduling feature Documentation/howto/dpdk.rst | 31 +++++++++ include/openvswitch/ofp-parse.h | 3 + lib/dpif-netdev.c | 24 ++++++- lib/netdev-bsd.c | 1 + lib/netdev-dpdk.c | 136 ++++++++++++++++++++++++++++++++++++++++ lib/netdev-dummy.c | 1 + lib/netdev-linux.c | 1 + lib/netdev-provider.h | 10 +++ lib/netdev-vport.c | 1 + lib/netdev.c | 22 +++++++ lib/netdev.h | 1 + vswitchd/bridge.c | 2 + vswitchd/vswitch.xml | 31 +++++++++ 13 files changed, 261 insertions(+), 3 deletions(-) -- 2.7.4 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev