summaryrefslogtreecommitdiff
path: root/vswitchd/INTERNALS
diff options
context:
space:
mode:
authorEthan Jackson <ethan@nicira.com>2010-12-03 16:41:34 -0800
committerEthan Jackson <ethan@nicira.com>2010-12-06 13:59:43 -0800
commite58de0e38647f0ee62a8862e3565e5b788a03a7e (patch)
tree28be48337dd779e7fe974ea92b0b465369855a12 /vswitchd/INTERNALS
parent557c178b3147e8a1a5491010ee99f36dcaf7f1ab (diff)
downloadopenvswitch-e58de0e38647f0ee62a8862e3565e5b788a03a7e.tar.gz
vswitchd: Incorporate vlan into bond hash.
With this patch vlan tags are incorporated into bond hashes in addition to the source mac address. NIC-294
Diffstat (limited to 'vswitchd/INTERNALS')
-rw-r--r--vswitchd/INTERNALS13
1 files changed, 7 insertions, 6 deletions
diff --git a/vswitchd/INTERNALS b/vswitchd/INTERNALS
index 300175627..6c1bdc16b 100644
--- a/vswitchd/INTERNALS
+++ b/vswitchd/INTERNALS
@@ -106,12 +106,13 @@ Bond Packet Output
------------------
When a packet is sent out a bond port, the bond slave actually used is
-selected based on the packet's source MAC (see choose_output_iface()).
-In particular, the source MAC is hashed into one of 256 values, and
-that value is looked up in a hash table (the "bond hash") kept in the
-"bond_hash" member of struct port. The hash table entry identifies a
-bond slave. If no bond slave has yet been chosen for that hash table
-entry, vswitchd chooses one arbitrarily.
+selected based on the packet's source MAC and VLAN tag (see
+choose_output_iface()). In particular, the source MAC and VLAN tag
+are hashed into one of 256 values, and that value is looked up in a
+hash table (the "bond hash") kept in the "bond_hash" member of struct
+port. The hash table entry identifies a bond slave. If no bond slave
+has yet been chosen for that hash table entry, vswitchd chooses one
+arbitrarily.
Every 10 seconds, vswitchd rebalances the bond slaves (see
bond_rebalance_port()). To rebalance, vswitchd examines the