diff options
author | Ethan Jackson <ethan@nicira.com> | 2011-11-28 13:54:08 -0800 |
---|---|---|
committer | Ethan Jackson <ethan@nicira.com> | 2012-01-23 14:29:11 -0800 |
commit | bdebeece558fbeebb87c17b11a8468d88875037d (patch) | |
tree | 685ca46e8f860338f77ee1f4769bb4452f476cde /lib/lacp.h | |
parent | 26fbdf773f546f653d67f1bf022ff9021cefc062 (diff) | |
download | openvswitch-bdebeece558fbeebb87c17b11a8468d88875037d.tar.gz |
lacp: Require successful LACP negotiations when configured.
In the original Open vSwitch LACP implementation, when no slaves
found a LACP partner, the LACP module would attach all of them.
This allowed the LACP bond to fall back to a standard bond when
partnered with a non-LACP switch. In practice, this has caused
confusion with marginal benefit, so this feature is removed with
this patch.
Signed-off-by: Ethan Jackson <ethan@nicira.com>
Diffstat (limited to 'lib/lacp.h')
-rw-r--r-- | lib/lacp.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/lacp.h b/lib/lacp.h index 1d717d608..293fc454d 100644 --- a/lib/lacp.h +++ b/lib/lacp.h @@ -29,6 +29,12 @@ enum lacp_time { LACP_TIME_CUSTOM /* Nonstandard custom mode. */ }; +enum lacp_status { + LACP_NEGOTIATED, /* Successful LACP negotations. */ + LACP_CONFIGURED, /* LACP is enabled but not negotiated. */ + LACP_DISABLED /* LACP is not enabled. */ +}; + struct lacp_settings { char *name; /* Name (for debugging). */ uint8_t id[ETH_ADDR_LEN]; /* System ID. Must be nonzero. */ @@ -48,7 +54,7 @@ bool lacp_is_active(const struct lacp *); void lacp_process_packet(struct lacp *, const void *slave, const struct ofpbuf *packet); -bool lacp_negotiated(const struct lacp *); +enum lacp_status lacp_status(const struct lacp *); struct lacp_slave_settings { char *name; /* Name (for debugging). */ |