aboutsummaryrefslogtreecommitdiff
path: root/lib/bond.h
diff options
context:
space:
mode:
authorEthan Jackson <ethan@nicira.com>2011-04-13 17:58:26 -0700
committerEthan Jackson <ethan@nicira.com>2011-04-15 11:04:04 -0700
commit5827ce14d087a18ede839c39ce3438e0b0e6f717 (patch)
tree331acd89e23782a85e234844a7645888fee27d74 /lib/bond.h
parent0f1a47f108ba6c599b252bc1b17ea59609d60e09 (diff)
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.
Diffstat (limited to 'lib/bond.h')
-rw-r--r--lib/bond.h9
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/bond.h b/lib/bond.h
index 1e8ea7e1..cb6563af 100644
--- a/lib/bond.h
+++ b/lib/bond.h
@@ -24,7 +24,6 @@
#include "tag.h"
struct flow;
-struct lacp_slave_settings;
struct netdev;
struct ofpbuf;
@@ -65,8 +64,7 @@ struct bond_settings {
/* Legacy compatibility. */
bool fake_iface; /* Update fake stats for netdev 'name'? */
- /* LACP. */
- struct lacp_settings *lacp; /* NULL to disable LACP. */
+ const struct lacp *lacp; /* LACP for this bond. May be NULL. */
};
/* Program startup. */
@@ -77,8 +75,7 @@ struct bond *bond_create(const struct bond_settings *);
void bond_destroy(struct bond *);
bool bond_reconfigure(struct bond *, const struct bond_settings *);
-void bond_slave_register(struct bond *, void *slave_, struct netdev *,
- const struct lacp_slave_settings *);
+void bond_slave_register(struct bond *, void *slave_, struct netdev *);
void bond_slave_unregister(struct bond *, const void *slave);
void bond_run(struct bond *, struct tag_set *);
@@ -101,8 +98,6 @@ enum bond_verdict bond_check_admissibility(struct bond *, const void *slave_,
tag_type *);
void *bond_choose_output_slave(struct bond *,
const struct flow *, uint16_t vlan, tag_type *);
-void bond_process_lacp(struct bond *, void *slave,
- const struct ofpbuf *packet);
/* Rebalancing. */
void bond_account(struct bond *, const struct flow *, uint16_t vlan,