aboutsummaryrefslogtreecommitdiff
path: root/lib/lacp.h
AgeCommit message (Collapse)Author
2011-09-08lacp: Clean up LACP module interface.Ethan Jackson
There's no particular reason to force users of the LACP module to be aware of the lacp_pdu structure. This patch hides that information in the LACP module implementation. This results in slightly cleaner code which is more consistent with the CFM module.
2011-05-06lacp: New "lacp-heartbeat" mode.Ethan Jackson
This commit creates a new heartbeat mode for LACP. This mode treats LACP as a protocol simply for monitoring link status. It strips out most of the sanity checks built into the protocol. Addition of this mode makes "lacp-force-aggregatable" and "lacp-strict" options obsolete so they are removed.
2011-04-26lacp: Allow configurable aggregation keys.Ethan Jackson
Users will the ability to manually set aggregation keys on a per-slave basis in order to use some of the more advanced LACP features. Most notably, LACP controlled active-backup bonding requires fine grained aggregation key configuration.
2011-04-26lacp: New other_config setting "lacp-force-aggregatable".Ethan Jackson
In some extremely advanced situations, one may want to force non-bondable slaves to advertise themselves as bondable. This patch adds that capability. Also includes some minor code cleanup.
2011-04-19lacp: Implement custom timing mode.Ethan Jackson
With this patch, the LACP module may be manually configured to use an arbitrary transmission rate set in the database.
2011-04-19lacp: Remove LACP_[FAST|SLOW]_TIME_RX macros.Ethan Jackson
The receive rate for a LACP packets is simply 3 times the transmission rate. It doesn't make sense to maintain separate macros for these values especially since future patches will allow arbitrary transmission rates.
2011-04-19lacp: Move LACP packet data to lacp header file.Ethan Jackson
2011-04-19lacp: New "strict" lacp mode.Ethan Jackson
When LACP negotiations are unsuccessful, OVS falls back to standard balance-slb bonding. In some cases, users may want to require successful LACP negotiations for any slaves to be enabled at all. This patch implements a new "strict" mode which disables all slaves when LACP negotiations are unsuccessful.
2011-04-18lacp: New function lacp_slave_is_current().Ethan Jackson
Used in future patches.
2011-04-14lacp: Remove enabled flag.Ethan Jackson
The enabled flag in the LACP module was only used to set the Collecting and Distributing flags in the LACP protocol. It was intended to be set by the bonding code to mimic its enabled flag. The spec is relatively vague on the precise meaning of these flags, and most implementations do something completely different with them. For these reasons, it seems acceptable to remove the enabled flag for the sake of simplicity. A slave is now Collecting and Distributing if it is attached, or LACP couldn't be negotiated.
2011-04-13lacp: New function lacp_slave_get_port_id().Ethan Jackson
Will be used in future commits.
2011-04-01lacp: Encapsulate configuration into new structs.Ben Pfaff
This makes it easier to pass configuration between modules.
2011-04-01bridge: Drop LACP configuration members from struct iface and struct port.Ben Pfaff
There's no reason that I can see to maintain this information in struct port and struct iface. It's redundant, since the lacp implementation maintains the same information.
2011-04-01lacp: Remove unneeded forward references from header file.Ben Pfaff
2011-04-01lacp: Fix misleading prototype for lacp_configure().Ben Pfaff
Only the first 6 bytes (ETH_ADDR_LEN) of the 'sys_id' argument are used, but the prototype declared it as an array of 8 bytes. This has no effect on the generated code--the declared size of an array parameter is irrelevant--but it is misleading. Also, add 'const' since the array is not modified.
2011-03-18lacp: Enable "fast" lacp timing mode.Ethan Jackson
2011-03-18vswitchd: Modularize LACP.Ethan Jackson
This commit pulls LACP code out of the bridge into its own LACP module. Currently this module is only used by the existing bonding infrastructure.