summaryrefslogtreecommitdiffstats
path: root/sys/net/ieee8023ad_lacp.h
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2007-05-15 07:41:46 +0000
committerthompsa <thompsa@FreeBSD.org>2007-05-15 07:41:46 +0000
commit1eb8d76bed26546baab610bdf8db03724e5e4b16 (patch)
tree9b46ae887a0094102a87bddd505c6bca8a08d5cf /sys/net/ieee8023ad_lacp.h
parentc7b3a722a96766bc84c8f96b03aa1cf5ce003d34 (diff)
downloadFreeBSD-src-1eb8d76bed26546baab610bdf8db03724e5e4b16.zip
FreeBSD-src-1eb8d76bed26546baab610bdf8db03724e5e4b16.tar.gz
Change from a mutex to a read/write lock. This allows the tx port to be
selected simultaneously by multiple senders and transmit/receive is not serialised between aggregated interfaces.
Diffstat (limited to 'sys/net/ieee8023ad_lacp.h')
-rw-r--r--sys/net/ieee8023ad_lacp.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/net/ieee8023ad_lacp.h b/sys/net/ieee8023ad_lacp.h
index 21ed62e..5761e3e 100644
--- a/sys/net/ieee8023ad_lacp.h
+++ b/sys/net/ieee8023ad_lacp.h
@@ -214,6 +214,8 @@ struct lacp_softc {
struct callout lsc_callout;
LIST_HEAD(, lacp_port) lsc_ports;
u_int32_t lsc_hashkey;
+ struct task lsc_qtask;
+ struct ifqueue lsc_queue; /* pdu input queue */
};
#define LACP_TYPE_ACTORINFO 1
@@ -262,8 +264,7 @@ struct markerdu {
#define LACP_PORT(_lp) ((struct lacp_port *)(_lp)->lp_psc)
#define LACP_SOFTC(_sc) ((struct lacp_softc *)(_sc)->sc_psc)
-int lacp_input(struct lagg_port *, struct mbuf *);
-int lacp_marker_input(struct lagg_port *, struct mbuf *);
+void lacp_input(struct lagg_port *, struct mbuf *);
struct lagg_port *lacp_select_tx_port(struct lagg_softc *, struct mbuf *);
int lacp_attach(struct lagg_softc *);
int lacp_detach(struct lagg_softc *);
OpenPOWER on IntegriCloud