diff options
author | scottl <scottl@FreeBSD.org> | 2013-12-30 01:32:17 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2013-12-30 01:32:17 +0000 |
commit | 4ba8fc2916269d5e26598123350515d24ab4f5a3 (patch) | |
tree | e3b45581296a71b9605b1a8b05a56cbd589ece05 /sys/net/if_lagg.h | |
parent | 9c7ced984d52ee1262f7ac5d268a4052d0fc6e1c (diff) | |
download | FreeBSD-src-4ba8fc2916269d5e26598123350515d24ab4f5a3.zip FreeBSD-src-4ba8fc2916269d5e26598123350515d24ab4f5a3.tar.gz |
Multi-queue NIC drivers and multi-port lagg tend to use the same lower
bits of the flowid as each other, resulting in a poor distribution of
packets among queues in certain cases. Work around this by adding a
set of sysctls for controlling a bit-shift on the flowid when doing
multi-port aggrigation in lagg and lacp. By default, lagg/lacp will
now use bits 16 and higher instead of 0 and higher.
Reviewed by: max
Obtained from: Netflix
MFC after: 3 days
Diffstat (limited to 'sys/net/if_lagg.h')
-rw-r--r-- | sys/net/if_lagg.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/net/if_lagg.h b/sys/net/if_lagg.h index 0db8da8..e52f901 100644 --- a/sys/net/if_lagg.h +++ b/sys/net/if_lagg.h @@ -231,6 +231,7 @@ struct lagg_softc { struct sysctl_ctx_list ctx; /* sysctl variables */ struct sysctl_oid *sc_oid; /* sysctl tree oid */ int use_flowid; /* use M_FLOWID */ + int flowid_shift; /* shift the flowid */ }; struct lagg_port { |