2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-17 14:28:02 +00:00
Commit Graph

12 Commits

Author SHA1 Message Date
Ethan Jackson
296f651909 bond: Use CFM for slave status.
With this patch, if CFM is configured on a slave, and in a faulted
state, it will be disabled by the bond module.
2011-05-20 15:54:08 -07:00
Ethan Jackson
1670c579a8 netdev: Take responsibility for polling MII registers.
This patch moves miimon logic from the bond module to netdev-linux.
This greatly simplifies the bonding code while adding minimal
complexity to netdev-linux.  The bonding code is so high level, it
really has no business worrying about how precisely slave status is
determined.
2011-05-20 12:55:36 -07:00
Ben Pfaff
0079481775 Merge 'master' into 'next'. 2011-05-12 12:05:42 -07:00
Ethan Jackson
75135fa0b5 bond: Convert stb_id to 32bit parameter.
The 16 bits currently in use is artificially restrictive.
2011-05-06 13:48:41 -07:00
Ben Pfaff
f8ddccd285 bond: New function bond_slave_set_netdev().
To be used by an upcoming change.
2011-05-04 10:26:58 -07:00
Ethan Jackson
672d18b296 bond: New bond-hash-basis setting. 2011-04-26 11:05:28 -07:00
Ethan Jackson
4d6fb5ebd0 bond: Completely pull LACP module out of bond.
The bonding code only needs to know whether a given slave may be
enabled, and whether LACP has been negotiated on the bond.  Instead
of passing in the LACP handle and letting the bond query this
information.  This patch passes in the information directly.
2011-04-15 12:19:26 -07:00
Ethan Jackson
e1e9054895 bond: Create new 'stable_id' parameter.
For BM_STABLE bonds, instead of choosing the sort key in the
qsort() comparator, this patch makes it a configuration setting of
each slave.  This will help wrest LACP out of the bonding code
further in future patches.
2011-04-15 11:15:57 -07:00
Ethan Jackson
5827ce14d0 bond: Give bridge control over LACP module.
Before this patch, the bonding code had taken over responsibility
for running the LACP module.  However, the bonding code only needs
the LACP module for some basic status queries.  LACP and bonding
are actually logically parallel modules and do not really have a
parent child relationship.  Furthermore, we need to be able to run
LACP on non-bonded interfaces which the existing approach
prevented.  This patch gives control of the LACP module back to the
bridge.
2011-04-15 11:04:04 -07:00
Ethan Jackson
fb0b29a3c9 bond: New bonding mode "stable".
Stable bonds attempt to assign a given flow to the same slave
consistently.
2011-04-14 11:08:29 -07:00
Ethan Jackson
59d7b2b656 bond: Reconfigure flows when bond mode changes.
Changes in the bonding mode can cause drastic changes in flow
assignments to slaves.  This commit causes all flows in a bridge
to be revalidated when bond_reconfigure() changes its bonding mode.
This approach is a bit aggressive, but bond reconfiguration
shouldn't happen often.
2011-04-12 17:53:24 -07:00
Ben Pfaff
f620b43af1 bridge: Break bonding implementation out into library.
This removes over 1000 lines of code from bridge.c and will make it
easier to moving the bonding implementation into ofproto as part of
future development.
2011-04-01 15:52:20 -07:00