Requested: Traffic partitioning using SR-IOV (sans virtualization) #22
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
(Migrated from https://bugzilla.redhat.com/show_bug.cgi?id=1070505)
Description of problem:
Intel has a guide which describes the why and how of traffic partitioning using SR-IOV, which is an often overlooked use of SR-IOV aside from its primary use with libvirt, and virtualization, et. al.
Here is that guide: http://www.intel.com/content/dam/www/public/us/en/documents/solution-briefs/10-gbe-ethernet-flexible-port-partitioning-brief.pdf
What I'd like to see are controls and documentation for this alternative use of SR-IOV. Using SR-IOV in this way exposes easy QoS controls (see doc), as well as potential performance gains. Using SR-IOV, as an alternative to converged networking over vanilla 8021q-module VLAN interfaces, I've observed (with iperf3) fewer packet retransmissions (packets dropped).
See my tests here: https://gist.github.com/josh-wrale/9101038
QoS using 802.1Qaz and DCBX can be very hard to grasp and even harder to implement (I know as I am failing at both at the moment). Please do not overlook SR-IOV as a solution to problems experienced on bare metal with no virtualization involved at all.
Comment 1:
I found a rudimentary way of implementing the requisite iproute2 commands for SR-IOV traffic partitioning: Place custom iproute2 commands for SR-IOV in one of the "-local" scripts, like '/sbin/ifup-local'.
Ala: http://blog.jds2001.org/random_thoughts/2007/09/tip-of-the-day-ifup-local.html
And:
[root@n1 network-scripts]# grep '-local' *
ifdown:if [ -x /sbin/ifdown-pre-local ]; then
ifdown: /sbin/ifdown-pre-local ${DEVICE}
ifdown-post:if [ -x /sbin/ifdown-local ]; then
ifdown-post: /sbin/ifdown-local ${DEVICE}
ifup:if [ -x /sbin/ifup-pre-local ]; then
ifup: /sbin/ifup-pre-local ${CONFIG} $2
ifup-aliases:if [ -x /sbin/ifup-local ]; then
ifup-aliases: /sbin/ifup-local ${DEVICE}
ifup-ippp: options="$options ipcp-accept-local"
ifup-isdn: options="$options ipcp-accept-local"
ifup-post:if [ -x /sbin/ifup-local ]; then
ifup-post: /sbin/ifup-local ${DEVICE}
init.ipv6-global: # Unreachable 6to4: IPv4 private (APIPA / DHCP link-local)
network-functions-ipv6: net_log $"Given IPv6 default gateway '$address' is link-local, but no scope or gateway device is specified" err $fn
[root@n1 network-scripts]#
Comment 2:
More good reading on this topic:
http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/config-qos-with-flexible-port-partitioning.pdf